summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/pbibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-05-18 18:19:00 +0000
committerKarl Berry <karl@freefriends.org>2010-05-18 18:19:00 +0000
commita9eff7800c1787b0af5f140437003eea9e53cbb3 (patch)
tree6a6bee46035290fe65d79ff8cae90279eca08759 /Master/texmf-dist/pbibtex
parent8c3ddaae131e42eb2318cfe675eaff5a184892e1 (diff)
towards 2010 pretest: enabling restricted write18, PDF 1.5 by default, ptex support files, other new programs, with i386-linux binaries
git-svn-id: svn://tug.org/texlive/trunk@18336 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/pbibtex')
-rw-r--r--Master/texmf-dist/pbibtex/bib/jxampl.bib798
-rw-r--r--Master/texmf-dist/pbibtex/bst/jabbrv.bst1366
-rw-r--r--Master/texmf-dist/pbibtex/bst/jalpha.bst1551
-rw-r--r--Master/texmf-dist/pbibtex/bst/jipsj.bst1393
-rw-r--r--Master/texmf-dist/pbibtex/bst/jname.bst1583
-rw-r--r--Master/texmf-dist/pbibtex/bst/jorsj.bst1403
-rw-r--r--Master/texmf-dist/pbibtex/bst/jplain.bst1385
-rw-r--r--Master/texmf-dist/pbibtex/bst/junsrt.bst1221
-rw-r--r--Master/texmf-dist/pbibtex/bst/tieice.bst1299
-rw-r--r--Master/texmf-dist/pbibtex/bst/tipsj.bst1274
10 files changed, 13273 insertions, 0 deletions
diff --git a/Master/texmf-dist/pbibtex/bib/jxampl.bib b/Master/texmf-dist/pbibtex/bib/jxampl.bib
new file mode 100644
index 00000000000..3ae16ef5886
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bib/jxampl.bib
@@ -0,0 +1,798 @@
+@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}"
+}
+
+$B0J2<$OF|K\8l$N%9%?%$%k$N%F%9%HMQ$N%G!<%?72!%(B
+
+@INBOOK{inbook-full-j,
+ author = "$B%I%J%k%I!&%@%C%/(B",
+ yomi = "Donald Duck",
+ title = "$B4pK\;;K!(B",
+ volume = 1,
+ series = "$B<j2s$77W;;5!$NN"5;=8(B",
+ publisher = "$BNSFn=PHG(B",
+ address = "$BEl5~(B, $BD4I[;T(B",
+ edition = "$BBh(B2$BHG(B",
+ month = "4$B7n(B1$BF|(B",
+ year = 1963,
+ chapter = "$BBh(B1.2$B@a(B",
+ pages = "10--119",
+ note = "$B$$$s$A$-(B"
+}
+
+@INCOLLECTION{incol-full-j-1,
+ author = "$B%I%J%k%I!&%O%C%/(B",
+ yomi = "Donald Hack",
+ booktitle = "{$B5f6K$N(BJBibTeXing}",
+ number = 1,
+ series = "$B$3$l$G$o$+$k$+$J!)9V:B(B",
+ publisher = "$BK-Eg1`=PHG(B",
+ address = "$BEl5~(B, $BN}GO6h(B",
+ edition = "$BBh(B1$BHG(B",
+ month = "11$B7n(B7$BF|(B",
+ year = 1991,
+ chapter = "$BBh(B6.2$B@a(B",
+ pages = 321,
+ note = "$B%F%9%HMQ(B"
+}
+
+@ARTICLE{article-crossref-j,
+ crossref = {WHOLE-JOURNAL-J},
+ key = "",
+ author = "$BF?L>!!4uK>(B",
+ yomi ="Kibou Tokumei",
+ title = {$BO@J8MpB$$NN"5;65$($^$9(B},
+ pages = "73+",
+ note = "$B$3$l$OJ88%%j%9%HFb;2>H$7$F$$$k(BARTICLE$B$NNc(B"
+}
+
+@ARTICLE{article-crossref-jj,
+ crossref = {WHOLE-JOURNAL-J},
+ key = "",
+ author = "$BF?L>(B $B4uK>(B",
+ yomi ="Kibou Tokumei",
+ title = {$BO@J8MpB$$NN"5;65$($^$9!$$=$N#2(B},
+ pages = "83+",
+ note = "$B$3$l$OJ88%%j%9%HFb;2>H$7$F$$$k(BARTICLE$B$NNc(B"
+}
+
+@ARTICLE{whole-journal-j,
+ key = "Big",
+ journal = {Big Tomorrow$B$G$J$/(BSmall Yesterday},
+ year = 1986,
+ volume = 41,
+ number = 7,
+ month = jul,
+ note = {$B$$$+$K$7$F<jH4$-$7$F=P@$$9$k$+!$%$%s%A%-$GLY$1$k$+$NFC=89f!*(B}
+}
+
+@INBOOK{inbook-crossref-j,
+ crossref = "whole-set-j",
+ title = "{$B5f6K$N(BJBibTeXing}",
+ volume = "$BBh(B1$B4,(B",
+ series = "$B$3$l$G$o$+$k$+$J!)9V:B(B",
+ edition = "$BBh(B1$BHG(B",
+ year = 1991,
+ chapter = "$BBh(B3.5$B@a(B",
+ note = "$BJ88%%j%9%HFb;2>H$r$7$F$$$k(BINBOOK$B$NNc!#(B"
+}
+
+@BOOK{whole-set-j,
+ author = "$B%I%J%k%I!&%O%C%/(B",
+ yomi = "Donald Hack",
+ title = "$B$3$l$G$o$+$k$+$J!)9V:B(B",
+ volume = "$BA4(B13$B4,(B",
+ publisher = "$BK-Eg1`=PHG(B",
+ address = "$BEl5~(B, $BN}GO6h(B",
+ year = 1991,
+ note = "13$B4,$rM=Dj$O$7$F$$$k$,!$Dy@Z$r<i$i$J$$Cx<T$N$3$H$@$+$i!)$3$l$O%7%j!<%:A4BN$,;2>H$5$l$F$$$kNc!%(B"
+}
+
+@INBOOK{inbook-crossref-j-1,
+ crossref = "whole-set-j",
+ title = "{$B$O$8$a$F$N(BJBibTeXing}",
+ series = "$B$3$l$G$o$+$k$+$J!)9V:B(B",
+ edition = 1,
+ year = "{\noopsort{1973b}}1973",
+ chapter = "3.5",
+ type = "$B@a(B",
+ note = "$BJ88%%j%9%HFb;2>H$r$7$F$$$k(BINBOOK$B$NNc!*(B"
+}
+
+@string(ieeeassp={IEEE Trans. Acoust., Speech \& Signal Process.})
+
+@booklet{cvs,
+ title="{CVS$B5;=Q%l%]!<%H(B}",
+ author="$B5!3#?66=6(2q(B",
+ yomi="KikaiSinkouKyoukai",
+ year="$B><(B52"}
+
+@article{ha,
+ title="$B8DJL50F;M"Aw%7%9%F%`==;zO)IU6a$N%b%G%k2=$H$=$N2r@O(B",
+ author="$BIM>>(B $BK'IW(B and $BCfED(B $B>!<#(B and $B2CCO(B $B0jIW(B",
+ yomi="Yoshio Hamamatsu and Katsuji Nakata and Ikuo Kaji",
+ journal= tieice # "(A)", volume="J64-A", number=10, pages="835-842",
+ year=1982}
+@article{costa,
+ author="J. M. Costa and A. N. Venetsanopoulos",
+ title="Design of circularly symmetric two-demensional recursive filters",
+ journal=ieeeassp,
+ volume="ASSP-22",number=6,pages="432-443",year=1974}
+@inproceedings{mcclella,
+ author="J. H. McClellan",
+ title="The design of two-dimensional digital filters by transformation",
+ booktitle="Proc. 7th Annu. Princeton Conf. Inform. Sci. \& Systm.",
+ pages="247-251", year=1973}
+@book{dug,
+ author="D. E. Dudgen and R. M. Mersereau",
+ title="Multideimensional digital signal processing",
+ publisher="Prentice-Hall",year=1984}
+@inproceedings{sakawa,
+ author="M. Sakawa and H. Yano",
+ title="Interactive decision making for multiobjective linear
+ programming problems with fuzzy parameters",
+ booktitle="Large-Scale Modeling and Interactive Decision Analysis,
+ Proceedings, Eisenach, GDR",
+ editor="G. Fandel and M. Grauer and A. Kurzhanski and A. P. Wierzbiki",
+ publisher="Springer-Verlag", pages="88-96",year=1986}
+@manual{ssl,
+ title="SSL~II$B;HMQ<j0z=q(B",year=1980,
+ organization="$BIY;NDL(B",
+ yomi="Fujitsu"}
+@book{newman,
+ author="J. R. Norman",
+ title="The World of Mathematics, 4 vols.",
+ publisher="Simon and Schuster",
+ year=1956,
+ note="($BK]Lu(B~: $BNS(B $BM:0lO/LuJT(B~: ``$B?t3X$HO@M}$H(B'', $BEl5~?^=q(B(1970))"
+ }
+@book{Rich,
+ author="Elaine A. Rich",
+ title="Artificial Intelligence",
+ series="McGraw-Hill Series in Artificial Intelligence",
+ publisher="McGraw-Hill Book Company", year=1983,
+ note="($BK]Lu(B~: $BW"ED(B, $B5\B<(B $BLu(B~: ``$B?M9)CNG=(B I, II'',$B%^%0%m%&%R%k(B(1984))"}
+
+@STRING(GIH={$B8eF#(B $B1Q0l!"0l>>(B $B?.!"9-ED(B $BNI8c(B})
+@STRING($B>pJs=hM}3X2q(B={$B>pJs=hM}3X2q(B})
+
+@INCOLLECTION{goto,
+ author="$B8eF#!!1Q0l(B",
+ title="$B7W;;5!$K$h$k?t<0=hM}$H$O(B",
+ pages="4--6",
+ editor=GIH,
+ booktitle="$B7W;;5!$K$h$k?t<0=hM}$N$9$9$a(B",
+ series="$B%3%s%T%e!<%?!&%5%$%(%s%9(B\ {\bf bit}\ $BJL:}(B",
+ publisher="$B6&N)=PHG(B",
+ yomi="Eiichi Goto",
+ year="$B><(B61-4" }
+@UNPUBLISHED{$B0k:j(B,
+ author="$B0k:j(B $B=(<y(B",
+ title="How To Use {\JLaTeX}",
+ note="memo for {\JLaTeX}",
+ yomi="Hideki Isozaki",
+ year=1987}
+@MANUAL{$B@FF#(B,
+ author="$B@FF#(B $B9/8J(B",
+ title="$BF|K\8l(B{\TeX}:~{\JTeX}",
+ yomi="Yasuki Saitoh",
+ organization="DECUS$BBh(B7$B2s%7%s%]%8%&%`G[IU;qNA(B", year=1987}
+@BOOK{sym,
+ editor="Janusz S. Kowalik",
+ title="Coupling Symbolic and Numerical Computing in Expert Systems",
+ publisher="North-Holland",year=1986}
+@INCOLLECTION{eda,
+ author="F. N. Springsteel",
+ title="A Multilevel Expert System for Explaratory Data Analysis",
+ pages="295--306",
+ editor="Janusz S. Kowalik",
+ booktitle="Coupling Symbolic and Numerical
+ Computing in Expert Systems",
+ publisher="North-Holland",year=1986}
+ }
+@BOOK{dss,
+ editor="Clyde W. Holsapple and Andrew B. Whinston",
+ title="Decision Support Systems: Theory and Application",
+ publisher="North-Holland",year=1987}
+@INCOLLECTION{cm,
+ author="Amilcar Sernads and Cristina Sernads",
+ title="Conceptual Modeling for Knowledge-Based DSS Development",
+ editor="Clyde W. Holsapple and Andrew B. Whinston",
+ booktitle="Decision Support Systems: Theory and Application",
+ pages="91--135",year=1987,
+ publisher="North-Holland"}
+@BOOK{reduce,
+ editor=GIH,
+ yomi="E. Goto and S. Hitotsumatsu and R. Hirota",
+ title="$B7W;;5!$K$h$k?t<0=hM}$N$9$9$a(B",
+ series="$B%3%s%T%e!<%?!&%5%$%(%s%9(B\ {\bf bit}\ $BJL:}(B",
+ publisher="$B6&N)=PHG(B",
+ year="1986"}
+@ARTICLE{fp,
+ author="Shouichi Matsui and Masao Iri",
+ title="An Overflow/Underflow-Free Floating-Point Representation of Numbers",
+ journal="Journal of Information Processing",
+ volume=4,number=3,pages="123--133",
+ month=nov,year=1981}
+@ARTICLE{la,
+ author="Masao Iri and Kazuo Murota and Shouichi Matsui",
+ title="Linear-time approximation algorithms for finding the
+ minimum-weight perfect matching on a plane",
+ journal=ipl,volume=12,pages="206-209",year=1981
+}
+@ARTICLE{$B$"$U$lL5$7(B,
+ author="$B>>0f(B $B@50l(B and $B0KM}(B $B@5IW(B",
+ title="$B$"$U$l$N$J$$IbF0>.?tE@I=<(J}<0(B",
+ journal="$B>pJs=hM}3X2qO@J8;o(B", volume=21, number=4, pages="306--313",
+ yomi="Shouichi Matsui and Masao Iri",
+ year=1980}
+@ARTICLE{$B%@%`(B,
+ title="$BCN<19)3XE*<jK!$K4p$E$/?eNO9]9=B$J*$N<wL?M=B,(B",
+ author="$BCfB<(B $B=(<#!"(B $B>>1:(B $B??0l!"(B $B>>0f(B $B@50l(B and $B;{Ln(B $BN4M:(B",
+ journal="$BEZLZ3X2qO@J8=8(B",number="368/I-5",
+ pages="301--310",
+ yomi="Hideharu Nakamura and Shinichi Matsuura and Shouichi Matsui and
+ Takao Terano",
+ year=1986,month=apr}
+@BOOK{$B?ML>I=5-(B,
+ author="$B%^!<%/!&%T!<%?!<%;%s(B",
+ title="$BF|K\?M$N1Q8l(B",
+ publisher="$B4dGH=qE9(B",
+ year=1988, month=apr,
+ pages=196,
+ yomi="Mark Petersen",
+ series="$B4dGH?7=q(B($B?7@VHG(B) 18",
+ note="pp. 187--189
+ $B1Q8l$G$NF|K\?M$NL>A0$N=q$-J}(B,
+ $BF|K\$N9q:]2=$N$?$a$K$OL@<#;~Be$+$i$N9M$(J}$r$3$N$"$?$j$G$d$a$?$i$I$&$+(B
+ Shouichi Matsui $B$G$J$/(B Matsui Shouichi"
+}
+
+@MISC{EUC$BF|K\8l(BTeX,
+ author="$B>>0f!!@50l(B",yomi="Matsui, Shouichi",
+ title="{NTT}$BHGF|K\8l(B{\TeX}: {\JTeX}$B$N;H$$J}(B",
+ year=1988, month=may,
+ note="$BEENOCf1{8&5f=j(B $B>pJs%7%9%F%`It(B $BFbIt%a%b(B"
+}
+
+@INPROCEEDINGS{multi,
+ author="$B>>0f!!@50l!$<D86!!Lw;V!$Bg20!!N4@8!"9b66(B $B@?(B",
+ yomi="Shouichi Matsui and Yasusi Sinohara and Takao Ohya and
+ Makoto Takahashi",
+ title="$B%^%k%A%a%G%#%"$r3hMQ$7$?0U;W7hDj;Y1g%7%9%F%`$N3+H/(B",
+ booktitle="$B!VMxMQ<T;V8~$N>pJs%7%9%F%`!W%7%s%]%8%&%`M=9F=8(B",
+ publisher=$B>pJs=hM}3X2q(B,pages="39--48",year=1986,month=jul
+}
+
+@BOOK{marumoji,
+ author="$B;3:,!!0l??(B", yomi="K. Yamane",
+ title="$BJQBN>/=wJ8;z$N8&5f(B",publisher="$B9VCL<R(B",
+ year=1986,pages=230
+}
+
+@ARTICLE{maru,
+ author="$BL#2,!!?-B@O:(B", yomi="Taro Ajioka",
+ title="$B2#=q$-$GJ8;z$r=q$1$P<+A3$H%^%k;z$K$J$k(B",
+ journal="$B$H$h$O$7I4A*!c2F9f!d(B",number="$BDL4,(B37$B9f(B",
+ pages=25,publisher="$BEl0&CN?7J9<R(B",year=1986
+}
+
+yomi $B$KJ?2>L>$r;H$&Nc(B
+
+@INCOLLECTION{goto-h,
+ author="$B8eF#(B $B1Q0l(B",
+ title="$B7W;;5!$K$h$k?t<0=hM}$H$O(B",
+ pages="4--6",
+ crossref="reduce",
+ yomi="{\noop{$B$4$H$&(B}$B8e(B}$BF#(B",
+ year=1986 }
+@UNPUBLISHED{$B0k:j(B-h,
+ author="$B0k:j(B $B=(<y(B",
+ title="How To Use {\JLaTeX}",
+ note="memo for {\JLaTeX}",
+ yomi="{\noop{$B$$$=$6$-(B}$B0k(B}$B:j(B",
+ year=1987}
+@MANUAL{$B@FF#(B-h,
+ author="$B@FF#(B $B9/8J(B",
+ title="$BF|K\8l(B{\TeX}:~{\JTeX}",
+ yomi="{\noop{$B$5$$$H$&(B}$B@F(B}$BF#(B",
+ organization="DECUS$BBh(B7$B2s%7%s%]%8%&%`G[IU;qNA(B", year=1987}
+@INPROCEEDINGS{multi-h,
+ author="$B>>0f(B $B@50l!"<D86(B $BLw;V!"Bg20(B $BN4@8!"9b66(B $B@?(B",
+ yomi="{\noop{$B$^$D$$(B}$B>>(B}$B0f(B",
+ title="$B%^%k%A%a%G%#%"$r3hMQ$7$?0U;W7hDj;Y1g%7%9%F%`$N3+H/(B",
+ booktitle="$B!VMxMQ<T;V8~$N>pJs%7%9%F%`!W%7%s%]%8%&%`M=9F=8(B",
+ publisher=$B>pJs=hM}3X2q(B,pages="39--48",year=1986,month=jul
+ }
+
+$B%=%U%H%&%'%"2J3X2qMQ$N%F%9%H%G!<%?(B
+
+@INPROCEEDINGS{ama,
+ author="M. Amamiya and R. Hasegawa and H. Mikami",
+ title="List Processing with Data Flow Machine",
+ booktitle="RIMS Symposium on Software Science and Engineering",
+ editor="E. Goto and Oozei Sonota and others",
+ publisher="Springer-Verlag",
+ year=1982,
+ pages="165--190"
+}
+
+@TECHREPORT{Arv,
+ author="Kathall V. Arvind and K. Pingali",
+ title="A Data Flow Architecture with Tagged Tokens",
+ type="MIT LCS Momo",
+ number="TM174",
+ year=1980
+}
+
+@BOOK{cha,
+ author="V. Chachra and P. M. Chare and J. M. Moore",
+ title="Applications of Graph Theory Algorithms",
+ publisher="Elsevier North Holland",
+ year=1979
+}
+
+@ARTICLE{dav,
+ author="D. Davidson and D. Landskov and B. D. Shriver and
+ P. W. Maliett",
+ title="Some experiments in Local Microcodes Compaction for
+ Horizontal Machines",
+ journal=ieeetc,
+ volume="C-30", number=7, month=jul, year=1981,
+ pages="460-477"
+}
+
+@inproceedings{den,
+ author="J. B. Dennis and D. P. Misunas",
+ title ="A Preliminary Architecture for a Basic Data Flow Processor",
+ booktitle="Proc. of the 2nd Int'l Symp. on Computer Architecture",
+ month=jan,year=1975,pages="126-132"
+}
+
+@article{fis,
+ author="J. A. Fisher",
+ title="Trace Scheduling: A Techinique for Global Microcode Compaction",
+ journal=ieeetc, volume="C-30",number=7,year=1981,pages="478-490"
+}
+
+@article{gajski,
+ author="D. D. Gajski and D. A. Padua and D. J. Kuck and Kuhn, R. H.",
+ title="A Second Optinion on Data Flow Machines and Languages",
+ journal="Computer",
+ volume=15, number=2, month=feb, year=1982, pages="58-69"
+}
+
+@inproceedings{suna1,
+ author="$B:=86!!=(<y!$=j!!??M}M:(B",
+ yomi="Hideki Sunahara and Mario Tokoro",
+ title="$B%G!<%?6nF07?7W;;5!$N<B9T@)8f$K4X$9$k9M;!(B",
+ booktitle="$B%G!<%?%U%m!<%o!<%/%7%g%C%W(B'86",
+ month=may, year=1986,
+ pages="83--89"
+}
+
+@inproceedings{suna2,
+ author="Hideki Sunahara and Mario Tokoro",
+ title="Half-Dynamic Scheduling with Data-flow Control",
+ booktitle="Presented at Int'l Conf. on SuperComputing",
+ address="Athens, Greece",
+ month="June 8--12",year=1987
+}
+
+@article{toko1,
+ author="M. Tokoro and E. Tamura and T. Takizuka",
+ title="Optimization of Microprograms",
+ journal=ieeetc,
+ month=jul,year=1981,
+ volume="C-30",number=7,pages="491--504"
+}
+
+@inproceedings{toko2,
+ author="M. Tokoro and J. R. Jagannathan and H. Sunahara",
+ title="On the Working Set Concepts for Data-flow Machines",
+ booktitle="Proc. of the 10th Int'l Symp. on Computer Architecture",
+ month=jun,year=1983,
+ pages="90-97"
+}
+
+@incollection{suna86,
+ author="Sunahara, H. and Tokoro, M.",
+ title="On the Working Set Concept for Data-flow Machines: Policies
+ and Their Evaluation",
+ booktitle="Fifth Generation Computer Architectures",
+ editor="Woods, J. V.",
+ publisher="North-Holland", year=1986, pages="147-160"
+}
+
+$B?M9)CNG=3X2q;oMQ%F%9%H%G!<%?(B
+
+@inproceedings{onda,
+ author="Onda, H. and Hasegawa, T. and Matsui, T.",
+ title="Collision Avoidance for a 6-DOF Manipulator Based on Empty
+ Space Analysis of 3-D Real World",
+ booktitle="IEEE Int. Workshop on Intelligent Robots and Systems",
+ address="Ibaraki",
+ year=1990
+}
+
+@article{$B6aF#(B,
+ author="$B6aF#!$LZB<(B",
+ yomi="Kondoh and Kimura",
+ title="$BLBO)K!$K4p$E$/<+M36u4V;;=PK!$rMQ$$$?>c32J*2sHrF0:n7W2h(B",
+ journal="$BF|K\%m%\%C%H3X2q;o(B",
+ volume=5,number=4,pages="263--272",
+ year=1987
+}
+
+@article{JSAI-1,
+ journal="$B?M9)CNG=3X2q;o(B",
+ key="JinkouTinouGakkai",
+ volume=5, number=4,
+ year=1990, month=jul,
+ note="$BFC=8!VJ,;6?M9)CNG=!W(B"
+}
+
+@incollection{grosz,
+ author="Grosz, B.",
+ title="The Representation and Use of Focus in a System For
+ Understanding Dialog",
+ booktitle="Natural Language Processing",
+ editor="B. Grosz and K. S. Jones and B. L. Webber",
+ publisher="Morgan Kaufram Publisher",
+ year="1979, in part 1986",
+ pages="353--362"
+}
+
diff --git a/Master/texmf-dist/pbibtex/bst/jabbrv.bst b/Master/texmf-dist/pbibtex/bst/jabbrv.bst
new file mode 100644
index 00000000000..4908e2374a6
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jabbrv.bst
@@ -0,0 +1,1366 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+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 {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$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}" format.name$ 't :=
+ t empty$
+ { s nameptr "{ll}" format.name$ 't :=
+ t " $B$K$O!$@+$HL>$N4V$K6uGr$,$J$$$h!)(B in " * cite$ * warning$
+ }
+ 'skip$
+ if$
+ }
+
+
+
+ {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=}
+
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ { numnames #2 =
+ {" and " * t * }
+ {", and " * t * }
+ if$
+ }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" ed." * } if$
+
+
+ }
+ 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 is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "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 is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "In " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "In " format.editors * ", " * booktitle emphasize * }
+
+ 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.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+ { "In {\em " journal * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "In " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"In "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+ {"In {\em " booktitle * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+
+ { "In " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"In " format.crossref.editor * }
+
+ if$
+ }
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+ {"et~al." *}
+ 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}
diff --git a/Master/texmf-dist/pbibtex/bst/jalpha.bst b/Master/texmf-dist/pbibtex/bst/jalpha.bst
new file mode 100644
index 00000000000..98ca091e33d
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jalpha.bst
@@ -0,0 +1,1551 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+
+ { label extra.label sort.label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+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 {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$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+ {s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=}
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$B$[$+(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ { numnames #2 =
+ {" and " * t * }
+ {", and " * t * }
+ if$
+ }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" * } {", editors" * } if$
+
+ }
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {", editor" * } if$
+
+ }
+ 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 is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+
+ { volume is.kanji.str$
+ {volume ", " * }
+ {"Vol." volume tie.or.space.connect ", " * }
+ if$
+ }
+
+
+ if$
+ number empty$
+ 'skip$
+
+ { number is.kanji.str$
+ {number *}
+ {"No." number tie.or.space.connect *}
+ if$
+
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "In " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "In " format.editors * ", " * booktitle emphasize * }
+
+ 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.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+ { "In {\em " journal * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "In " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$B$[$+(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$B$[$+(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"In "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+ {"In {\em " booktitle * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+
+ { "In " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"In " format.crossref.editor * }
+
+ if$
+ }
+ 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"}
+MACRO {tieice} {"$BEE;R>pJsDL?.3X2qO@J8;o(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"Journal of Informatin Processing Society of Japan"}
+MACRO {jorsj} {"Journal of the Operations Research Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's :=}
+ if$
+
+ s is.kanji.str$
+ { s #1 "{ff}" format.name$ #4 text.prefix$ duplicate$ empty$
+ {pop$ s #1 "{ll}" format.name$ #4 text.prefix$}
+ 'skip$
+ if$
+ }
+ {
+ 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$
+ }
+ 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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$B$[$+(B" * }
+
+ {"et~al." *}
+ 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
+ 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/pbibtex/bst/jipsj.bst b/Master/texmf-dist/pbibtex/bst/jipsj.bst
new file mode 100644
index 00000000000..abdb85040e2
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jipsj.bst
@@ -0,0 +1,1393 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.author}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #4 'after.author :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+ { ", " * write$ }
+
+ { output.state after.block =
+ {
+
+ add.period$ write$
+
+ newline$
+ "\newblock " write$
+ }
+
+ { output.state after.author =
+
+ { " " * write$
+
+ mid.sentence 'output.state :=
+ }
+ '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 =
+
+ { after.author 'output.state := }
+ 'skip$
+
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ 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$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+
+
+ {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=}
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" = t "others,~" = or
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {"{\rm, et~al.}" * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ {"{\rm\ and }" * t * }
+
+
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+
+ { "{\sc " author format.names * "}" * }
+
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+
+ { "{\sc " editor format.names * "}" *
+
+ editor num.names$ #1 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" ed." * } if$
+
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {"eds." swap$ * } if$
+
+ }
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {"ed." swap$ *} if$
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+
+{ after.author 'output.state :=
+ 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}
+
+{ before.all 'output.state :=
+ year empty$
+ { "there's no year in " cite$ * warning$
+ ""
+ }
+
+ { month empty$
+ { " (" year * ")" *}
+ { " (" month * " " * year * ")" * }
+ if$
+ }
+
+ if$
+}
+
+FUNCTION {format.btitle}
+
+{after.author '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$
+ { "" }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 * }
+ { " " pages * }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.year.pages}
+{ volume empty$
+ {""}
+
+ {", {\bf " volume * "}" * }
+
+ if$
+
+ number empty$
+ 'skip$
+ {", " number * * }
+ if$
+
+ year empty$
+ { "there's no year in " cite$ * warning$ }
+
+ { format.date * }
+
+ 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 is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle " (" * format.in.ed.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$
+ { "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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+
+ { "in {\em " journal * "\/}" * }
+
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "in " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"in "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+
+
+ {"in {\em " booktitle * "\/}" * }
+
+
+
+ if$
+ }
+ if$
+ }
+
+ { "in " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"in " format.crossref.editor * }
+
+ if$
+ }
+ 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.year.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.block
+
+ 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
+
+ new.block
+ format.number.series output
+
+ new.block
+
+ publisher "publisher" output.check
+ address output
+ }
+
+ {
+
+ new.block
+ 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
+ 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
+
+
+ new.block
+
+ publisher "publisher" output.check
+ address output
+ format.edition output
+
+ format.date "year" output.check
+
+ 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
+ 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
+
+ mid.sentence 'output.state :=
+
+
+ new.block
+
+ address empty$
+ { organization publisher new.sentence.checkb
+
+ new.block
+
+ organization output
+
+
+ new.block
+ mid.sentence 'output.state :=
+
+
+ publisher output
+
+ format.date "year" output.check
+
+ }
+ { address output.nonnull
+
+ format.date "year" output.check
+
+
+ new.block
+
+ organization output
+
+ mid.sentence 'output.state :=
+ new.block
+
+ 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.block
+
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+ {"et~al." *}
+ 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}
diff --git a/Master/texmf-dist/pbibtex/bst/jname.bst b/Master/texmf-dist/pbibtex/bst/jname.bst
new file mode 100644
index 00000000000..29d5b050ff4
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jname.bst
@@ -0,0 +1,1583 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+
+ { label extra.label sort.label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.author}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #4 'after.author :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+ { ", " * write$ }
+
+ { output.state after.block =
+ {
+
+ add.period$ write$
+
+ newline$
+ "\newblock " write$
+ }
+
+ { output.state after.author =
+
+ { author empty$ editor empty$ and organization empty$ and
+ {write$}
+
+ { author field.or.null is.kanji.str$
+ editor field.or.null is.kanji.str$ or
+ organization field.or.null is.kanji.str$ or
+ {"$B!'(B" * write$}
+ {": " * write$}
+ if$
+ }
+
+ if$
+
+ mid.sentence 'output.state :=
+ }
+ '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 =
+
+ { after.author 'output.state := }
+ 'skip$
+
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ 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 {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}" format.name$ 't :=
+ t empty$
+ { s nameptr "{ll}" format.name$ 't :=
+ t " $B$K$O!$@+$HL>$N4V$K6uGr$,$J$$$h!)(B in " * cite$ * warning$
+ }
+ 'skip$
+ if$
+ }
+
+
+
+ { nameptr #1 =
+ {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=}
+ {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=}
+ if$
+ }
+
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ { numnames #2 =
+ {" and " * t * }
+ {", and " * t * }
+ if$
+ }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" ed." * } if$
+
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+
+{ after.author 'output.state :=
+ 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}
+
+{ before.all 'output.state :=
+ year empty$
+ { "there's no year in " cite$ * warning$
+ ""
+ }
+
+
+
+ {", " year * }
+
+
+
+ if$
+}
+
+FUNCTION {format.btitle}
+
+{after.author '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$
+ { "" }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+
+ { volume is.kanji.str$
+ {volume ", " * }
+ {"Vol." volume tie.or.space.connect ", " * }
+ if$
+ }
+
+
+ if$
+ number empty$
+ 'skip$
+
+ { number is.kanji.str$
+ {number *}
+ {"No." number tie.or.space.connect *}
+ if$
+
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "in " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "in " format.editors * ", " * booktitle emphasize * }
+
+ 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.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+
+ { "in {\em " journal * "\/}" * }
+
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "in " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"in "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+
+
+ {"in {\em " booktitle * "\/}" * }
+
+
+
+ if$
+ }
+ if$
+ }
+
+ { "in " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"in " format.crossref.editor * }
+
+ if$
+ }
+ 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.block
+
+ 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.block
+
+ 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.block
+
+ 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
+
+
+
+ new.block
+
+ address empty$
+ { organization publisher new.sentence.checkb
+
+ new.block
+
+ organization output
+
+
+ mid.sentence 'output.state :=
+ new.block
+
+
+ publisher output
+
+ format.date "year" output.check
+
+ }
+ { address output.nonnull
+
+ format.date "year" output.check
+
+
+ new.block
+
+ organization output
+
+ mid.sentence 'output.state :=
+ new.block
+
+ 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.block
+
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's :=}
+ if$
+
+ s is.kanji.str$
+ { s #1 "{ff}" format.name$ #4 text.prefix$ duplicate$ empty$
+ { pop$ s #1 "{ll}" format.name$ #4 text.prefix$
+ s #1 "{ll}" format.name$ " $B$K$O!$@+$HL>$N4V$K6uGr$,$J$$$h!)(B in " *
+ cite$ * warning$
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+ {"et~al." *}
+ 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
+ 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/pbibtex/bst/jorsj.bst b/Master/texmf-dist/pbibtex/bst/jorsj.bst
new file mode 100644
index 00000000000..266016e8ec5
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jorsj.bst
@@ -0,0 +1,1403 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.author}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #4 'after.author :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+ { ", " * write$ }
+
+ { output.state after.block =
+ {
+
+ add.period$ write$
+
+ newline$
+ "\newblock " write$
+ }
+
+ { output.state after.author =
+
+ { author empty$ editor empty$ and organization empty$ and
+ {write$}
+
+ { author field.or.null is.kanji.str$
+ editor field.or.null is.kanji.str$ or
+ organization field.or.null is.kanji.str$ or
+ {"$B!'(B" * write$}
+ {": " * write$}
+ if$
+ }
+
+ if$
+
+ mid.sentence 'output.state :=
+ }
+ '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 =
+
+ { after.author 'output.state := }
+ 'skip$
+
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ 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 {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+
+
+ {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=}
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" = t "others,~" = or
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ {" and " * t * }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" ed." * } if$
+
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+
+{ after.author 'output.state :=
+ 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}
+
+{ before.all 'output.state :=
+ year empty$
+ { "there's no year in " cite$ * warning$
+ ""
+ }
+
+
+
+ {", " year * }
+
+
+
+ if$
+}
+
+FUNCTION {format.btitle}
+
+{after.author '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$
+ { "" }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 * }
+ { " " pages * }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.year.pages}
+{ volume empty$
+ {""}
+
+ { volume is.kanji.str$
+ { volume }
+ {"Vol." volume tie.or.space.connect }
+ if$
+ }
+
+ if$
+
+ year empty$
+ { "there's no year in " cite$ * warning$ }
+
+ { " (" year * ")" * *}
+
+ 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 is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "in " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "in " format.editors * ", " * booktitle emphasize * }
+
+ 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.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+
+ { "in {\em " journal * "\/}" * }
+
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "in " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"in "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+
+
+ {"in {\em " booktitle * "\/}" * }
+
+
+
+ if$
+ }
+ if$
+ }
+
+ { "in " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"in " format.crossref.editor * }
+
+ if$
+ }
+ 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.year.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.block
+
+ 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
+
+ new.block
+ format.number.series output
+
+ new.block
+
+ publisher "publisher" output.check
+ address output
+ }
+
+ {
+
+ new.block
+ 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
+ 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
+
+
+ new.block
+
+ publisher "publisher" output.check
+ address output
+ format.edition output
+
+ format.date "year" output.check
+
+ 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
+ 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
+
+ mid.sentence 'output.state :=
+
+
+ new.block
+
+ address empty$
+ { organization publisher new.sentence.checkb
+
+ new.block
+
+ organization output
+
+
+ new.block
+ mid.sentence 'output.state :=
+
+
+ publisher output
+
+ format.date "year" output.check
+
+ }
+ { address output.nonnull
+
+ format.date "year" output.check
+
+
+ new.block
+
+ organization output
+
+ mid.sentence 'output.state :=
+ new.block
+
+ 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.block
+
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+ {"et~al." *}
+ 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}
diff --git a/Master/texmf-dist/pbibtex/bst/jplain.bst b/Master/texmf-dist/pbibtex/bst/jplain.bst
new file mode 100644
index 00000000000..7fa9f8f74e4
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/jplain.bst
@@ -0,0 +1,1385 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+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 {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$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+ {s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=}
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$B$[$+(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ { numnames #2 =
+ {" and " * t * }
+ {", and " * t * }
+ if$
+ }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" * } {", editors" * } if$
+
+ }
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {", editor" * } if$
+
+ }
+ 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 is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+
+ { volume is.kanji.str$
+ {volume ", " * }
+ {"Vol." volume tie.or.space.connect ", " * }
+ if$
+ }
+
+
+ if$
+ number empty$
+ 'skip$
+
+ { number is.kanji.str$
+ {number *}
+ {"No." number tie.or.space.connect *}
+ if$
+
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "In " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "In " format.editors * ", " * booktitle emphasize * }
+
+ 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.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+ { "In {\em " journal * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "In " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$B$[$+(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$B$[$+(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"In "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+ {"In {\em " booktitle * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+
+ { "In " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"In " format.crossref.editor * }
+
+ if$
+ }
+ 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"}
+MACRO {tieice} {"$BEE;R>pJsDL?.3X2qO@J8;o(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"Journal of Informatin Processing Society of Japan"}
+MACRO {jorsj} {"Journal of the Operations Research Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+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 :=
+ yomi empty$
+ 'skip$
+ { yomi 's := }
+ if$
+ #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
+ { s is.kanji.str$
+
+ {"$B$[$+(B" * }
+
+ {"et~al." *}
+ 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}
diff --git a/Master/texmf-dist/pbibtex/bst/junsrt.bst b/Master/texmf-dist/pbibtex/bst/junsrt.bst
new file mode 100644
index 00000000000..51619ad423d
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/junsrt.bst
@@ -0,0 +1,1221 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+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 {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$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+ {s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=}
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$B$[$+(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ { numnames #2 =
+ {" and " * t * }
+ {", and " * t * }
+ if$
+ }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" * } {", editors" * } if$
+
+ }
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {", editor" * } if$
+
+ }
+ 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 is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+
+ { volume is.kanji.str$
+ {volume ", " * }
+ {"Vol." volume tie.or.space.connect ", " * }
+ if$
+ }
+
+
+ if$
+ number empty$
+ 'skip$
+
+ { number is.kanji.str$
+ {number *}
+ {"No." number tie.or.space.connect *}
+ if$
+
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "In " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "In " format.editors * ", " * booktitle emphasize * }
+
+ if$
+ }
+ 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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+ { "In {\em " journal * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "In " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$B$[$+(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$B$[$+(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"In "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+ {"In {\em " booktitle * "\/}" * }
+
+ if$
+ }
+ if$
+ }
+
+ { "In " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"In " format.crossref.editor * }
+
+ if$
+ }
+ 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"}
+MACRO {tieice} {"$BEE;R>pJsDL?.3X2qO@J8;o(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"Journal of Informatin Processing Society of Japan"}
+MACRO {jorsj} {"Journal of the Operations Research Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+
+
+
+
+
+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/pbibtex/bst/tieice.bst b/Master/texmf-dist/pbibtex/bst/tieice.bst
new file mode 100644
index 00000000000..b6731d3c469
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/tieice.bst
@@ -0,0 +1,1299 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.author}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #4 'after.author :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+ { ", " * write$ }
+
+ { output.state after.block =
+ {
+
+ add.period$ write$
+
+ newline$
+ "\newblock " write$
+ }
+
+ { output.state after.author =
+
+ { author empty$ editor empty$ and organization empty$ and
+ {write$}
+
+ { author field.or.null is.kanji.str$
+ editor field.or.null is.kanji.str$ or
+ organization field.or.null is.kanji.str$ or
+ {"$B!'(B" * write$}
+ {": " * write$}
+ if$
+ }
+
+ if$
+
+ mid.sentence 'output.state :=
+ }
+ '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 =
+
+ { after.author 'output.state := }
+ 'skip$
+
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ 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 {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}" format.name$ 't :=
+ t empty$
+ { s nameptr "{ll}" format.name$ 't :=
+ t " $B$K$O!$@+$HL>$N4V$K6uGr$,$J$$$h!)(B in " * cite$ * warning$
+ }
+ 'skip$
+ if$
+ }
+
+
+
+ {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=}
+
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" =
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ {" and " * t * }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" Eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" Ed." * } if$
+
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {"Eds.\ by " swap$ * } if$
+
+ }
+ { editor is.kanji.str$
+
+ {"$B!JJT!K(B" *} {"Ed.\ by " swap$ *} if$
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+
+{ after.author 'output.state :=
+ 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}
+
+{ before.all 'output.state :=
+ year empty$
+ { "there's no year in " cite$ * warning$
+ ""
+ }
+
+
+ { " (" year * ")" * }
+
+
+ if$
+}
+
+FUNCTION {format.btitle}
+
+{after.author 'output.state :=
+
+"``" 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$
+ { "" }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+ {"{\bf " volume * "}, " * }
+
+ 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 }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle " (" * format.in.ed.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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+
+ { " " journal * }
+
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "in " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}{ll}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{f. }{vv~}{ll}{ , jj}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{f. }{vv }{ll}{, jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"in "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { series * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+
+
+ { booktitle }
+
+
+
+ if$
+ }
+ if$
+ }
+
+ { "in " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"in " format.crossref.editor * }
+
+ if$
+ }
+ 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$
+
+ after.block 'output.state :=
+
+ 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.block
+
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+
+ format.date "year" output.check
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ 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.block
+
+ 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
+
+
+ after.block 'output.state :=
+
+ 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
+
+
+
+
+ new.block
+
+ publisher "publisher" output.check
+ address output
+ format.edition output
+
+ format.chapter.pages output
+
+ format.date "year" output.check
+
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+
+ after.block 'output.state :=
+
+ 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
+
+
+
+
+ new.block
+
+ address empty$
+ { organization publisher new.sentence.checkb
+
+ new.block
+
+ organization output
+
+
+ mid.sentence 'output.state :=
+ new.block
+
+
+ publisher output
+
+ format.pages output
+ format.date "year" output.check
+
+ }
+ { address output.nonnull
+
+
+ new.block
+
+ organization output
+
+ mid.sentence 'output.state :=
+ new.block
+
+ publisher output
+
+ format.pages output
+ format.date "year" output.check
+
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ 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
+
+ after.block 'output.state :=
+
+ }
+ { address output.nonnull
+ format.date "year" output.check
+
+ after.block 'output.state :=
+
+
+ new.block
+
+ 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
+
+ after.block 'output.state :=
+
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+
+
+
+
+
+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/pbibtex/bst/tipsj.bst b/Master/texmf-dist/pbibtex/bst/tipsj.bst
new file mode 100644
index 00000000000..84d69a7cf60
--- /dev/null
+++ b/Master/texmf-dist/pbibtex/bst/tipsj.bst
@@ -0,0 +1,1274 @@
+ % version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+ % Copyright (C) 1990, all rights reserved.
+ %
+ % This file is derived from btxbst.doc of BibTeX 0.99c
+ %
+ % 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
+ % jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+ % tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+ %
+ % This restriction helps ensure that all standard styles are identical.
+ % The file jbtxbst.doc has the documentation for this style.
+ %
+ % Please notify Shouichi MATSUI(matsui@denken.or.jp) of any bugs in
+ % these standard styles or in this documentation file.
+ % $B>>0f(B $B@50l(B ($B:b(B) $BEENOCf1{8&5f=j!!>pJs%7%9%F%`It(B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ yomi
+ }
+ {is.kanji.entry}
+
+ { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.author}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #4 'after.author :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+ { ", " * write$ }
+
+ { output.state after.block =
+ {
+
+ add.period$ write$
+
+ newline$
+ "\newblock " write$
+ }
+
+ { output.state after.author =
+
+ { author empty$ editor empty$ and organization empty$ and
+ {write$}
+
+ { author field.or.null is.kanji.str$
+ editor field.or.null is.kanji.str$ or
+ organization field.or.null is.kanji.str$ or
+ {"$B!'(B" * write$}
+ {": " * write$}
+ if$
+ }
+
+ if$
+
+ mid.sentence 'output.state :=
+ }
+ '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 =
+
+ { after.author 'output.state := }
+ 'skip$
+
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ 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 {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { duplicate$ is.kanji.str$
+ 'skip$
+ { "{\em " swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+
+ {s nameptr "{ff}{ll}" format.name$ 't :=}
+
+
+ {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=}
+
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+
+ {", " * t * }
+
+
+ { t "others" = t "others,~" = or
+
+ { s is.kanji.str$
+
+ {"$BB>(B" * }
+
+
+ {", et~al." * }
+
+ if$
+ }
+ { s is.kanji.str$
+
+ {", " * t * }
+
+
+
+ {" and " * t * }
+
+
+ if$
+ }
+ 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 >
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" * } {" eds." * } if$
+
+
+ }
+ { editor is.kanji.str$
+
+
+ {"$B!JJT!K(B" *} {" ed." * } if$
+
+
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+
+{ after.author 'output.state :=
+ 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}
+
+{ before.all 'output.state :=
+ year empty$
+ { "there's no year in " cite$ * warning$
+ ""
+ }
+
+
+ { " (" year * ")" * }
+
+
+ if$
+}
+
+FUNCTION {format.btitle}
+
+{after.author '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$
+ { "" }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect}
+ if$
+ }
+ if$
+ series empty$
+ 'skip$
+ { series is.kanji.str$
+ { volume empty$
+ {series swap$ * }
+
+ {series ", " * swap$ * }
+
+ if$
+ }
+ { " of " * series emphasize * }
+ if$
+ }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { number is.kanji.str$
+ { number }
+ {"No." number tie.or.space.connect}
+ if$
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition is.kanji.str$
+ { edition }
+ { is.kanji.entry
+ {"$BBh(B" edition * "$BHG(B" *}
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ 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 }
+ { "p." pages tie.or.space.connect }
+
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+ {""}
+
+
+ { volume is.kanji.str$
+ {volume ", " * }
+ {"Vol." volume tie.or.space.connect ", " * }
+ if$
+ }
+
+
+ if$
+ number empty$
+ 'skip$
+
+ { number is.kanji.str$
+ {number *}
+ {"No." number tie.or.space.connect *}
+ if$
+
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { number empty$
+
+ { format.pages * }
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { chapter is.kanji.str$
+ { "" }
+ { is.kanji.entry
+ {"$B>O(B"}
+ {"chapter"}
+ if$
+ }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter is.kanji.str$ not is.kanji.entry and
+ {"$BBh(B" chapter * swap$ *}
+ { chapter is.kanji.str$
+ {chapter *}
+ {chapter tie.or.space.connect}
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+
+ { ", " * format.pages * }
+
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle is.kanji.str$
+ { " " booktitle emphasize * }
+
+ { "in " booktitle emphasize * }
+
+ if$
+ }
+ { booktitle is.kanji.str$
+
+ { " " format.editors * ", " * booktitle * }
+
+
+ { "in " format.editors * ", " * booktitle emphasize * }
+
+ if$
+ }
+ 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$
+ ""
+ }
+ { title is.kanji.str$
+ { " " journal * }
+
+
+ { "in {\em " journal * "\/}" * }
+
+
+ if$
+ }
+ if$
+ }
+ { title is.kanji.str$
+ { " " key * }
+
+ { "in " key * }
+
+ if$
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+ {editor #1 "{ff}" format.name$ duplicate$
+
+ empty$
+ {pop$ editor #1 "{ll}" format.name$}
+ 'skip$
+ if$
+ }
+
+ {editor #1 "{vv~}{ll}" format.name$}
+
+ if$
+ editor num.names$ duplicate$
+ #2 >
+ { editor is.kanji.str$
+
+ {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$
+
+ }
+ { #2 <
+ 'skip$
+
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ { editor is.kanji.str$
+
+ {"$BB>(B" *} {", et~al." * } if$
+
+ }
+ { editor is.kanji.str$
+ {
+
+ ", " *
+
+ editor #2 "{ff}" format.name$ duplicate$
+ empty$
+ {pop$ editor #2 "{ll}" format.name$}
+ 'skip$
+ if$
+ *
+ }
+ {" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ title is.kanji.str$
+
+ {" "} {"in "} if$
+
+ }
+ { volume is.kanji.str$
+ { volume }
+ { is.kanji.entry
+ {"$BBh(B" volume * "$B4,(B" *}
+ {"Vol." volume tie.or.space.connect " of " * }
+ if$
+ }
+ if$
+ }
+ 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 is.kanji.str$
+
+ { series ", " * swap$ * }
+
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+
+ 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$
+ ""
+ }
+ { booktitle is.kanji.str$
+ { booktitle }
+
+
+
+ {"in {\em " booktitle * "\/}" * }
+
+
+
+ if$
+ }
+ if$
+ }
+
+ { "in " key * }
+
+ if$
+ }
+ { title is.kanji.str$
+ {" " format.crossref.editor * }
+
+ {"in " format.crossref.editor * }
+
+ if$
+ }
+ 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 {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages " pp." *}
+ if$
+}
+
+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.block
+
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+
+ format.book.pages 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.block
+
+ 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.block
+
+ 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
+
+
+
+ new.block
+
+ address empty$
+ { organization publisher new.sentence.checkb
+
+ new.block
+
+ organization output
+
+
+ mid.sentence 'output.state :=
+ new.block
+
+
+ publisher output
+
+ format.date "year" output.check
+
+ }
+ { address output.nonnull
+
+ format.date "year" output.check
+
+
+ new.block
+
+ organization output
+
+ mid.sentence 'output.state :=
+ new.block
+
+ 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.block
+
+ 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."}
+MACRO {tieice} {"$B?.3XO@(B"}
+MACRO {tipsj} {"$B>pJs=hM}3X2qO@J8;o(B"}
+MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"}
+MACRO {jorsj} {"Journal of the O. R. Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+ author field.or.null is.kanji.str$
+ title field.or.null is.kanji.str$ or
+ editor field.or.null is.kanji.str$ or
+ journal field.or.null is.kanji.str$ or
+ booktitle field.or.null is.kanji.str$ or
+ series field.or.null is.kanji.str$ or
+ 'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+
+
+
+
+
+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}