diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /biblio/pbibtex |
Initial commit
Diffstat (limited to 'biblio/pbibtex')
24 files changed, 19886 insertions, 0 deletions
diff --git a/biblio/pbibtex/base/LICENSE b/biblio/pbibtex/base/LICENSE new file mode 100644 index 0000000000..fc380e13ac --- /dev/null +++ b/biblio/pbibtex/base/LICENSE @@ -0,0 +1,25 @@ +Copyright (C) 2010 ASCII MEDIA WORKS. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/biblio/pbibtex/base/README.md b/biblio/pbibtex/base/README.md new file mode 100644 index 0000000000..2da61ce729 --- /dev/null +++ b/biblio/pbibtex/base/README.md @@ -0,0 +1,36 @@ +# pbibtex-base + +These are miscellaneous files, including bibliography styles (.bst), +for pBibTeX, which is a Japanese extended version of BibTeX contained in +TeX Live. + +Originally, pBibTeX was known as jBibTeX. When it came to be included +in TeX Live, it was renamed as pBibTeX according to the prefix of pTeX. +Since the bundle contains the original documents of jBibTeX as-is, +their names are jbibtex.pdf, jbtxdoc.pdf, and so on. + +## Character encoding + +All the text files containing Japanese characters are encoded in +ISO-2022-JP. This is because ISO-2022-JP encoded texts are most suitable +for the traditional pTeX and pBibTeX programs. + +## Repository + +The bundle is maintained on GitHub: +https://github.com/texjporg/pbibtex-base + +If you have issues, please let us know from the above page. + +## License + +The bundle is redistribution derived from [ptex-texmf distribution +by ASCII MEDIA WORKS](http://ascii.asciimw.jp/pb/ptex/). +Since the original license is the 3-clause BSD license, +this redistribution also follows it (see LICENSE). + +## Release Date + +2016-04-17 + +Japanese TeX Development Community diff --git a/biblio/pbibtex/base/README_original b/biblio/pbibtex/base/README_original new file mode 100644 index 0000000000..38204d3325 --- /dev/null +++ b/biblio/pbibtex/base/README_original @@ -0,0 +1,56 @@ +JBibTeX(C Version)$B$N35MW!J;CDjHG!K(B + $B!J:b!KEENOCf1{8&5f=j!!>>0f@50l(B + matsui@denken.or.jp + + +$B!!(BJBibTeX $B$O(B BibTeX 0.99c(C Version) $B$r4p$K(B NTT $BHG(B JTeX $B$KBP1~$7$F(B +bib $B%U%!%$%kCf$K4A;z$r;H$($k$h$&$KJQ99$r2C$($?$b$N$G$"$k!#(B + +$B!!<g$JJQ99$O0J2<$NDL$j$G$"$k!#(B + + (1) $B4A;z$OFbItE*$K$O(B EUC $B$GI=8=$9$k!#%U%!%$%k$+$i0l9T$rFI$_9~$`;~E@$G!"(B +$B!!!!(BEUC $B$J$i$=$N$^$^!"(B JIS $B4A;z$O(B EUC $B$K%3!<%IJQ49$9$k!#(B + $BC<Kv!"%U%!%$%k$X$N=PNO%3!<%I7O$O!"%3%s%Q%$%k;~$K;XDj$9$k$,!"(B + $BMxMQ<TC10L$K$b!"$=$l$>$l<!$N4D6-JQ?t$G;XDj$G$-$k!#(B + $BC<Kv(B BIBTERMCODE + $B%U%!%$%k(B BIBFILECODE + $B;XDj$O!"(BJTeX$B$N(B\kanjitermicalcode, \kanjifilecode$B$HF1$8!"(B + 1,2,3,4,5,6,10,20 + $B$G9T$&!#(B + + (2) $B4A;z$rDL$9$h$&$K(B BibTeX $B$N(B Chage File $B$rJQ99$7$F(B, $BJ8;z$r(B 7bits $B$+$i(B +$B!!!!(B8bits $B$KJQ99$7$?!J$3$l$K9g$;$F(B bibext.c $B$bJQ99$5$l$F$$$k(B)$B!#(B + + (3) $BAH9~$_4X?t$NCf$G(B substring$, text.prefix$ $B$KBP$7$F$O!"(B +$B!!!!4A;z$N4V$G(B (1byte $BL\$H(B 2byte $BL\$N??$sCf$G(B)$BJ8;zNs$,@Z$i$l$J$$$h$&$K$7$?!#(B +$B!!!!(B $BNc$($P!"(B"$B4A;z(B" $B$N@hF,$+$i(B 3 $BJ8;z$rH4=P$9$H(B "$B;z(B"$B$N(B 2byte $BL\$,$J$/$J$C$F(B + $B$7$^$&$N$G!"$3$N$h$&$J>l9g$K$O!"(B4byte $BL\$^$G@Z=P$9$h$&$K$7$?!#(B + + (4) (3)$B$H$N4X78$G!"(B chr.to.int$ $B$O(B stack top $B$,4A;z$J$i$P(B single character +$B!!(B $B$G$J$/$F$b(B warning $B$r=P$5$:!"(B 1byte $BL\$NCM$rJV$9$h$&$K$7$?!#(B + + (5) $B4A;z$r4^$`J8;zNs$G$"$k$+$I$&$+$NH=Dj$h$&$K!"AH$_9~$_4X?t$H$7$F(B + is.kanji.str$ $B$rDI2C$7$?!#(B + + (6) bib file $B$N9`L\$N$I$3$K4A;z$r;H$C$F$h$$$+$O!"(B test.bib $B$r;2>H$5$l$?$$!#(B + + (7) style $B%U%!%$%kCf$N4A;zCx<TL>$N@+$HL>$N4V$K$O%9%Z!<%9$rCV$/$3$H$rI8=`$H(B + $B$7$?!%(B + +$B%$%s%9%H!<%k$N<j=g(B + + (1) $B:G?7HG$N(Bjtex$B$N(Bdirectory$B2<$K(Bcjbibtex$B$J$I$H$$$&(Bdirectory$B$r:n$j!"(B + $BG[I[%-%C%H(B(1/3, 2/3, 3/3)$B$NFbMF$r(B + atob |compress -d |unshar - + $B$G85$KLa$9(B + + (2) $B$=$3$K(B bibtex.web $B$r%3%T!<$9$k!#(B + site dependent$B$J4A;z%3!<%I7O$N@_Dj$O(B bibext.c $BCf$N(B + DEFAULT_TERM_CODE + DEFAULT_FILE_CODE + $B$N(B #define$B$rJQ99$9$l$P$h$$!%(B + + (3) make $B$9$k!#(B +$B!!(B + + diff --git a/biblio/pbibtex/base/cpp.awk b/biblio/pbibtex/base/cpp.awk new file mode 100644 index 0000000000..d19fada658 --- /dev/null +++ b/biblio/pbibtex/base/cpp.awk @@ -0,0 +1,104 @@ +function do_if(proc,sym, direct ) { + if( (sym in defined) && (defined[sym]!=0 ) ) { + while( direct!="else" && direct!="endif" ) direct=proc_line(proc) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(0) + } else { + while( direct!="else" && direct!="endif" ) direct=proc_line(0) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(proc) + } +} + +function do_if_not(proc,sym, direct ) { + if( (!(sym in defined)) || (defined[sym]==0 ) ) { + while( direct!="else" && direct!="endif" ) direct=proc_line(proc) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(0) + } else { + while( direct!="else" && direct!="endif" ) direct=proc_line(0) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(proc) + } +} + +function do_ifdef(proc,sym, direct ) { + if( sym in defined ) { + while( direct!="else" && direct!="endif" ) direct=proc_line(proc) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(0) + } else { + while( direct!="else" && direct!="endif" ) direct=proc_line(0) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(proc) + } +} + +function do_ifndef(proc,sym, direct) { + if( !(sym in defined) ) { + while( direct!="else" && direct!="endif" ) direct=proc_line(proc) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(0) + } else { + while( direct!="else" && direct!="endif" ) direct=proc_line(0) + if(direct=="else") + while( direct!="endif" ) direct=proc_line(proc) + } +} + +function proc_line(proc, direct) { + if( (getline<"jbtxbst.doc") <1 ) { + exit + } + lno++; + if( $0 ~ /^#/ ) { + if( $1=="#" ) { + direct=$2; arg1=$3; arg2=$4 + }else { + direct=substr($1,2,16); arg1=$2; arg2=$3 + } + if(direct=="define") { + if(proc) defined[arg1]=arg2+0 + } else if(direct=="ifdef" ){ + do_ifdef(proc,arg1) + }else if(direct=="ifndef") { + do_ifndef(proc,arg1) + }else if(direct=="if") { + if( substr(arg1,1,1)=="!" ) do_if_not(proc,substr(arg1,2,32)) + else do_if(proc,arg1) + }else if( (direct!="else") && (direct!="endif") ){ + print "% Error **undefined **",direct,"** in line",lno >"/dev/tty" + exit + } + return direct; + }else if($0 ~ /^%/ ) { + return "" # $B%3%a%s%H$O4pK\E*$K$O:o=|$9$k(B + }else if($0 ~ /^ %/ ) { + sub(/ /,"") # $B$3$N7A<0$N%3%a%s%H$O=PNO$9$k(B + print $0 + return "" + }else { + if(proc) print $0 + return "" + } +} +BEGIN{ + if(ARGC<2) { + print "usage: gawk -f cpp.awk <style-type> [<option>]" + print "<style-type> = JPLAIN | JALPHA | JABBRV | JUNSRT | JIPSJ" + print " TIPSJ | TIEICE | JNAME | JORSJ" + print "<option> = ASCII" + exit + } + opt=ARGV[1] + name["JPLAIN"]="jplain"; name["JALPHA"]="jalpha"; name["JABBRV"]="jabbrv" + name["JUNSRT"]="junsrt"; name["JIPSJ" ]="jipsj" ; name["TIPSJ" ]="tipsj" + name["TIEICE"]="tieice"; name["JNAME" ]="jname" ; name["JORSJ" ]="jorsj" + if( opt in name ) + printf("%% JBibTeX standard bibliography style `%s'\n",name[opt]) + for(i=1;i<ARGC;i++) { + defined[ARGV[i]]=1 + ARGV[i]="" + } + while(1) proc_line(1) +} diff --git a/biblio/pbibtex/base/generate.sh b/biblio/pbibtex/base/generate.sh new file mode 100644 index 0000000000..118fc18fab --- /dev/null +++ b/biblio/pbibtex/base/generate.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# use cpp +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJPLAIN >jplain.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc | /lib/cpp -P -DJALPHA >jalpha.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJUNSRT >junsrt.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJABBRV >jabbrv.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJIPSJ >jipsj.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DTIPSJ >tipsj.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DTIEICE >tieice.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJNAME >jname.bst +sed -e '/^%/d' -e '/^$/d' jbtxbst.doc |/lib/cpp -P -DJORSJ >jorsj.bst +# use gawk +#gawk -f cpp.awk JPLAIN >jplain.bst +#gawk -f cpp.awk JALPHA >jalpha.bst +#gawk -f cpp.awk JUNSRT >junsrt.bst +#gawk -f cpp.awk JABBRV >jabbrv.bst +#gawk -f cpp.awk JIPSJ > jipsj.bst +#gawk -f cpp.awk TIPSJ > tipsj.bst +#gawk -f cpp.awk TIEICE >tieice.bst +#gawk -f cpp.awk JNAME > jname.bst +#gawk -f cpp.awk JORSJ > jorsj.bst diff --git a/biblio/pbibtex/base/jabbrv.bst b/biblio/pbibtex/base/jabbrv.bst new file mode 100644 index 0000000000..4908e2374a --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jalpha.bst b/biblio/pbibtex/base/jalpha.bst new file mode 100644 index 0000000000..98ca091e33 --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jbibtex.bib b/biblio/pbibtex/base/jbibtex.bib new file mode 100644 index 0000000000..ad8d7f82d8 --- /dev/null +++ b/biblio/pbibtex/base/jbibtex.bib @@ -0,0 +1,39 @@ +@BOOK{texbook, + author = "Donald E. Knuth", + title= "The {{\TeX}book}", + publisher = "Addison-Wesley", + year = 1984 } + +@BOOK{latex, + author = "Leslie Lamport", + title = "{\LaTeX \rm:} {A} Document Preparation System", + publisher = "Addison-Wesley", + year = 1986, + note="($BK.Lu!'!XJ8=q=hM}%7%9%F%`(B (\LaTeX)$B!Y(B Edgar Cooke, $BARBt(B $BNI0l(B $B4FLu(B, + $BBgLn(B $B=S<#(B, $B>.Jk(B $BGnF;(B, $BF#1:(B $B$O$kH~(B $BLu(B, $B%"%9%-!<(B, 1990$BG/(B)" + } + +@UNPUBLISHED{btxdoc, + author = "Oren Patashnik", + title = "{{\BibTeX ing}}", + note = "Documentation for general {\BibTeX} users", + month = jan, + year = 1988 } + +@UNPUBLISHED{btxhak, + author = "Oren Patashnik", + title = "Designing {\BibTeX} Styles", + note = "The part of \BibTeX's documentation + that's not meant for general users", + month = jan, + year = 1988 } + +@BOOK{jeng, + author="$B%^!<%/!&%T!<%?!<%;%s(B", + title="$BF|K\?M$N1Q8l(B", + publisher="$B4dGH=qE9(B", + year=1988, + pages=196, + yomi="Mark Petersen", + series="$B4dGH?7=q(B($B?7@VHG(B) 18", +} diff --git a/biblio/pbibtex/base/jbibtex.pdf b/biblio/pbibtex/base/jbibtex.pdf Binary files differnew file mode 100644 index 0000000000..65f4fb0925 --- /dev/null +++ b/biblio/pbibtex/base/jbibtex.pdf diff --git a/biblio/pbibtex/base/jbibtex.tex b/biblio/pbibtex/base/jbibtex.tex new file mode 100644 index 0000000000..74c94c5f25 --- /dev/null +++ b/biblio/pbibtex/base/jbibtex.tex @@ -0,0 +1,672 @@ +\documentstyle[tables]{jarticle} +\def\dg{\gt} +\def\dm{\mc} +\voffset=-2.3cm +\hoffset=-2.3cm +\textheight=25.5cm +\textwidth=16.6cm + +\def\JTeX{\leavevmode\lower .5ex\hbox{J}\kern-.17em\TeX} +\def\JLaTeX{\leavevmode\lower.5ex\hbox{J}\kern-.17em\LaTeX} + +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\def\JBibTeX{\leavevmode\lower .6ex\hbox{J}\kern-0.15em\BibTeX} + +\def\myftnote#1{\footnote{\parindent=16pt\hskip-15pt\hang\indent#1\parindent=10pt}} + + +\def\tstrut{\vrule height 2.346ex depth 0.908ex width 0pt} +\thicksize=0.7pt +\thinsize=0.3pt + +\setcounter{topnumber}{3} +\setcounter{bottomnumber}{3} +\setcounter{totalnumber}{6} +\renewcommand{\topfraction}{0.99} +\renewcommand{\bottomfraction}{0.99} +\renewcommand{\textfraction}{0.01} + +\title{$BF|K\8l(B\BibTeX$B!'(B\JBibTeX} +\author{$B>>0f!!@50l(B {\tt\ (matsui@denken.or.jp)}\\ +\normalsize ($B:b(B)$BEENOCf1{8&5f=j(B $B>pJs%7%9%F%`It(B ($B")(B100 $B@iBeED6hBg<jD.(B1-6-1) } +\date{1991$BG/(B1$B7n(B1$BF|(B} +\begin{document} +\baselineskip=16pt + +\maketitle + +\begin{abstract} + +\JBibTeX $B$O(B\BibTeX\ 0.99c$B$r4p$K(B +{\tt bib, bst}$B%U%!%$%kCf$K4A;z%3!<%I$r;H$($k$h$&$KJQ99$r2C$($?$b$N$G$"$k!%(B + +$B$3$N%a%b$G$O!$@h$::G=i$K(B\BibTeX $B$N35MW$r4JC1$K@bL@$7$?8e!$(B +$BF|K\8l2=$KBP$7$F$N4pK\E*$J9M$(J}!$<g$JJQ99E@!$(B +$BF|K\8l$KBP1~$9$k$h$&$K:n@.$7$?%9%?%$%k$K$D$$$F(B +$B@bL@$9$k!%(B +\end{abstract} + +\section{$B$O$8$a$K(B} + +\TeX $B$r(BNTT$B$N@FF#;a$,F|K\8l2=$7$F$/$l$?$*$+$2$G(B\TeX $B$G(B +$BF|K\8l$,;H$($k$h$&$K$J$C$?(B\myftnote{ICOT$B$N9bLZ;a(B($B8=:_F|N)(B)$B!$ETN)Bg$N(B +$B:y0f;a$NNO$KIi$&$H$3$m$bBg$-$$!%(B}$B!%$^$?(BNTT$B$N0k:j;a$,(B\LaTeX $B$N(B +$BF|K\8lHG(B \JLaTeX $B$r:n$C$F$/$l$?$N$G!$(B +$B4JC1$KF|K\8l$N%?%$%W%;%C%H$,$G$-$k$h$&$K$J$C$?(B\myftnote{$B:G=i$K3+H/$7$?(B +\JBibTeX $B$O(BNTT$BHG$rA[Dj$7$F$$$?$N$G!$(BASCII$BHG$KBP$9$k5-=R$,$J$$$@$1$G!$(B +$BB>0U$O$J$$!%8=:_$O(BNTT$BHG!$(BASCII$BHG$NN>J}$r;H$C$F$$$k!%(B}$B!%(B + +$B5;=Q7O$NJ8=q$r=q$/>l9g$K$O!$;29MJ88%$N4IM}$K<j4V<h$k$3$H$,B?$$!%(B +$B$3$N<j4V$r7Z8:$9$k$?$a$N%W%m%0%i%`$H$7$F(B\LaTeX $B$K$O!$(B{\tt roff} +$B0lB2$N(B{\tt refer}$B$KBP1~$7$?(B +\BibTeX $B$,$"$k$,!$$3$NF|K\8l2=$,$G$-$F(B +$B$$$J$+$C$?$N$G(B\myftnote{1988$BG/(B4$B7n$K!$9bLZ;a(B +$B$+$i(B\JTeX~in C $B$N%F!<%W$rF~<j$7$?;~E@$G!%$^$?(BASCII$B%P!<%8%g%s$rCN$i$J$+$C$?(B +$B$N$G!%(B}$B!$(B +\JLaTeX $B$N5!G=$r3h$+$7$-$l$J$$$-$i$$$,$"$C$?(B\myftnote{$B;d$OLLE]$/$5$$(B +$B$3$H$O7y$$$J$N$G!%(B}$B!%(B +$B$=$3$G!$$H$j$"$($:F|K\8l$r;H$($k7A$N(B\BibTeX $B$r(B\JBibTeX $B$H$$$&7A$G(B +$B:n@.$7$F$_$?!%(B + +\section{\BibTeX $B$N35MW(B} + +\subsection{$B=hM}$NN.$l(B} +\BibTeX $B$O(B\LaTeX $B$G:n@.$5$l$k(B{\tt aux}$B%U%!%$%k(B\myftnote{$B%U%!%$%k$N(B +$B%(%/%9%F%s%7%g%s$G%U%!%$%kL>$rBeI=$9$k!%(B}$BCf(B +$B$N(B \verb|\citation|$B$K<($5$l$F(B +$B$$$k(B \verb|\cite|$B9`L\$KBP1~$9$k;29MJ88%%l%3!<%I$r(B\LaTeX $B$N(B +$BJ8=qCf$K(B \verb|\bibliography|$B$G;XDj$5$l$?%G!<%?%Y!<%9%U%!%$%k(B +({\tt bib})$B$+$i(B +$B8!:w$7!$(B \verb|\bibliographystyle|$B$G;XDj$5$l$?;29MJ88%(B +$B=q<0(B($B%9%?%$%k(B)$B$G(B{\tt bbl}$B%U%!%$%k$K=q$-=P$97A$GF0:n$9$k!%<B9T;~$N(B +$B%a%C%;!<%8$OC<Kv$K=PNO$5$l$k$HF1;~$K!$%m%0%U%!%$%k$N(B{\tt blg}$B%U%!%$%k$K$b(B +$B=PNO$5$l$k!%(B + +$BDL>o$O$"$kJ8=q(B{\tt file.tex}$B$r=hM}$9$k$K$O<!$N$h$&$J(B +$B<j=g$r$U$`(B\myftnote{{\tt bbl}$B%U%!%$%k$NFbMF$,8GDj$5$l$?8e$O!$(B{\tt latex}$B$r(B +$B5/F0$9$k$@$1$G$h$$(B($BAj8_;2>H4X78$N=hM}$N$?$a$K(B2$B2s0J>e$N5/F0$,I,MW$J(B +$B$3$H$b$"$k(B)$B!%(B}$B!%(B + +\newcounter{myn} +\begin{list}% +{\arabic{myn}.}{\usecounter{myn} +\setlength{\parsep}{1pt} +\setlength{\itemsep}{1pt} +\setlength{\topsep}{1pt} +} +\item {\tt latex file}$B$G(B{\tt aux}$B$r:n$j=P$9!%(B +\item {\tt bibtex file}$B$G(B{\tt aux, bib}$B$+$i(B{\tt bbl}$B%U%!%$%k$r:n$j=P$9!%(B +\item $B0J8e$N(B{\tt latex file}$B$N5/F0$G(B{\tt bbl}$B$,<+F0E*$KFI$_9~$^$l$k!%(B +\end{list} + +\subsection{$B;29MJ88%%G!<%?%Y!<%9(B} +$B%G!<%?%Y!<%9Cf$N;29MJ88%%l%3!<%I$O!$J88%$N7A<0(B($BO@J8!$K\$J$I(B)$B$r;XDj$7$?(B +$B8e$K!$0zMQ%-!<!$=q;o9`L\$r(B ``$B%-!<%o!<%I(B=$BCM(B'' $B$N7A$G%+%s%^$G6h@Z$C$F(B +$BJB$Y$k7A$G5-=R$9$k(B\cite{latex,btxdoc}$B!%(B +\newpage +$BJ88%$N7A<0$H$7$F$O0J2<$,MQ0U$5$l$F$$$k!%(B +\begin{table}[h] +\begintable +{\dg $BJ88%$N7A<0(B}|{\dg $B@b(B\hskip2cm $BL@(B}\hfil\crthick +{\tt article}\hfill| $BO@J8;o$J$IH/I=$5$l$?O@J8(B\hfill\cr +{\tt book}\hfill | $B=PHG<R$NL@<($5$l$?K\(B\hfill\cr +{\tt booklet}\hfill | $B0u:~!$@=K\$5$l$F$$$k$,=PHG<gBN$,ITL@$J$b$N(B\hfill\cr +{\tt conference}\hfill | inproceedings$B$HF1$8(B(Scribe$B$H$N8_49@-$N$?$a(B)\hfill\cr +{\tt inbook}\hfill | $B=qJ*$N0lIt(B($B>O!$@a!$J8$J$I2?$G$b(B)\hfill\cr +{\tt incollection}\hfill | $B$=$l<+?H$NI=Bj$r;}$D!$K\$N0lItJ,(B\hfill\cr +{\tt inproceedings\ }\hfill | $B2q5DO?Cf$NO@J8(B\hfill\cr +{\tt manual}\hfill | $B%^%K%e%"%k(B\hfill\cr +{\tt masterthesis}\hfill | $B=$;NO@J8(B\hfill\cr +{\tt misc}\hfill | $BB>$N$I$l$K$bEv$F$O$^$i$J$$;~$K;H$&(B\hfill\cr +{\tt phdthesis}\hfill | $BGn;NO@J8(B\hfill\cr +{\tt proceedings}\hfill | $B2q5DO?(B\hfill\cr +{\tt techreport}\hfill | $B%F%/%K%+%k%l%]!<%H(B\hfill\cr +{\tt unpublished}\hfill | $B@5<0$K$O=PHG$5$l$F$$$J$$$b$N(B\hfill\endtable +\end{table} + +$B$=$l$>$l$GI,?\$J9`L\(B($B%U%#!<%k%I(B)$B$,$"$k!%(B + +$B9`L\(B($B%U%#!<%k%I(B)$B$H$7$F$O0J2<$,$"$k(B\myftnote{$B@53N$K$O(Bplain, alpha, +abbrv, unsrt$B$G!$(Bannote$B$r=|$$$?9`L\$,0UL#$r;}$D(B($B%?%$%W%;%C%H$K(B +$B;H$o$l$k(B)$B!%(B}$B!%(B +\begin{table}[h] +\begintable +{\dg $B%U%#!<%k%IL>(B}|{\dg $B@b(B\hskip2cm $BL@(B}\hfil\crthick +{\tt address}\hfill | $B=PHG<gBN$N=;=j(B\hfill\cr +{\tt annote}\hfill | $BCm<aIU$-$N%9%?%$%k$G;H$o$l$k(B\hfill\cr +{\tt author}\hfill | $BCx<TL>(B\hfill\cr +{\tt booktitle}\hfill | $BK\$NL>A0(B\hfill\cr +{\tt chapter}\hfill | $B>O!$@a$J$I$NHV9f(B\hfill\cr +{\tt crossref}\hfill | $BAj8_;2>H$9$kJ88%$N%G!<%?%Y!<%9$N%-!<(B\hfill\cr +{\tt edition}\hfill | $BK\$NHG(B\hfill\cr +{\tt editor}\hfill | $BJT=8<T(B\hfill\cr +{\tt howpublished\ }\hfill | $B$I$N$h$&$K$7$F$3$N4qL/$J$b$N$,H/9T$5$l$?$+(B\hfill\cr +{\tt institution}\hfill | $B%F%/%K%+%k%l%]!<%H$NH/9T<gBN(B\hfill\cr +{\tt journal}\hfill | $BO@J8;oL>(B\hfill\cr +{\tt key}\hfill | $BCx<TL>$,$J$$;~$KAj8_0zMQ!$%i%Y%k:n@.$J$I$K;H$o$l$k(B\hfill\cr +{\tt month}\hfill | $BH/9T7n!$$^$?$O=q$+$l$?7n(B\hfill\cr +{\tt note}\hfill | $BFI<T$KLrN)$DIU2C>pJs(B\hfill\cr +{\tt number}\hfill | $BO@J8;o$J$I$NHV9f(B\hfill\cr +{\tt organization\ }\hfill | $B2q5D$r<g:E$7$?5!4XL>$"$k$$$O%^%K%e%"%k$N=PHG<gBN(B\hfill\cr +{\tt pages}\hfill | $B%Z!<%8(B($BHO0O(B)\hfill\cr +{\tt publisher}\hfill | $B<gHG<R(B($B<T(B)$BL>(B\hfill\cr +{\tt school}\hfill | $B=$;N!$Gn;NO@J8$,=q$+$l$?Bg3XL>(B\hfill\cr +{\tt series}\hfill | $B%7%j!<%:!$$"$k$$$OJ#?t4,$NK\$NL>A0(B\hfill\cr +{\tt title}\hfill | $BI=Bj(B\hfill\cr +{\tt type}\hfill | $B%F%/%K%+%k%l%]!<%H$N<oN`(B\hfill\cr +{\tt volume}\hfill | $BO@J8;o!$J#?t4,$NK\$N4,(B\hfill\cr +{\tt year}\hfill | $BH/9TG/!$$^$?$O=q$+$l$?G/(B\hfill\endtable +\end{table} +\newpage + +$B0J2<$K%G!<%?%Y!<%9$N5-=RNc$r<($9!%(B + +{\baselineskip=11pt +\begin{quote} +\begin{verbatim} + @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 + } +\end{verbatim} +\end{quote} +} + +$BIQHK$K;H$o$l$kO@J8;oL>$J$I$O!$(B({\tt bst}$B%U%!%$%kCf$K(B)$B8e=R$N%^%/%m5!G=$r;H$C$F(B +$B>JN,7A$rDj5A$7$F$*$/$3$H$G!$(B{\tt journal=ipl}$B$J$I$H=q$1$k(B({\tt bib}$B%U%!%$%k(B +$BCf$K(B{\tt @STRING(ipsj=\{$B>pJs=hM}3X2q(B\})}$B$N$h$&$KDj5A$9$k$3$H$b$G$-$k(B)$B!%(B + +\subsection{$B%9%?%$%k(B} +$B%9%?%$%k$O(B{\tt alpha.bst}$B$J$I$N%9%?%$%k%U%!%$%k$K5-=R$5$l$F$$$k!%(B +$B%9%?%$%k%U%!%$%kCf$N=q<0$O!$%9%?%C%/%^%7%s$KBP$7$F$NL?Na$r(B +$B8eCV1i;;;R5-K!$G5-=R$7$?7A$G$"$k(B\cite{btxhak}$B!%(B + +$B%9%?%$%k$r5-=R$9$k8@8l$K$OFs<oN`$N4X?t$,$"$k!%0l$D$O%7%9%F%`AH$_9~$_$N(B +$B$b$N$G$"$j!$(B{\tt newline\$, write\$} $B$J$I$N$h$&$KL>A0$N:G8e$,(B{\tt `\$'}$B$G(B +$B=*$k!%$b$&0l$D$O(B{\tt MACRO, FUNCTION}$B$r;H$C$FDj5A$9$k$b$N$G$"$k!%(B + +$BAH$_9~$_4X?t$K$O0J2<$N$h$&$J$b$N$,$"$k(B($BA4It$G(B37$B$"$k(B)$B!%(B + +\begin{table}[h] +\parasize=9.68cm +\begintable +{\dg\bf $BAH$_9~$_4X?t(B($BL>(B)\ }|{\dg $B5!(B\hskip2cm $BG=(B}\hfil\crthick +{\tt >, <, =} \hfill | \para{$B@0?t$NHf3S(B}\cr +{\tt +, -}\hfill |\para{$B@0?t2C;;!$8:;;(B}\cr +{\tt *}\hfill | \para{$BJ8;zNs$NO"7k(B}\cr +{\tt :=}\hfill |\para{$BBeF~(B}\crthick +{\tt add.period\$}\hfill|\para{$BJ8;zNs$N(B{\tt `\}'}$B$G$J$$:G8e$NJ8;z$,!$(B +{\tt `.', `?', `!'}$B$N$$$:$l$G$b$J$1$l$P(B{\tt `.'}$B$r:G8e$KIU2C$9$k(B}\cr +{\tt call.type\$}\hfill|\para{$B%(%s%H%j$N7?(B($BJ88%$N7?(B)$B$K1~$8$?4X?t$r8F$S=P$9!%(B +$BNc$($P(B{\tt book}$B$J$i4X?t(B{\tt book}$B$r8F$S=P$9!%(B}\cr +{\tt change.case\$}\hfill | \para{$B;XDj$K1~$8$FBgJ8;z!$(B +$B>.J8;z$KJQ49$7$?J8;zNs$rJV$9(B($B;XDj$,(B{\tt `t'}$B$J$i(B +$B:G=i$NJ8;z0J30$r$9$Y$F>.J8;z$K!$(B{\tt `l'}$B$J$i$9$Y$F(B +$B>.J8;z$K!$(B{\tt `u'}$B$J$i$9$Y$FBgJ8;z$KJQ49$9$k(B)$B!%(B}\cr +{\tt chr.to.int\$}\hfill |\para{1$BJ8;z$N$_$NJ8;zNs$N(BASCII$B%3!<%I$rJV$9(B}\cr +{\tt text.prefix\$}\hfill | \para{$B9b!9;XDj$5$l$?J8;z?t(B +$B0JFb$N@hF,J8;zNs$rJV$9(B}\cr +{\tt skip\$}\hfill | \para{$B2?$b$7$J$$(B}\cr +{\tt substring\$}\hfill | \para{$BItJ,J8;zNs$rJV$9(B}\cr +{\tt write\$}\hfill | \para{$BJ8;zNs$r(B{\tt bbl}$B%U%!%$%k$K=q$-=P$9(B} \endtable +\end{table} + +$B%9%?%$%k$OA0=R$N4X?t$H%3%^%s%I$*$h$S%7%9%F%`JQ?t$r;H$C$F5-=R$9$k!%(B +$B%3%^%s%I$O0J2<$+$i$J$k!%(B +\begin{itemize} +\item $B@k8@$HJQ?t!$4X?tDj5A$N$?$a$N(B5$B$D$N%3%^%s%I(B({\tt ENTRY, FUNCTION, INTEGERS, +MACRO, STRINGS}) + +\begin{table}[h] +\begintable +{\dg $B%3%^%s%IL>(B}\ | {\dg $B5!(B\hskip2cm $BG=(B}\hfil\crthick +{\tt ENTRY}\hfill | $B%U%#!<%k%I$H%(%s%H%j$r@k8@$9$k(B\hfill\cr +{\tt FUNCTION}\hfill | $B?7$?$J4X?t$rDj5A$9$k(B\hfill\cr +{\tt INTEGERS}\hfill | $B%0%m!<%P%k$J@0?t7?$NJQ?t$r@k8@$9$k(B\hfill\cr +{\tt MACROS}\hfill | $BJ8;zNs%^%/%m$rDj5A$9$k(B\hfill\cr +{\tt STRINGS}\hfill | $B%0%m!<%P%k$JJ8;zNs7?$NJQ?t$r@k8@$9$k(B\hfill\endtable +\end{table} + +\item $B%G!<%?%Y!<%9FI$_9~$_$N$?$a$N%3%^%s%I(B({\tt READ})$B!%%G!<%?%Y!<%9(B +$B$rFI$_9~$_!$FbItE*$K%j%9%H$N7A<0$K$9$k!%(B +\newpage +\item $B=hM}$H=PNO$N$?$a$N(B4$B$D$N%3%^%s%I(B({\tt EXECUTE, ITERATE, REVERSE, SORT}) + +\begin{table}[h] +\begintable +{\dg $B%3%^%s%IL>(B}\ | {\dg $B5!(B\hskip2cm $BG=(B}\hfil\crthick +{\tt EXECUTE}\hfill | 1$B$D$N4X?t$r<B9T$9$k(B\hfill\cr +{\tt ITERATE}\hfill | $B8=:_$N%j%9%HCf$N3F%(%s%H%j$KBP$7$F(B1$B$D$N4X?t$r(B +$BE,MQ$9$k(B\hfill\cr +{\tt REVERSE}\hfill | {\tt ITERATE}$B$HF1$8A`:n$r%j%9%H$N5U=g$K9T$&(B\hfill\cr +{\tt SORT}\hfill | {\tt sort.key\$}$B$K$h$C$F%j%9%H$r%=!<%H$9$k(B\hfill\endtable +\end{table} +\end{itemize} + +$B%7%9%F%`JQ?t$K$O0J2<$,$"$k!%(B +\begin{table}[h] +\begintable +{\dg $BJQ?tL>(B}| {\dg $B@b(B\hskip2cm $BL@(B}\hfil\crthick +{\tt sort.key\$}\hfill | $BJ8;zNs7?!$%=!<%H$N%-!<(B\hfill\cr +{\tt entry.max\$}\hfill | $B@0?t7?!$%(%s%H%jJ8;zNs$N:GBgD9(B(100)\hfill\cr +{\tt global.max\$\ }\hfill | $B@0?t7?!$J8;zNs$N:GBgD9(B(1000)\hfill\endtable +\end{table} + +$B0J2<$K%9%?%$%k%U%!%$%k(B{\tt alpha}$B$N0lItJ,$rNc$H$7$F<($9!%(B + +\begin{figure}[h] +{\baselineskip=11pt +\begin{quote} +\begin{verbatim} +MACRO {tcs} {"Theoretical Computer Science"} +READ +FUNCTION {sortify} + { purify$ "l" change.case$ } +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} +ITERATE {presort} +SORT +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} +\end{verbatim} +\end{quote} +} +\end{figure} +\section{$BF|K\8l2=$N35MW(B} +\subsection{$B%P!<%8%g%s(B0.10$B$H(B0.20$B$N@8$$N)$A(B} +$B:G>.8B$NJQ99$G$9$^$;$k$3$H$K$7(B\myftnote{$B<jH4$-$G$"$k!%(B}$B!$(B +$B0J2<$N7A$G85$N(B\BibTeX (Version 0.99c; Pascal$BHG(B)$B$KJQ99$r(B +$B2C$($?Bh(B1$B%P!<%8%g%s(B(0.10)$B$r(B1988$BG/(B5$B7n$K:n@.$7$?!%$3$N(B +$B$?$a$K9T$C$?JQ99$O!$(Bchange +file$B$NJQ99$,(B600$B9TDxEY!$(BC$B$G=q$+$l$?%5%]!<%H%k!<%A%s(B(bibext.c)$B$X$N(B +$BJQ99$,(B50$B9TDxEY$G$"$k$,!$(Bchange file$B$X$NK\<AE*$JJQ99$O(B200$B9TDxEY$G$"$k!%(B + +$B$=$N8e(B1989$BG/(B5$B7n$K(B\BibTeX $B$N(BC$B%P!<%8%g%s$KBP1~$7$F!$(B +Pascal$B%3%s%Q%$%i!<$N$J$$%7%9%F%`$G$bF0:n$9$k$h$&$K!$(B +$BBh(B2$B%P!<%8%g%s(B(0.20)$B$r:n@.$7$?!%$3$N$?$a$K(B +$B9T$C$?JQ99$O!$?7$?$JAH$_9~$_4X?t$rDI2C$9$k(B +$B$3$H$b4^$a$F(Bchange file$B$NJQ99$,(B450$B9TDxEY!$(B +bibext.c$B$X$NJQ99$,(B430$B9TDxEY$G(B +$B$"$k(B\myftnote{{\tt web2c}$B$N=PNOCf$N(B{\tt putc}$B$rF|K\8l(B +$B%3!<%I$KBP1~$9$k$?$a$N(B{\tt Fputc}$B$K(B{\tt sed}$B$9$k(B +$B$?$a$K(B{\tt Makefile}$B$N0lItJ,$bJQ99$7$?!%(B}$B!%(B{\tt bibext.c}$B$NJQ99$N(B +$BBgItJ,$O(B\JTeX $BMQ$K:y0f;a$,:n@.$7$?%W%m%0%i%`$rN.MQ$7$F$$$k$N$G!$?7$?$K(B +$B:n@.$7$?ItJ,$O>/$J$$(B\myftnote{$B:n6H$O(BSUN-3$B$G9T$C$?$,!$$=$NB>$N%^%7%s$X$N(B +$B0\?":n6H$O(BJUNET$B$rDL$8$F6(NO$7$F$$$?$@$$$?!%$3$l$K$h$j(B +$B8=:_$O!$(BSUN-4, VAX/ Ultrix/BSD, NEWS /NEWS-OS, Symmetry /Dynix, +FACOM M Series /UTS, LUNA /BSD, $B&2(BWS$B$J$I$GF0:n$7$F$$$k!%(B}$B!%(B + +\subsection{$B%P!<%8%g%s(B0.30$B$H(BMS-DOS$BHG$NN9N)$A(B} +$BI.<T$,6PL3$N4X78$GJF9q=PD%Cf$N%/%j%9%^%95Y2K$N4V$K:n@.$7$?(B +$B$N$,%P!<%8%g%s(B0.30$B$H(B{\tt MS-DOS}$BHG$N(B\JBibTeX $B$G$"$k(B\myftnote{$B4($$=j(B +$B$@$C$?$N$G!$2HB2$G30=P(B +$B$9$k5$$K$b$J$i$:!$$*6b$b$J$+$C$?$N$GN99T$b$G$-$:$G(B {\tt :-)}$B!%(B}$B!%(B + +$B%P!<%8%g%s(B0.30$B$G$O(BASCII$BHG$N(Bversion 0.98$B$r%Y!<%9$K$7$?(B{\tt Kanji BibTeX} +$B$H$N@09g@-$r8~>e$5$;$k!$$^$?IT40A4$G$"$C$?F|K\8lBP1~$r40A4$K$9$k$J$I$N(B +$B:n6H$r9T$C$?!%(B +$B$3$N$?$a$K%P!<%8%g%s(B0.20$B$+$iJQ99$7$?(Bchange file$B$N9T?t$O(B50$B9TDxEY$G$"$k!%(B +$B$3$l$K:]$7$F$O!$?&>l$NF1N=$G$"$k(B +$BFsJ}8|;V!$=j7r0l$NN>;a!$(B($B3t(B)$B%"%9%-!<$NARBtNI0l!$EOn5M:0lN>;a$N6(NO$rF@$?!%(B +$BFC$KEOn5;a$K$OB?K;$JCf!$MM!9$J%F%9%H$K6(NO$7$F$$$?$@$$$?!%(B +$B%P!<%8%g%s(B0.30$B$G$O%I%-%e%a%s%HN`$N=$@5!$%9%?%$%k%U%!%$%k$N2~NI$b9T$C$?!%(B +$B$3$l$K$h$j!$(BNTT$BHG$@$1$G$J$/!$(BASCII$BHG$G$b(B($B%I%-%e%a%s%H$N=hM}$b4^$a$F(B) +$BLdBj$J$/F0:n$9$k%P!<%8%g%s$NG[I[%-%C%H$,40@.$7$?!%(B + +MS-DOS$BHG$O(BUNIX$B>e$G:n@.$7$?(BC$B$N%=!<%9$rD>@\JQ99$7$F(BTurbo-C$B$rMxMQ$7$F:n@.$7$?!%(B +$B%3%s%Q%$%i!$%j%s%+$N@)Ls$+$iBgNL$NBg0hJQ?t$,@k8@$G$-$J$$$N$G!$(B +$BBg0hJQ?t$N@k8@ItJ,$r$$$/$D$+$N%U%!%$%k$KJ,$1$k$H$+!$F0E*$K%a%b%j$r(B +$B3d$jEv$F$k$H$+$NJQ99$r(BC$B%=!<%9$KD>@\;\$7$?!%JQ999T?t$O(B100$B9TDxEY$G$"$k!%(B +$BMxMQ2DG=%a%b%j$N@)Ls$+$i!$=hM}2DG=0zMQJ88%?t$,(BUNIX$BHG$KHf$Y$F(B +$B>/$J$$$3$H$r=|$1$P(B(300$B7oDxEY0JFb$G$J$$$H$@$a(B)$B!$(B +$B<BMQ>e==J,$J@-G=$r;}$D%W%m%0%i%`$G$"$k!%(B + +\subsection{$B4A;z%3!<%I$N07$$(B} + +$B%*%j%8%J%k$N(B\BibTeX $B$X$NJQ99$r>/$J$/$9$k$?$a$K!$(B +$B4A;z%3!<%I$OFbItE*$K$O(BEUC$B$GI=8=$9$k$3$H$H$7$?!%(B +$B%U%!%$%k$+$i0l9T$rFI$_9~$`;~E@$G!$(BEUC$B$J$i$=$N$^$^!$(BJIS$B4A;z%3!<%I$O(BEUC$B$K(B +$B%3!<%IJQ49$9$k(B\myftnote{JIS$B4A;z%3!<%I$N%(%9%1!<%W!&%7!<%1%s%9$N(B +$B@hF,$N(B2$B%P%$%H$N$_$r4A;z(Bin/out$B$N(B +$BH=Dj$K;HMQ$7!$(B3$B%P%$%HL\$O2?$G$b$h$$$h$&$K$7$F$"$k!%$^$?!$Ev=j$G$O(BSJIS$B$O(B +$B;H$C$F$$$J$$$N$G%P!<%8%g%s(B0.10$B$G$O$=$l$O9M$($F$$$J$+$C$?$,!$(B +$B%P!<%8%g%s(B0.20$B$G$O$=$l$K$bBP=h$G$-$k$h$&$K$7$?!%(BMS-DOS$BHG$G$O(BSJIS$B$,%G%#%U%)%k%H(B +$B$N4A;z%3!<%I$K$J$C$F$$$k!%(BJIS$B$bFI$a$k!%(B}$B!%(B + +$B4A;z%3!<%I$r%U%!%$%k$K=q$-=P$9;~$K%3!<%I7O$NJQ49$r9T$&!%(B\JBibTeX +$B$O(BNTT$BHG(B \JTeX $B$K2~NI$r2C$($F4A;z%3!<%I$H$7$F(BJIS$B$NB>$K!$(BEUC$B$b;H$($k$h$&$K(B +$B$7$?$b$N$N>e$N(B\JLaTeX $B$HBP$K$7$F;H$&$3$H$rA0Ds$H$7$F$$$k$,!$(BASCII$BHG$G$b(B +$BLdBj$J$/;H$($k!%(B +$B$3$N(B\JTeX $B$G$O4A;z%3!<%I$N;XDj$,(BEUC/SJIS$B$G$"$C$F$b!$(BJIS$B4A;z%3!<%I$bFI$_9~$a$k(B +$B$h$&$KJQ99$7$?$b$N$G$"$k(B\myftnote{$BETN)Bg$N:y0f;a$,Cf?4$H$J$C$F(B +$B3+H/$7$F$$$k%P!<%8%g%s$KBP1~$7$F$$$k!%(B}$B!%(B + +$B$=$3$GBh(B1$B%P!<%8%g%s(B(0.10)$B$G$O4A;z%3!<%I$NJQ49$O0J2<$N7A$G9T$&(B +$B$3$H$H$7$?!%(B + +\begin{itemize} +\item $BJd=u(B({\tt aux})$B!$%9%?%$%k(B({\tt bst})$B!$%G!<%?%Y!<%9(B({\tt bib})$B%U%!%$%kCf(B +$B$N4A;z%3!<%I$NAm$F$,(BEUC$B4A;z%3!<%I$G$"$l$P!$(B{\tt bbl}, {\tt blg}$B%U%!%$%k(B +$B$"$k$$$OC<Kv$X$N=PNO$O(BEUC$B%3!<%I$G9T$&!%(B +\item $B>e5-0J30$N>l9g$K$O!$=q$-=P$7$,9T$l$kD>6a$KFI$s$@(BJIS$B4A;z$N%3!<%I$N(B +$B%(%9%1!<%W!&%7!<%1%s%9$r;H$C$F4A;z%3!<%I$r=q$-=P$9(B\myftnote{$B40A4$K4A;z%3!<%I(B +$BBP1~$K$J$C$F$$$J$$2DG=@-$,$"$k$N$G!$(Bbib$B%U%!%$%k$J$I$N5-=R$K%(%i!<$,$"$C$?(B +$B;~$K!$C<Kv$J$I$K(BEUC$B%3!<%I$N$^$^$G4A;z%3!<%I$,=PNO$5$l$k$+$b$7$l$J$$(B($BBh(B1 +$B%P!<%8%g%s(B(0.10)$B$N>l9g(B)$B!%(B}$B!%(B +\end{itemize} + +$B4A;z%3!<%I$NJQ49$O!$F~NO;~$O(Bbibext.c$B$G9T$$!$=PNO;~$O(Bbibtex$BK\BN$G9T$&$3$H$H(B +$B$7$?$?$a$K!$(Bchange file$B$NJQ99$,B?$/$J$C$?!%(B + +$BBh(B2$B%P!<%8%g%s(B(0.20)$B0J9_$G$O!$4A;z%3!<%I7O$O%5%$%HKh$K(B +$B%3%s%Q%$%k;~$K7hDj$9$k$3$H$H$7!$MxMQ<TC10L$K$O<!$N4D6-JQ?t$GJQ992DG=$H$7$?!%(B + +\begin{figure}[h] +\thicksize=0pt +\thinsize=0pt +\begintable +$BC<Kv(B\hfill |{\tt BIBTERMCODE}\hfill | \hskip5cm\cr +$B%U%!%$%k(B\hfill | {\tt BIBFILECODE}\hfill | \hskip5cm\endtable +\end{figure} + +$B$3$l$i$NJQ?t$K(B\JTeX $B$N(B \verb|\kanjiterminaltype|, \verb|\kanjifiletype|$B$G(B +$B;XDj$9$k$N$HF1$8CM$r@_Dj$9$k$3$H$G(B(EUC$B$J$i(B20, +SJIS$B$J$i(B10$B$J$I(B)$BF~=PNO$N%3!<%I7O$rJQ99$G$-$k(B(\JTeX $BF1MM(BEUC, SJIS$B$r;XDj(B +$B$7$F$"$C$F$b(BJIS$B%3!<%I7O$bFI$_9~$a$k$h$&$K$J$C$F$$$k(B)$B!%(B + +$B4A;z%3!<%I$NJQ49$O$9$Y$F(Bbibext.c$B$NCf$G9T$&$3$H$H$7$?$N$G!$(Bchange file$B$N(B +$BJQ99$,>/$J$/$J$C$F$$$k!%(B + +\subsection{$BAH9~$_4X?t$N;EMMJQ99(B} + +$BAH9~$_4X?t$N(B{\tt substring\$, text.prefix\$} $B$K$*$$$F$O(B +1$B$D$N4A;z%3!<%I$N4V$G(B(1$B%P%$%HL\$H(B2$B%P%$%HL\$N4V$G(B)$BJ8;zNs$,@Z$i$l$J$$$h$&$K$7$?!%(B +$BNc$($P!$(B`$B4A;z(B' $B$N@hF,$+$i(B3$BJ8;z(B($B%P%$%H(B)$B$rH4=P$9$H(B `$B;z(B' $B$N(B2$B%P%$%HL\$,$J$/$J$C$F(B +$B$7$^$&$N$G!$$3$N$h$&$J>l9g$K$O!$(B4$B%P%$%HL\$^$G@Z=P$9$h$&$K$7$?(B\myftnote{$B$3$l$O(B +$BF|K\8lMQ$N%9%?%$%k$G$J$$(B{\tt alpha, plain}$B$J$I$r(B +$B;H$C$?>l9g$G$b$=$l$J$j$N=PNO$,F@$i$l$k$h$&$K$9$k$?$a$G$"$k!%(B}$B!%(B + +$BA05-$H$N4X78$G!$(B{\tt chr.to.int\$} $B$O0z?t$,(B +$B4A;z%3!<%I$J$i$P(Bsingle character$B$G$J$/$F$b(Bwarning$B$r=P$5$:!$(B +$B4A;zJ8;zNs$N(B1$B%P%$%HL\$N%3!<%I$rCM$H$7$FJV$9$h$&$K$7$?(B\myftnote{$B$3$l$O(B0.10$B%P!<(B +$B%8%g%s$G;n:n$7$?%9%?%$%k%U%!%$%kCf$G!$4A;z%3!<%IJ8;zNs$NH=Dj$r$$$$$+$2$s$K(B +$B9T$&$?$a$KI,MW$H$J$C$?JQ99$G$"$j!$(B0.20$B%P!<%8%g%s$G$O4A;z%3!<%IJ8;zNsH=DjMQ$K(B +$B?7$?$JAH$_9~$_4X?t$rDI2C$7$?$N$GITMW$+$bCN$l$J$$!%(B}$B!%(B + +$B0J>e$O%P!<%8%g%s(B0.10$B$+$i9T$C$F$$$?JQ99$G$"$k$,!$%P!<%8%g%s(B0.30$B$G$O!$$5$i$K(B +$B<!$N(B2$B$D$NJQ99$bDI2C$7$?!%(B + +{\tt add.period\$} $B4X?t$O!$H>3Q$N(B`!'$\!$, `?'$\!$, `.'$B$G=*$o$l$P!$(B +`.'$B$rIU2C$7$J$$$N$G!$A43Q$N(B`$B!*(B'$B!$(B`$B!)(B'$B!$(B`$B!%(B'$B!$(B`$B!#(B'$B$G=*$o$C$F$b(B +`.'$B$rIU2C$7$J$$$h$&$K$7$?!%(B + +{\tt format.name\$} $B4X?t$G$O!$4A;z%3!<%I$GI=5-$5$l$?;aL>$N>l9g$K$OA43Q$N6uGr$b(B +$BH>3Q$N6uGr$HF1$8$h$&$K07$&$3$H$H$7$?!%$^$?J#?t$NL>A0$O(B \verb*| and | +$B$r4V$KF~$l$FNs5s$9$k$,!$4A;z%3!<%II=5-$5$l$?;aL>$N>l9g$K$O(B +$BA43Q$N(B``$B!$(B'', ``$B!"(B''$B$r;H$C$F$b(B \verb*| and | $B$HF1$8$h$&$K07$&$h$&$K$7$?!%(B +$B$3$l$G4A;z%3!<%ICx<TL>$NF~NO$,0JA0$h$j4JC1$K$J$k$O$:$G$"$k(B($B>/$J$/$H$b(BPC$B$G$+$J(B +$B4A;zJQ49(BFEP$B$r;H$C$F$$$k>l9g$K$O!$H>3Q$X$N@Z$jBX$($,ITMW$K$J$k(B)$B!%(B + +\subsection{$BAH$_9~$_4X?t$NDI2C(B} + +$B<!$K=R$Y$kF|K\8lMQ$N%9%?%$%k$K4XO"$9$k$3$H$G$"$k$,!$4A;z%3!<%I$r4^$`J8;zNs$N(B +$B>l9g$K=hM}$rJ,$1$kI,MW$,$"$k!%Bh(B1$B%P!<%8%g%s$G$O4A;z%3!<%I$r4^$`$+$I$&$+$O!$(B +$B@hF,J8;z$N$_$GH=Dj$9$k$h$&$J%9%?%$%k$r:n@.$7$?$,!$$3$l$G$OIT40A4$G$"$k(B +$B$N$G!$Bh(B2$B%P!<%8%g%s0J9_$+$i$O(B{\tt is.kanji.str\$} $B$H$$$&4X?t$rDI2C$7$?!%(B +$B$3$N4X?t$O!$M?$($i$l$?J8;zNs$,F|K\8l%3!<%I(B(non ASCII$B%3!<%I(B)$B$r(B +$B4^$`;~$K(B``$B??(B''($B@0?t$N(B1)$B$rJV$94X?t$G$"$k!%(B + +\newpage +\section{$BF|K\8lMQ$N%9%?%$%k(B} + +\subsection{$BLdBjE@(B} +$BA0=R$NJ}K!$GF|K\8l$r07$($k$h$&$K$7$F$b!$(B\BibTeX $B$N%9%?%$%k(B(bst)$B$r(B +$BF|K\8l$K9g$;$J$$$H!$;29MJ88%$,4qL/$J7?<0$H$J$k!%(B +$BNc$($P!$(B{\tt plain}$B$N%9%?%$%k$r;H$&$H!$Cx<T$,J#?t$N>l9g(B + +\vskip 2mm +\hskip1cm +[1] $B>>0f(B and $B<D86(B $\cdots$ +\vskip 2mm + +\noindent $B$N$h$&$J7A$K$J$C$F$7$^$&!%F|K\8l$N>l9g$K$O$d$O$j(B + +\vskip 2mm +\hskip1cm +[1] $B>>0f(B, $B<D86(B $\cdots$ +\vskip 2mm + +\noindent $B$N$h$&$K$J$C$FM_$7$$!%$^$?1Q8l$N>l9g$K$O(B`{\tt et al.}'$B$G$h$$$,(B +$BF|K\8l$N>l9g$K$O(B`{\dg $B$[$+(B}'$B$NJ}$,$h$$!%(B +$B$5$i$K!$J88%$r%=!<%H$9$k>l9g$K$OCx<TL>$r<g%-!<$H$9$k%9%?%$%k$,B?$$$N$G!$(B +$B$3$3$,4A;z%3!<%I$G$"$k$H4A;z%3!<%I$N=g$KJB$V$N$G6q9g$,$h$/$J$$!%(B + +{\tt alpha}$B$G$OCx<T$NL>A0$+$i%i%Y%k$r:n$k$,!$1Q8l$H:.:_$9$k$3$H$r9M$($k$H(B +$B%i%Y%k$b(B + +\vskip 2mm +\hskip1cm +[$B>><D(B87] $B>>0f(B, $B<D86(B $\cdots$ +\vskip 2mm + +\noindent $B$N$h$&$J7A$h$j$O(B + +\vskip 2mm +\hskip1cm +[MS87] $B>>0f(B, $B<D86(B $\cdots$ +\vskip 2mm + +\noindent $B$N$[$&$,K>$^$7$$$H9M$($?!%(B + +\subsection{$BF|K\8lMQ$N%9%?%$%k$N;n:n(B} + +$B>e5-$N$h$&$JLdBj$r2r7h$9$k$3$H$r9MN8$7$?%9%?%$%k$rI8=`%9%?%$%k(B +{\tt plain}, {\tt alpha}, {\tt abbrv}, {\tt unsrt}$B$r4p$K(B{\tt jplain}, +{\tt jalpha}, {\tt jabbrv}, {\tt junsrt} +$B$H$$$&7A$G:n$C$F$_$?!%$^$?>pJs=hM}3X2qO@J8;o(B{\tt tipsj}$B!$>pJs=hM}(B +$B3X2q2$J8O@J8;o(B{\tt jipsj}$B!$(B +$BEE;R>pJsDL?.3X2qO@J8;o(B{\tt tieic}$B!$F|K\%*%Z%l!<%7%g%s%:%j%5!<%A3X2q(B +$BO@J8;o(B{\tt jorsj}$B!$?M9)CNG=3X2q;o(B{\tt jsai}$B!$%=%U%H%&%'%"2J3X2q;o(B{\tt jssst}$BMQ(B +$B$N%9%?%$%k$b;n:n$7$F$_$?!%(B + +$B;29MJ88%$N%=!<%H$"$k$$$O%i%Y%k:n@.$r9*$/9T$&$3$H$r(B +$B9M$(9g$;$F!$F|K\8l$NJ88%$K$OCx<TL>$N%m!<%^;zI85-$r(B`$BL>A0(B', `$B@+(B'$B$N=g$G(B($B1Q8lIw$K(B) +$BF~$l$k(B`{\tt yomi}'$B$J$k?7$?$J%U%#!<%k%I$r(B{\tt bib}$B%U%!%$%kCf$K(B +$B=q$/$3$H$H$7$?(B\myftnote{$B$3$N=gHV$K0[O@$N$"$k?M$b$"$m$&$,(B\cite{jeng}$B!$(B +$BB?$/$NF|K\?M$,$3$N7A$G(B($B1Q8l$G(B)$B=q$$$FO@J8$rH/I=$7$F$$$k$3$H$+$i(B +$B$3$&7h$a$?!%(B}$^,$\myftnote{$B$3$3$K$R$i$,$J$G(B`$BFI$_(B'$B$r$+$/$3$H$b!$(B +$B$b$A$m$s$G$-$k$+$i!$8^==2;=g$K%=!<%H$9$k$3$H$b2DG=$G$"$k!%(B}$B!%(B +$B$3$N%U%#!<%k%I$r;H$C$F%=!<%H$r9T$C$?$j(B, $B%i%Y%k$r:n$k$h$&$J7A$G(B +$B>e5-$N%9%?%$%k$r:n@.$7$?(B\myftnote{yomi$B$H$$$&%U%#!<%k%I$r(B +$B2C$($k$?$a$K(B{\tt bibtex}$BK\BN$rJQ99$9$kI,MW$O$J$$!%(B +$B%9%?%$%k%U%!%$%kCf$N(B{\tt ENTRY}$B$KDI2C$9$k$@$1$G$"$k!%(B}$^,$\myftnote{$BCx<TL>$N(B +$B=hM}0J30$K$bJQ99$r2C$($F$$$k!%>\$7$/$OG[I[%-%C%HCf$N(B{\tt jbtxbst.doc}$B$r(B +$B;2>H$5$l$?$$!%(B}$B!%(B + +\newpage +{\tt jalpha}$B%9%?%$%k$N0lIt$rNc$H$7$F<($9(B($B$?$@$7G[I[:Q$_$N%9%?%$%k$H$O(B +$B0[$J$kItJ,$,$"$k(B)$B!%(B + +\vskip2mm + +{\baselineskip=11pt +\begin{quote} +\begin{verbatim} +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$ +} + +\end{verbatim} +\end{quote} +} + +\subsection{$B%G!<%?%Y!<%9$N5-=RJ}K!(B} + +$B0J>e$N$h$&$K$7$?(B\JBibTeX $B$N$?$a$N(B{\tt bib}$B%U%!%$%k$NCf?H$O<!$N$h$&$K(B +$B$9$k(B\myftnote{$BCx<T$N@+$HL>$N4V$K%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$r(B +$BF~$l$F$*$+$J$$$H!$(B{\tt jabbrv}$B%9%?%$%k$N;~$K@+$@$1$K$J$i$:$K!$L>$b=P(B +$BNO$5$l$F$7$^$&$N$GCm0U$,I,MW$G$"$k!%%9%Z!<%9$G@+$HL>$r6h@Z$C$?>l9g$K$O!$(B +$B%9%?%$%k%U%!%$%k$N5-=R$K$*$$$F!$4A;z%3!<%ICx<TL>$r(B{\tt format.name\$} $B$7$F(B +$BF@$i$l$k(Bfirst name$B$K$O@+$,!$(Blast name$B$K$OL>$,F@$i$l$k$3$H$KCm0U$,I,MW$G(B +$B$"$k(B({\tt format.name\$} $B$r40A4$K$OF|K\8lBP1~$K$7$F$$$J$$$?$a$G$"$k!%$7$+$7(B +family name, last token$B$HFI$_BX$($l$PLdBj$J$$$7(B{\tt :-)}$B!%F|K\8lBP1~$N(B +$B%9%?%$%k%U%!%$%k$r:n@.$7$?7P83$+$i8@$&$H!$4A;z%3!<%ICx<TL>$H(B +$B$=$l0J30$N>l9g$KF1$8%U%)!<%^%C%H$r;XDj$7$F(B{\tt format.name\$} $B$r8F$S=P$9(B +$B$3$H$O$[$H$s$I$J$$$N$G!$:.Mp$9$k$+$b$7$l$J$$$,!$$"$($F$3$N$^$^$K$7$F$"$k(B)$B!%(B +$B$^$?!$Nc$G$O4A;z%3!<%ICx<TL>$N6h@Z$j$H$7$F!$(B`` and '' $B$r;H$C$F$"$k$,!$$3$3$O(B +$B$b$A$m$s!$(B``$B!$(B'' ($BC"$7A43Q!*(B)$B$G$h$$!%(B}$B!%(B + +{\baselineskip=11pt +\begin{quote} +\begin{verbatim} + @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 + } +\end{verbatim} +\newpage +\begin{verbatim} + @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 + } +\end{verbatim} +\end{quote} +} + +$B$3$N$h$&$K%G!<%?%Y!<%9$r:n@.$7$F$*$/$H(B{\tt jplain}$B$J$i$P(B + +\vskip 1.5mm +\hskip1cm +[1] Masao Iri, Kazuo Murota, and Shouichi Matsui. +Linear-time approximation $\cdots$ + +\hskip1cm +[2] $B>>0f@50l(B, $B0KM}@5IW(B. $B$"$U$l$N$J$$IbF0>.?tE@I=<(J}<0(B. $\cdots$ +\vskip 1.5mm + +\noindent $B$N$h$&$J7A$G;29MJ88%%j%9%H$,F@$i$l$k!%(B{\tt jalpha}$B$J$i(B + +\vskip 1.5mm +\hskip1cm +[IMM81] Masao Iri, Kazuo Murota, and Shouichi Matsui. Linear-time approximation + $\cdots$ + +\hskip1cm +[MI80]~~~ $B>>0f@50l(B, $B0KM}@5IW(B. $B$"$U$l$N$J$$IbF0>.?tE@I=<(J}<0(B. $\cdots$ +\vskip 1.5mm + +\noindent $B$H$J$k!%(B{\tt jabbrv}$B$J$i(B + +\vskip 1.5mm +\hskip1cm +[1] M. Iri, K. Murota, and S. Matsui. Linear-time approximation + $\cdots$ + +\hskip1cm +[2] $B>>0f(B, $B0KM}(B. $B$"$U$l$N$J$$IbF0>.?tE@I=<(J}<0(B. $\cdots$ +\vskip 1.5mm + +\noindent $B$H$J$k!%Cx<T$,4A;z%3!<%I$J$N$K(B`{\tt yomi}'$B$,$J$$>l9g$K$O!$Nc$($P!$(B + +\vskip 1.5mm +\hskip1cm +[$B>>0f(B80] $B>>0f@50l(B, $B0KM}@5IW(B. $B$"$U$l$N$J$$IbF0>.?tE@I=<(J}<0(B. $\cdots$ +\vskip 1.5mm + +\noindent $B$H$J$k$h$&$K$7$F$"$k(B($BCx<T$,J#?t$G$b@hF,$NCx<T$N$_$+$i%i%Y%k$r(B +$B:n$k$h$&$K$7$F$"$k(B)$B!%$?$@$7!$%=!<%H%-!<$K$O4A;z%3!<%I(B(EUC$B%3!<%I(B)$B$,(B +$B;H$o$l$k$+$i!$=gHV$O$*$+$7$J$b$N$H$J$k!%(B + + +\section{$B$*$o$j$K(B} + +$BK\9F$G$OF|K\8l2=$7$?(B\BibTeX $B$G$"$k(B\JBibTeX $B$K$D$$$F=R$Y$?!%(B +$B%P!<%8%g%s(B0.20$B$^$G$O$H$j$"$($:F0$/$H$$$&7A$G:n@.$7$F$"$C$?$,!$(B +$B%P!<%8%g%s(B0.30$B$G$O==J,<BMQ$KBQ$($k%l%Y%k$KC#$7$?$H9M$($F$$$k!%(B +$BF|K\8lMQ$N%9%?%$%k$K$D$$$F$bF1MM$G$"$k!%(B +$B8=:_$^$G$N$H$3$mMxMQ<T$,$5$[$IB?$/$J$$$?$a!$;HMQ7P83$,K3$7$$!%(B +$B:#8e$O;HMQ7P83$K4p$E$-!$F|K\8l$N$?$a$KI,MW$JAH$_9~$_4X?t$N(B +$BJQ99!&DI2C$J$I$N2~NI$r2C$($F$$$-$?$$!%$^$?3F<o$N3X2qMQ$N%9%?%$%k$N(B +$B:n@.$bI,MW$G$"$k$H9M$($F$$$k!%(B +$B$^$?(BOren Patashnik$B;a$+$i$N;d?.$K$h$l$P!$:#G/Cf(B(1991)$B$K(Bversion 1.0$B$r%j%j!<%9$9$k(B +$BM=Dj$i$7$$$N$G!$$=$l$NF|K\8l2=$bI,MW$G$"$m$&!%(B + +\bibliography{jbibtex} +\bibliographystyle{jplain} +\end{document} diff --git a/biblio/pbibtex/base/jbtxbst.doc b/biblio/pbibtex/base/jbtxbst.doc new file mode 100644 index 0000000000..e7bb79dce2 --- /dev/null +++ b/biblio/pbibtex/base/jbtxbst.doc @@ -0,0 +1,3762 @@ +% JBibTeX `jplain' family + % 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!!>pJs8&5f=j(B $B>pJs2J3XIt(B + % Last update 1994-10-25 +% +% $B$3$N%U%!%$%k(B jbtxbst.doc $B$O;29MJ88%%9%?%$%k$NM}2r$r=u$1$k$?$a!$(Bcpp $B$J$I$r(B +% $B;H$C$F!$0c$&%9%?%$%k$r:n@.$9$k>l9g$N?w7?$H$7$F;H$&$?$a$NJ*$G$"$k!%(B +% Oren Patashnik $B;a$K$h$k!$(Bbtxbst.doc $B$rK]Lu$9$k$H$H$b$K!$F|K\8lMQ$K=$@5!$DI2C(B +% $B$r2C$($?$b$N$G$"$k!%(B +% +% $BI8=`%9%?%$%k$O0J2<$N$h$&$K$7$F@8@.$7$?8e!$(B +% cpp -P -DJPLAIN jbtxbst.doc jplain.txt +% cpp -P -DJUNSRT jbtxbst.doc junsrt.txt +% cpp -P -DJALPHA jbtxbst.doc jalpha.txt +% cpp -P -DJABBRV jbtxbst.doc jabbrv.txt +% cpp -P -DTIPSJ jbtxbst.doc tipsj.txt +% cpp -P -DJIPSJ jbtxbst.doc jipsj.txt +% cpp -P -DTIEICE jbtxbst.doc tieic.txt +% cpp -P -DJORSJ jbtxbst.doc jorsj.txt +% cpp -P -DJNAME jbtxbst.doc jname.txt +% $BITMW$J%3%a%s%H9T!$6u9T$r:o=|$7$?8e!$%U%!%$%kL>$rJQ99$9$l$P@8@.$G$-$k!%(B +% ($B<B:]$K$O8e=R$N(B cpp.awk $B$r;H$C$F(B gawk $B$G@8@.$7$?!K!%(B +% +% ASCII $BHG$N(B versinn 0.98 $B$K4p$E$/(B Kanji BibTeX $B$G;H$o$l$F$$$k(B jplain, jalpha, +% junsrt, jabbrv $B$K6a$$7A$N(B bst $B%U%!%$%k$r:n$k$K$O!$(B +% +% cpp -P -DJPLAIN -DASCII98 jbtxbst.doc jplain98.txt +% +% $B$H$$$&$h$&$K(B, -DASCII98 $B$rDI2C$9$k!%40A4$KF1$8$G$O$J$$$,!$$+$J$j6a$$7A$N(B +% $BJ88%%j%9%H%G!<%?(B(bbl)$B$,F@$i$l$k$h$&$J%9%?%$%k%U%!%$%k$rF@$k$3$H$,$G$-$k!%(B +% +% cpp $B$r;}$C$F$$$J$$$H$+!$(B(PC $BMQ$N(B)C $B%3%s%Q%$%i!<$N(B cpp $B$K$h$C$F$O>e5-$NMM$K(B +% $B=hM}$G$-$J$$>l9g$,$"$k!%(BTurbo C 2.0 $B$N(B cpp $B$O8-$32a$.$F!$>e5-$NL\E*(B +% $B$K$O;H$($J$$!%$^$?9TF,$K(B # $B$,$J$/$F$b$=$l$r(B cpp $B$X$N;XNa$@$H$_$J$9=hM}7O$G$b(B +% $B$&$^$/$$$+$J$$>l9g$,$"$k!%(B +% cpp $B$G$&$^$/=hM}$G$-$J$$>l9g$K;H$($k(B gawk $BMQ$N%9%/%j%W%H$r(B bst/cpp.awk $B$H$$$&(B +% $B7A$GMQ0U$7$F$"$k!%;H$$J}$K$D$$$F$O(B bst/generate.[bat|sh] $B$r8+$h!*(B +% +% UNIX $B$N(B cpp $B$G$O=hM}$G$-$k$3$H$r4|BT$9$k!%>/$J$/$H$b(B SUN $B$N(B cpp $B$G$O(B +% $B=hM}$G$-$?!%(B +% +% $BIT9,$K$7$F(B cpp $B$,;H$($J$$$H$+!$(B gawk $B$b$J$$$H$+$N>l9g$K$O!$0J2<$N@bL@$r(B +% $B;29M$K$7$F?M4V(B cpp $B$K$J$C$F!$(Beditor $B$r;H$C$FJT=8$7$F:n$j=P$;$P$$$$!%(B +% ($B$3$s$JIT9,$J$3$H$O$J$$$G$7$g$&$M!)!K(B +% +% cpp $B$N=PNO$OFCDj$N9T$,:o=|$5$l$k!J$"$k$$$O6uGr9T$,IU2C$5$l$k!K$3$H$r=|$1$P(B +% $BF~NO$HF1$8$G$"$k!%0J2<$N%7!<%/%(%s%9$O!$(B# $BJ8;z$,Bh#1%+%i%`$K$"$k$H$7$F!$(B +% #if VAR +% VAR $B$,(B 0 $B$G$J$$;~$K4^$a$k9T(B +% #else +% VAR $B$,(B 0 $B$N;~$K4^$a$k9T(B +% #endif +% +% VAR $B$NCM$K1~$8$F$I$A$i$N9T72$,;H$o$l$k$+!$4^$^$l$k$h$&$K$J$k$+$r<($9!%(B +% #else $BItJ,$O$J$/$F$b$h$$!%(B#else, #endif $B$N8e$K$O%3%a%s%H$r=q$/;v$,$G$-$k!%(B +% $BJQ?t$O(B +% #define VAR value +% $B$GCM$r@_Dj$G$-!$(B #ifdef VAR $B$G(B VAR $B$,CM$r;}$C$F$$$k$+!JDj5A$5$l$F$$$k$+!K!$(B +% #ifndef VAR $B$G(B VAR $B$,CM$r;}$C$F$$$J$$$+!JL$Dj5A$+!K$rD4$Y$k$3$H$,$G$-$k!%(B +% $B$3$N%U%!%$%kCf$G;H$C$F$$$k$b$$D$N7A<0$O(B #if !VAR $B$G$"$j!$$3$l$O(B VAR $B$N(B +% $BCM$,(B 0 $B$N;~$K8eB3$N9T72$r4^$a$k$h$&$K$9$k$b$N$G$"$k!%(B +% +% $B5,Ls(B: $B%W%j%W%m%;%C%5$N$?$a$NJQ?t$H$7$F$O!$$9$Y$FBgJ8;z$r;H$&$3$H$K$9$l$P!$(B +% $B!!!!!!$I$3$K$"$k$+8+$D$1$k$N$,4JC1$K$J$k!%(B +% +% $B8@$$Lu(B: cpp $B$N5!G=$r%U%k$K;H$&$h$&$K=q$1$P!$$3$N%U%!%$%k$O$b$C$H>.$5$/$G$-$k!%(B +% $B$7$+$7!$:n6H$7$?4D6-$G$O$A$c$s$H;H$($k(B cpp $B$,$J$+$C$?$N$G!$(B +% $B%*%j%8%J%k$G;H$C$F$$$J$+$C$?5!G=$O;H$C$F$$$J$$!%(B +% +% cpp $B$X$N(B(gawk $B$X$N(B)$B%3%^%s%I9T$G$O!$(BJPLAIN, JUNSRT, JALPHA, JABBRV, JIPSJ, +% TIPSJ, TIEICE, JNAME, JORSJ $B$N$$$:$l$+$r;XDj$7$F$*$/$3$H!J$I$l$G$b$J$$$H!$(B +% JPLAIN $B$r%G%#%U%)!<%k%H$H$7$F;H$&$h$&$K$J$C$F$$$k!%=>$C$F?7$7$$%9%?%$%k$r(B +% $B:n$j=P$9>l9g$K$O!$$3$N%G%#%U%)%k%H$r@_Dj$7$F$$$kItJ,$r=q$-49$($k$3$H!K!%(B +% +% $B$=$l$>$l$NO@M}JQ?t$O!$$=$l$>$l$N%9%?%$%k$G!$??(B(1)$B$+56(B(0)$B$K@_Dj$7$F$*$/$3$H!%(B +% $B8=:_;H$C$F$$$kJQ?t$H$=$N0UL#$O0J2<$NDL$j$G$"$k!%(B +% +% LAB_ALPH: $BJ8;zNs%i%Y%k$r@8@.(B($B$3$l$,56$J$i?t;z%i%Y%k$K$J$k(B) +% SORTED: ($B?t;z%i%Y%k$G$J$$$J$i!K%i%Y%k!$Cx<T$J$I$N>pJs$r(B +% $B;H$C$F$K%=!<%H$9$k(B($B56$J$i%=!<%H$5$l$:$K!$=P8==g$KJB$V(B) +% NAME_FULL: $BCx<T!$JT<T$NL>A0$H$7$F(B bibliography file $BCf$K=q$+$l$?(B +% $BJ*$r$=$N$^$^;H$&(B($B56$J$i@+0J30$O%$%K%7%c%k$@$1$K$J$k!%(B +% $B4A;zI=5-$5$l$?Cx<T$N>l9g$K$O!$@+$HL>$N4V$K%9%Z!<%9$,(B +% $B$"$l$P!$@+$@$1$K$J$k(B) +% ATIT_LOWER: $BK\0J30!JO@J8$J$I!K$N%?%$%H%k$O@hF,$NJ8;z!$%3%m%s$N8e$N(B +% $B:G=i$NJ8;z0J30$O>.J8;z$K$9$k(B($B56$J$i(B database $BCf$N$^$^(B) +% MONTH_FULL: $B7n$NL>A0$r>JN,7A$H$7$J$$(B($B56$J$i>JN,7A(B) +% JOUR_FULL: $BO@J8;o!$;(;o$J$I$r>JN,7A$H$7$J$$(B($B56$J$i>JN,7A!$8=:_$O(B +% $B$=$N7A<0$O(B ACM $B$N=PHGJ*$K$"$k7A<0$G$"$k(B) +%---------------------------------------------------------------------- +% $B>>0f$K$h$kDI2CJ,(B +% IN_LOWER: In $B$G$J$/(B in$B!!$r;H$&!%(B +% ONE_SENTENCE: 1$BJ8$N7A$K$9$k!%(B +% ED_SHORT: Editor $B$G$J$/(B Ed. +% FAMILY_FIRST: $B1Q8lI=5-Cx<T$N@+$r@h$K!$L>$r8e$K$9$k!%(B +% FIRST_FAMILY_FIRST: $B1Q8lI=5-Cx<T$NBh0lCx<T$@$1@+$r@h$K$9$k!%(B +% NO_COM_AND: 3$BL>0J>e$NCx<T$N;~(B and $B$NA0$K(B , $B$rF~$l$J$$!%(B +% SMALL_CAP: $BI=Bj$O(B small cap $B%U%)%s%H!%(B +% KANJI_FULL_NAME: $B4A;zCx<TL>$OL>$^$G=P$9!%(B +% ED_IN_PAR : $BJT=8<TL>$r3g8L$KF~$l$k!%(B +% NO_EM: $BK\!$;(;oL>$H$+$K6/D4;XDj(B($B%$%?%j%C%/(B)$B$O;H$o$J$$!%(B +% YEAR_IN_PAR: $BG/$r3g8L$G0O$`!%(B +% ZENKAKU_PUN: $BF|K\8lJ88%$KBP$7$F$OA43Q$N(B"$B!$(B","$B!%(B","$B!'(B"$B$r;H$&!%(B +% ZENKAKU_COLON: $B#1J87A<0$N;~!$F|K\8lCx<T$N8e$K$OA43Q$N%3%m%s$r(B +% $BIU$1$k!%(B +% JIPSJ_LIKE: JIPSJ $B$N$h$&$JC;$$(B Vol., pp. $B;2>H7A<0(B +% Vol.=V, No.=N, pp. C--D, year=Y, month=M $B$r(B +% V, N(M Y), C--D $B$N$h$&$J=gHV$GJB$Y$k!%(B +% USE_FIRST_ONLY: $BJ8;zNs%i%Y%k$K$OBh#1Cx<T$7$+;H$o$J$$!%(B +% USE_KANJI_HOKA: ``$B$[$+(B''$B$G$J$/(B``$BB>(B''$B$r;H$&(B +% SHOW_BOOK_PAGES: BOOK $B$N%Z!<%8?t$b=PNO$9$k!%(B +%---------------------------------------------------------------------- +% +% $B%G%#%U%)!<%k%H$N%9%?%$%k$N;XDj!J?7$7$$%9%?%$%k$r2C$($k>l9g$K$O$3$3$r(B +% $BJQ99$9$kI,MW$,$"$k!%JQ99$7$F$*$+$J$$$H(B jplain $B$K$J$C$F$7$^$&!*!K(B +% +#ifndef JUNSRT +# ifndef JALPHA +# ifndef JABBRV +# ifndef TIPSJ +# ifndef JIPSJ +# ifndef TIEICE +# ifndef JNAME +# ifndef JORSJ +# define JPLAIN 1 +# endif JORSJ +# endif JNAME +# endif TIEICE +# endif JIPSJ +# endif TIPSJ +# endif JABBRV +# endif JALPHA +#endif +% +% ASSCII98 $B$,Dj5A$5$l$F$$$l$P!$(BASCII $BHG$N(B 0.98 $B$K4p$E$/(B Kanji BibTeX $B$N(B +% $B%9%?%$%k%U%!%$%k$r;H$C$FF@$i$l$k7k2L$K6a$$$b$N$,F@$i$l$k$h$&$K$9$k!%(B +% $B$^$C$?$/F1$8$K$J$k$H4|BT$7$F$O$$$1$J$$!*!*!*(B +% +#ifdef ASCII98 +# define ZENKAKU_PUN 1 +# define ZENKAKU_COLON 1 +#else !ASCII98 +# define ZENKAKU_PUN 0 +#endif +% +#ifdef JPLAIN +% jplain $B%9%?%$%k(B ($B%=!<%H$5$l$??tCM%i%Y%k(B) +# define LAB_ALPH 0 +# define SORTED 1 +# define NAME_FULL 1 +# define ATIT_LOWER 1 +# define MONTH_FULL 1 +# define JOUR_FULL 1 +%-------------------------------------- +# define IN_LOWER 0 +# define ONE_SENTENCE 0 +# define ED_SHORT 0 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 0 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 0 +# define USE_KANJI_HOKA 0 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JPLAIN +% +#ifdef JUNSRT +% junsrt $B%9%?%$%k(B ($B%=!<%H$5$l$J$$?tCM%i%Y%k(B) +# define LAB_ALPH 0 +# define SORTED 0 +# define NAME_FULL 1 +# define ATIT_LOWER 1 +# define MONTH_FULL 1 +# define JOUR_FULL 1 +%-------------------------------------- +# define IN_LOWER 0 +# define ONE_SENTENCE 0 +# define ED_SHORT 0 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 0 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 0 +# define USE_KANJI_HOKA 0 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JUNSRT +% +#ifdef JALPHA +% jalpha $B%9%?%$%k(B ($B%=!<%H$5$l$?J8;zNs%i%Y%k(B) +# define LAB_ALPH 1 +# define SORTED 1 +# define NAME_FULL 1 +# define ATIT_LOWER 1 +# define MONTH_FULL 1 +# define JOUR_FULL 1 +%-------------------------------------- +# define USE_FIRST_ONLY 0 +# define IN_LOWER 0 +# define ONE_SENTENCE 0 +# define ED_SHORT 0 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 0 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 0 +# define USE_KANJI_HOKA 0 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JALPHA +% +#ifdef JABBRV +% jabbrv $B%9%?%$%k(B ($B%=!<%H$5$l$??tCM%i%Y%k$G!$>JN,7A<0(B) +# define LAB_ALPH 0 +# define SORTED 1 +# define NAME_FULL 0 +# define ATIT_LOWER 1 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define IN_LOWER 0 +# define ONE_SENTENCE 0 +# define ED_SHORT 1 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 0 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 0 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JABBRV +% +#ifdef TIPSJ +% tipsj $B%9%?%$%k(B ($B%=!<%H$5$l$J$$?tCM%i%Y%k$G!$>JN,7A!$#1J87A<0(B) +% $B>pJs=hM}3X2qO@J8;o!$>pJs=hM}3X2q;oMQ(B +# define LAB_ALPH 0 +# define SORTED 0 +# define NAME_FULL 0 +# define ATIT_LOWER 0 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define IN_LOWER 1 +# define ONE_SENTENCE 1 +# define ED_SHORT 1 +# define FAMILY_FIRST 1 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 1 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 1 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 1 +# define JIPSJ_LIKE 0 +# define ZENKAKU_COLON 1 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 1 +%-------------------------------------- +#endif TIPSJ +% +#ifdef JIPSJ +% jipsj $B%9%?%$%k(B ($B%=!<%H$5$l$??tCM%i%Y%k$G!$>JN,7A$r;H$&!$#1J87A<0(B) +% Journal of Information Processing ($B>pJs=hM}3X2q(B) +# define LAB_ALPH 0 +# define SORTED 1 +# define NAME_FULL 0 +# define ATIT_LOWER 0 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define IN_LOWER 1 +# define ONE_SENTENCE 1 +# define ED_SHORT 1 +# define FAMILY_FIRST 1 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 1 +# define SMALL_CAP 1 +# define KANJI_FULL_NAME 1 +# define ED_IN_PAR 1 +# define NO_EM 0 +# define YEAR_IN_PAR 1 +# define JIPSJ_LIKE 1 +# define ZENKAKU_COLON 0 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JIPSJ +% +#ifdef TIEICE +% tieic $B%9%?%$%k(B ($B%=!<%H$5$l$J$$?tCM%i%Y%k$G!$>JN,7A$r;H$&!$#1J87A<0(B) +% $BEE;R>pJsDL?.3X2qO@J8;o(B +# define LAB_ALPH 0 +# define SORTED 0 +# define NAME_FULL 0 +# define ATIT_LOWER 1 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define IN_LOWER 1 +# define ONE_SENTENCE 1 +# define ED_SHORT 1 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 1 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 1 +# define NO_EM 1 +# define YEAR_IN_PAR 1 +# define JIPSJ_LIKE 0 +# define ZENKAKU_COLON 1 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif TIEICE +% +#ifdef JNAME +% jname $B%9%?%$%k(B ($B%=!<%H$5$l$?J8;zNs%i%Y%k$G!$>JN,7A$r;H$&!$#1J87A<0(B) +% $BJ8;zNs%i%Y%k$K$OBh#1Cx<T$NL>A0$7$+;H$o$J$$!%(B +# define LAB_ALPH 1 +# define SORTED 1 +# define NAME_FULL 0 +# define ATIT_LOWER 0 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define USE_FIRST_ONLY 1 +# define IN_LOWER 1 +# define ONE_SENTENCE 1 +# define ED_SHORT 1 +# define FAMILY_FIRST 0 +# define FIRST_FAMILY_FIRST 1 +# define NO_COM_AND 0 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 0 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 0 +# define ZENKAKU_COLON 1 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JNAME +% +#ifdef JORSJ +% jorsj $B%9%?%$%k(B ($B%=!<%H$5$l$??tCM%i%Y%k$G!$>JN,7A$r;H$&!$#1J87A<0(B) +% Journal of the Operations Research Society of Japan +% $BF|K\%*%Z%l!<%7%g%s%:%j%5!<%A3X2qO@J8;o!J1QJ8!$OBJ8$N$I$A$i$G$bNI$$!*!K(B +# define LAB_ALPH 0 +# define SORTED 1 +# define NAME_FULL 0 +# define ATIT_LOWER 0 +# define MONTH_FULL 0 +# define JOUR_FULL 0 +%-------------------------------------- +# define IN_LOWER 1 +# define ONE_SENTENCE 1 +# define ED_SHORT 1 +# define FAMILY_FIRST 1 +# define FIRST_FAMILY_FIRST 0 +# define NO_COM_AND 1 +# define SMALL_CAP 0 +# define KANJI_FULL_NAME 1 +# define ED_IN_PAR 0 +# define NO_EM 0 +# define YEAR_IN_PAR 0 +# define JIPSJ_LIKE 1 +# define ZENKAKU_COLON 1 +# define USE_KANJI_HOKA 1 +# define SHOW_BOOK_PAGES 0 +%-------------------------------------- +#endif JORSJ +% +% $B%(%s%H%j$N%U%)!<%^%C%H7A<0!'(B Mary-Claire van Leunen $B$,(B +% "A Handbook for Scholars" $B$G?d>)$7$F$$$k7A<0$K6a$$!%K\$NCg4V$NI=Bj$O(B +% $B%$%?%j%C%/BN$G(B($B6/D4$5$l$F(B)$B!$$=$l0J30$NI=Bj$O(B($BEE;R>pJsDL?.3X2qO@J8;o$r(B +% $B=|$$$F!$0zMQId$J$7$G!KJ8$N7A<0$GBgJ8;z!$>.J8;z$,;H$o$l$k!%(B +% $B$3$N%U%!%$%k$G$O!$#1J8$N7A<0$G%U%)!<%^%C%H$9$k%9%?%$%k0J30$G$O!$(B +% $B<g$?$k%V%m%C%/$N4V$K(B \newblock(\newline $B$d(B \newpage $B$K;w$?L>A0(B)$B$r(B +% $B=PNO$9$k$N$G!$(B\ducumentstyle $B$N0z?t$H$7$F(B `openbib' $B%*%W%7%g%s$r;XDj(B +% $B$9$k$3$H$G!$(Bopen $B7A<0$N%j%9%H!$$9$J$o$A%V%m%C%/4V$G2~9T$5$l!$%V%m%C%/(B +% $BFb$G$O%$%s%G%s%H$5$l$?7A<0$N%j%9%H$rF@$k;v$,$G$-$k!%(B +% $B%G%#%U%)!<%k%H$O(B closed $B7A<0$G$"$j!$%V%m%C%/Kh$K2~9T$5$l$?$j$7$J$$!%(B +% +% $BJ88%%j%9%H$NJ8;zNs%i%Y%k$N7A<0$O0J2<$NDL$j!%(B +% [Knu73] $BCx<T!JJT<T!$%-!<!K$,#1?M$N;~(B +% [AHU83] $BJ#?tCx<T$N;~$O@+$NF,J8;z$rJB$Y$?$b$N(B +% (Aho, Hopcroft, Ulman $B$N>l9g$K$O(B AHU $B$H$J$k(B) +% +% $BJ88%%j%9%H$N?tCM%i%Y%k$N7A<0$O0J2<$NDL$j!%(B +% [number] +% +% $BJ8;zNs%i%Y%k$N7A<0$N%=!<%H$O0J2<$NDL$j!J<!$N=g$GJ88%$,JB$V!K!%(B +% $B<g%-!<$,%i%Y%k!$<!$,Cx<T!JJT<T$J$I$N>l9g$b$"$k!K!$(B +% $B$=$N<!$,G/!$:G8e$,I=Bj$N%"%k%U%!%Y%C%H=g$GJB$Y$i$l$k!%(B +% +% $B4A;zCx<TL>$N>l9g$K$O(B yomi $B%U%#!<%k%I$K%m!<%^;zI=5-$rF~$l$F(B +% $BCV$/;v$G!$J8;zNs%i%Y%k$N%i%Y%k$K$J$k!%=q$-J}$r9)IW$9$l$P!$(B +% $BF|K\8l$N%i%Y%k$H$9$k$3$H$b$G$-!$$5$i$K#5#02;=g$KJB$Y$k$3$H$b(B +% $B$G$-$k!%>\$7$/$O(B jbtxdoc.tex $B$r8+$h!%(B +% +% $B?tCM%i%Y%k$N7A<0$N%=!<%H$O0J2<$NDL$j!J<!$N=g$GJ88%$,JB$V!K!%(B +% $B<g%-!<$,Cx<T!JJT<T$J$I$N>l9g$b$"$k!K!$<!$,G/!$:G8e$,I=Bj$N(B +% $B%"%k%U%!%Y%C%H=g$GJB$Y$i$l$k!%(B +% +% $B4A;zCx<TL>$N>l9g$K$O(B yomi $B%U%#!<%k%I$K%m!<%^;zI=5-$rF~$l$F(B +% $BCV$/;v$G!$%"%k%U%!%Y%C%H=g$K$J$k!%=q$-J}$r9)IW$9$l$P!$#5#02;(B +% $B=g$KJB$Y$k$3$H$b$G$-$k!%>\$7$/$O(B jbtxdoc.tex $B$r8+$h!%(B +% +% $B%=!<%H$5$l$J$$>l9g$NJ88%$N=gHV!'(B +% $BK\J8Cf$N0zMQ=g!%(B +% +% History +% 12/16/84 (HWT) Original `plain' version, by Howard Trickey. +% 12/23/84 (LL) Some comments made by Leslie Lamport. +% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik. +% 2/17/85 (HWT) Template file and other standard styles made. +% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f. +% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i: +% fixed Theoretical Computer Science macro name; +% fixed the format.vol.num.pages function. +% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes: +% assignment operator (:=) arguments reversed; +% the preamble$ function outputs the database PREAMBLE; +% entry.max$ and global.max$ (built-in) variables replace +% entry.string.max and global.string.max functions; +% alphabetizing by year then title, not just title; +% many unnecessary ties removed; \it ==> \em; +% the `alpha' style uses a superscripted `+' instead of a +% `*' for unnamed names in constructing the label; +% the `abbrv' style now uses "Mar." and "Sept."; +% the functions calc.label and presort now look at just +% the fields they're supposed to; +% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles; +% INBOOK and INCOLLECTION take an optional type (e.g. +% type = "Section"), overriding the default "chapter"; +% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow +% either volume or number, not just volume; +% INCOLLECTION now allows an edition and series field; +% PROCEEDINGS and INPROCEEDINGS now use the address field +% to tell where a conference was held; +% INPROCEEDINGS and PROCEEDINGS now allow either volume +% or number, and also a series field; +% MASTERSTHESIS and PHDTHESIS accept types other than +% "Master's thesis" and "PhD thesis"; +% UNPUBLISHED now outputs, in one block, note then date; +% MANUAL now prints out the organization in +% the first block if the author field is empty; +% MISC can't be empty---it requires some optional field. +% +% $B0J>e$O1Q8lHG$N(B btxbst.doc $B$NJQ99MzNr$G$"$k!%(B +% +% 1989-06-02 $B>>0f@50l(B(Shouichi Matsui) +% C version 0.20 $BMQ$KJQ99!$#3$D$N%9%?%$%k$rDI2C(B +% 1991-01-01 $B>>0f@50l(B(Shouichi Matsui) +% C version 0.30 $BMQ$KJQ99$HHyD4@0B??t!*?7$?$J%9%?%$%k$b(B +% $BDI2C!*(B +% +% $B%(%s%H%j$N%U%#!<%k%I$N@k8@(B +% +% (April '84 edition $B$N(B 231-232 $B%Z!<%8$K=R$Y$i$l$F$$$k(B) Scribe $B$H(B +% $BF1$8$h$&$J$b$N$G$"$k$,!$(B(J)BibTeX $B$OL>A0$N=hM}5!G=$r;}$C$F$$$k$N$G!$(B +% fullauthor $B$"$k$$$O(B editors $B%U%#!<%k%I$O$J$$!%(B +% annote $B%U%#!<%k%I$OCm<aIU$-$NJ88%%j%9%H%9%?%$%k$r:n$k>l9g$K$O;H$o$l$k$,!$(B +% $B$3$N%U%!%$%k$GDj5A$7$F$$$k%9%?%$%k$G$O;H$C$F$$$J$$$N$G!$%3%a%s%H%"%&%H(B +% $B$5$l$F$$$k!%$3$3$K<($7$?%U%#!<%k%I$NB>$K!$AH$_9~$_$NJ88%%j%9%HFb;2>H(B +% (CROSSREF)$B%U%#!<%k%I$b$"$k$,!$$3$l$K$D$$$F$O8e$G@bL@$9$k!%(B + +ENTRY +% $B%U%#!<%k%I72(B: +% $B!!!!0J2<$N@bL@$G!I?7$?$JJ8$r3+;O$9$k!I$N$O#1J87A<0$G%U%)!<%^%C%H$7$J$$!$(B +% $B!!!!%9%?%$%k$N>l9g$K$N$_$"$F$O$^$k!%(B + { address +% $BDL>o$O=PHG<R!$5!4X$N=;=j$rF~$l$k!%FI<T$N0Y$K$J$k>l9g$K$N$_F~$l$k$3$H!%(B +% $BNc$($P!$Bg$-$J=PHG<R$N>l9g$K$O>JN,$9$Y$-$G$"$k!%$7$+$7!$(BPROCEEDINGS +% $B$^$?$O(B INPROCEEDINGS $B$N>l9g$K$O$3$3$K$O2q5D$N3+:ECO$r=q$/!%$3$N#2$D$N(B +% $B%(%s%H%j$N7?$G$O!$=PHG<T!$5!4X$N=;=j$,I,MW$J$i!$(Bpublisher $B$+(B +% organization $B%U%#!<%k%I$K4^$a$k$3$H!%(B +% annote +% $BD9$$Cm<a(B($BCm<aIU$-J88%%j%9%HMQ!$?7$?$JJ8$r3+;O$9$k(B)$B!%(B + author +% (J)BibTeX $B7A<0$G=q$$$?!$Cx<T$NL>A0(B + booktitle +% $B;2>H$5$l$F$$$k$N$,K\A4BN$G$J$$>l9g$K!$K\$NI=Bj$rF~$l$k!%K\A4It$r(B +% $B;2>H$7$F$$$k>l9g$K$O!$$3$l$G$J$/(B title $B%U%#!<%k%I$r;H$&$3$H!%(B + chapter +% $B>O(B($B$"$k$$$O@a$J$I(B)$B$NHV9f!%(B + edition +% $BK\$NHG!$(B("Second" $B$J$I$N(B) $B=g=x?t$G$J$$$H$$$1$J$$!%(B + editor +% (J)BibTeX $B7A<0$G=q$$$?!$JT<T$NL>A0!%(Bauthor $B%U%#!<%k%I$b$"$k>l9g$K$O(B +% $BCx:n$,H/I=$5$l$?K\$J$I$NJT<T$NL>A0$r=q$/!%(B + howpublished +% $B$3$N4qL/$JJ*$,$I$&$7$F=PHG$5$l$?$+!J?7$?$JJ8$r3+;O$9$k!K!%(B + institution +% $B%F%/%K%+%k%l%]!<%H$N%5%]!<%H5!4XL>(B + journal +% $BO@J8;o!$;(;o$NL>A0(B($B$$$/$D$+%^%/%m$,MQ0U$5$l$F$$$k(B)$B!%(B + key +% $B%"%k%U%!%Y%C%H=g$KJB$Y$k;~!$%i%Y%k$r:n$k;~!$J88%%j%9%HFb;2>H$N%-!<$H$7$F(B +% $B;H$o$l$k!JCx<T!$JT<T$,$J$$$H$-$KI,MW$G$"$k!K!%(B + month +% $B7n(B($B%^%/%m$,MQ0U$5$l$F$$$k(B)$B!%(B + note +% $BFI<T$,;2>HJ88%$r8+$D$1$k$N$KLrN)$D>pJs!J?7$?$JJ8$r3+;O$9$k!K!%(B + number +% $BO@J8;o!$;(;o!$%F%/%K%+%k%l%]!<%H$NHV9f!$$"$k$$$O%7%j!<%:Cf$NHV9f!%(B + organization +% $B2q5D$N%9%]%s%5!<!J$"$k$$$O%^%K%e%"%k$N=PHG<R!K$N5!4XL>$G!$Cx<T!JJT<T!K$,(B +% $B$J$$>l9g$G!$$3$N>pJs$+$i$G$O%i%Y%k$,4qL/$K$J$k>l9g!$$"$k$$$OJ88%%j%9%HFb(B% $B;2>H$9$k>l9g$K$O!$E,Ev$J4J7i$J5!4XL>$r(B key $B%U%#!<%k%I$KF~$l$k$3$H!%(B + pages +% $B%Z!<%8HV9f!$%Z!<%8?t!$$"$k$$$O%Z!<%8HO0O!JHO0O$O(B `--' $B$r;H$C$F!$(B +% $BC1=c$JHO0O$G$O$J$$>l9g$K$O8e$m$K(B `+' $B$rIU$1$F<($9$3$H!K!%(B + publisher +% $B=PHG<R(B($B<gBN(B)$B$NL>A0!%(B + school +% $B3X9;(B($BBg3X(B)$B$NL>A0!J3X0LO@J8MQ!K!%(B + series +% $BJ#?t4,$+$i$J$kK\$N%7%j!<%:L>!$3F!9$NK\$O3F!9$NI=Bj$r;}$C$F$$$k$O$:!%(B + title +% $B;2>H$7$F$$$k$b$N$NI=Bj!%(B + type +% $B%F%/%K%+%k%l%]!<%H$N>l9g$K%G%#%U%)%k%H$G;H$o$l$k(B "Technical Report" +% $B$NBe$o$j$NL>>N!JNc$($P(B "Research Note"$B!K!$$"$k$$$O3X0LO@J8$N<oN`!$(B +% $B$"$k$$$OK\$N%Q!<%H$NL>A0!%(B + volume +% $BO@J8;o$J$I$N4,?t!$$"$k$$$OJ#?t4,$N=qJ*$N4,?t!%(B + year +% $BG/$O?t;z$@$1$G$J$$$H$$$1$J$$!J@55,2=$7$?8e$G$O!$#4$D$N?t;z$G=*$o$i$J$$(B +% $B$H$$$1$J$$!%?7$?$JJ8$r3+;O$7$J$$!K!%(B +% $B><OB(B53$B$H$+$r;H$C$F$b$+$^$o$J$$$,!$(Bjalpha $B$J$I$G@8@.$5$l$k%i%Y%k$,JQ$J(B +% $B$b$N$K$J$k$3$H$,$"$k$N$GCm0U$9$k$3$H!%(B + yomi +% $BCx<T!$JT=8<TL>$N!VFI$_!W$r(Bauthor, editor$B$J$I$N=q<0$G(B +% $B1Q8lIw$K=q$/!%$R$i$,$J$G=q$1$P0J30$G$O8^==2;=g$N(B +% $B%=!<%H$b$G$-$k!%>\$7$/$O(B jbtxdoc.tex $B$r8+$h!%(B + } + +% $BF|K\8l$NJ88%$+$I$&$+$N%U%i%0(B + {is.kanji.entry} + +% $B0J2<$NJ8;z7?JQ?t$O0zMQ%i%Y%k$r:n@.$9$k$?$a$K;H$o$l$k!%%a%b%j$,B-$j$J$$(B +% $B>l9g$K$O!$(Bsort.label $B$O(B on the fly $B$K4JC1$K:n@.$G$-$k!%(B + +#if LAB_ALPH +#if SORTED + { label extra.label sort.label } +#else !SORTED + +% $BJ8;zNs%i%Y%k$r;H$&>l9g$K!$0zMQ=g$KJB$Y$k$N$ONI$$$H$O;W$($J$$$,!$(B +% $B$=$N>l9g$K$O!$$A$g$C$HJL$N$d$jJ}$G%i%Y%k$r:n$i$J$/$F$O$J$i$J$$!%(B + + { label } +#endif SORTED +#else !LAB_ALPH + { label } +#endif LAB_ALPH + +% $B$=$l$>$l$N%(%s%H%j$N7?$KBP1~$7$?4X?t$O!$@h$:(B output.bibitem $B$r8F$s$G(B +% \bibitem $B$H$=$N0z?t$r(B .BBL $B%U%!%$%k$K=q$-=P$9!%<!$KMM!9$J%U%#!<%k%I$,(B +% $B%U%)!<%^%C%H$5$l(B output $B$+(B output.check $B$K$h$C$F=q$-=P$5$l$k!%$3$l$i$N(B +% $B=PNO4X?t$O6uJ8;zNs$,EO$5$l$F$$$J$$$3$H$r3NG'$7$J$,$i!$6h@Z$j5-9f!J%+%s%^!$(B +% $B%T%j%*%I!$%3%m%s!$(B\newblock$B!K$r=q$-=P$9=hM}$r9T$&!%:G8e$K(B fin.entry $B$,(B +% $B8F$P$l!$J8$N=*$o$j$N%T%j%*%I$r=q$-$@$7$F!$=hM}$,=*N;$9$k!%(B +% +% $B;29MJ88%$O$$$/$D$+$N%V%m%C%/$H$7$F%U%)!<%^%C%H$5$l$k!'(B +% open $B7A<0$G$O!$%V%m%C%/$O?7$7$$9T$r3+;O$7!$%V%m%C%/Cf$G$O%$%s%G%s%H$5$l$k!%(B +% $B%V%m%C%/Cf$K$OJ#?t$NJ8$,$"$C$F$h$$!J$H$O$$$C$F$bJ8K!E*$K$$$&J8$G$O$J$/!$(B +% $B%T%j%*%I$G=*$o$kC18lNs$G$O$"$k$,!K!%%(%s%H%j4X?t$O:G=i$N%V%m%C%/0J30$N(B +% $B%V%m%C%/$r=PNO$9$kA0$K$O(B new.block $B$r8F$P$M$P$J$i$J$$!%(B +% $B$^$??7$7$$J8$r3+;O$9$k>l9g$K$O(B new.sentence $B$r8F$P$M$P$J$i$J$$!%(B +% $B=PNO%k!<%A%s$O!$%T%j%*%I$,#2$DB3$$$?$j$7$J$$$h$&$K!$#2$D$N(B new.sentence +% $B$N4V$K$O!$6uJ8;zNs$G$J$$$b$N$,$"$k$3$H$r3NG'$9$kI,MW$,$"$k!%(B +% new.block $B$K$D$$$F$bF1$8$G$"$k!%(B +% +% $B=PNO%k!<%A%s$O$=$N0z?t$rD>$A$K=PNO$7$J$$!%$=$N$+$o$j$KDL>o$O(B +% $B%9%?%C%/$KCV$-!$(B($B6h@Z$j5-9f$H$7$F2?$,I,MW$+J,$+$C$?;~E@$G(B)$B<!$N(B +% $B=PNO%k!<%A%s$,=PNO$9$k!%=>$C$F=PNO%k!<%A%s$O%9%?%C%/>e$N%G!<%?$K(B +% $BI,MW$J6h@Z$j5-9f$rIU2C$7$F=q$-=P$9I,MW$,$"$k!%(B +% +% $B$I$N6h@Z$j5-9f$,I,MW$+$rH=Dj$9$k$?$a$K!$(Boutput.state $B$r;H$&!%(B +% $B$=$NCM$O0J2<$N$$$:$l$+!%(B +% before.all \bibitem $B$ND>8e(B +% mid.sentence $BJ8$NESCf!$8eB3$,$"$k>l9g$K$O%+%s%^$,I,MW(B +% after.sentence $BJ8$ND>8e!%%T%j%*%I$,I,MW(B +% after.block $B%V%m%C%/(B($BJ8(B)$B$ND>8e!%%T%j%*%I$H(B\newblock $B$,I,MW(B +%------------------------------------------------------------------------ +% after.author $BCx<TL>$N8e(B(: $B$rIU$1$k$N$K;H$&(B) +%------------------------------------------------------------------------ +% +%***************************************************************************** +%$BCm0U!'(B +% +% $B0J2<$N%3%a%s%HCf$G=R$Y$i$l$F$$$k%"%k%4%j%:%`$O!$F|K\8lMQ$N%9%?%$%k%U%!%$%k(B +% $B$N:n@.$N$?$a$K!$%3!<%I$N$_JQ99$7$?ItJ,$,$"$k$N$G!$<B:]$N%3!<%I$HI,$:$7$b(B +% $BF1$8$b$N$G$O$J$$!%(B +% +%***************************************************************************** +% +% VAR: output.state : INTEGER -- $B=PNO$N>uBVJQ?t(B +% +% output.nonnull $B4X?t$O!JEO$5$l$?J*$,6uJ8;zNs$G$J$$$H$7$F!K!$0z?t$r%9%?%C%/(B +% $B$KJ]B8$7!$J]B8$7$F$*$$$?J8;zNs$KI,MW$H$5$l$kE,Ev$J6h@Z$j5-9f$r8e$m$K(B +% $BIU2C$7$F=q$-=P$9!%%F%9%H$N=gHV$OIQEY=g$K$J$C$F$$$k!%(B +% +% $B#1J8$N7A$K$9$k>l9g(B(ONE_SENTENCE$B$,??$N>l9g(B)$B$K$O!$0J2<$H0[$J$k%"%k%4%j%:%`$G(B +% $B$"$k!%<B:]$N%3!<%I$r;2>H$N$3$H!*(B +% +% output.nonnull(s) == +% BEGIN +% s := argument on stack +% if output.state = mid.sentence then +% write$(pop() * ", ") +% -- "pop" $B$O4X?t$G$O$J$$!%%9%?%C%/%H%C%W$N%G!<%?$r;H$&!%(B +% else +% if output.state = after.block then +% write$(add.period$(pop())) +% newline$ +% write$("\newblock ") +% else +% if output.state = before.all then +% write$(pop()) +% else -- output.state $B$O(B after.sentence $B$N$O$:(B +% write$(add.period$(pop()) * " ") +% fi +% fi +% output.state := mid.sentence +% fi +% push s on stack +% END +% +% output $B$O(B $B0z?t$,6u$G$J$$$J$i!J0z?t$OL$Dj5A%U%#!<%k%I$+$b$7$l$J$$$N$G!$(B +% $BI,$:$7$bJ8;zNs$G$O$J$$!K!$(B output.nonnull $B$r8F$S=P$9!%(B +% +% output(s) == +% BEGIN +% if not empty$(s) then output.nonnull(s) +% fi +% END +% +% output.check $B$O$[$H$s$I(B output $B4X?t$HF1$8$G$"$k$,!$I,MW$J%U%#!<%k%I$,(B +% $B$J$$$3$H$r%f!<%6!<$K7Y9p$9$k!%!J$3$l$O$=$N%U%#!<%k%I$N$J$$J88%>pJs$O(B +% $BNI$$$b$N$G$O$J$$$3$H$rCN$i$;$k$?$a!$$^$?$=$N%U%#!<%k%I$,$J$/$F$b!$=PNO$5$l$k(B +% $B%U%)!<%^%C%H7A<0$,$^$"$^$"$NJ*$K$J$k$h$&$K$9$k$?$a$G$"$k!K!%(B +% +% output.check(s,t) == +% BEGIN +% if empty$(s) then +% warning$("empty " * t * " in " * cite$) +% else output.nonnull(s) +% fi +% END +% +% output.bibitem $B4X?t$O8=:_$N%(%s%H%j$KBP$9$k(B \bibitem $B$r=q$-=P$7(B +% ($B%i%Y%k$O4{$K$G$-$F$$$k$H2>Dj$9$k(B)$B!$>uBV$K1~$8$?6h@Z$j5-9f$r@_Dj$9$k!%(B +% $B=PNO$N5,Ls$K=>$C$?J8;zNs$r%9%?%C%/$K;D$9!%(B +% +% output.bibitem == +% BEGIN +% newline$ +% write$("\bibitem[") % $B0J2<#39T$OJ8;zNs%i%Y%kMQ(B +% write$(label) % +% write$("]{") % +% write$("\bibitem{") % $B$3$N9T$O?tCM%i%Y%k$N;~(B +% write$(cite$) +% write$("}") +% push "" on stack +% output.state := before.all +% END +% +% fin.entry $B4X?t$O%9%?%C%/$K;D$C$F$$$kJ8;zNs$K%T%j%*%I$rIU2C$7!$%(%s%H%j$N(B +% $B=hM}$r=*$($k!%$b$7>uBV$,$^$@(B before.all $B$G$"$l$P$3$N%(%s%H%j$KBP$7$F$O2?$b(B +% $B=PNO$5$l$F$$$J$$$N$G!$7k2L$OJQ$J$b$N$K$J$k$,!$MxMQ<T$O$=$l$K5$$E$/!%(B +% $BJ88%$O0zMQ$5$l$F$$$k$N$G$"$k$+$i!$0zMQ%i%Y%k$r:n$k$?$a$K(B bibitem $B$O(B +% $BI,MW$G$"$k$+$i!$%(%s%H%j$r>JN,$7$?$j$7$J$$!%(B +% +% fin.entry == +% BEGIN +% write$(add.period$(pop())) +% newline$ +% END +% +% new.block $B4X?t$O=PNO$9$k?7$?$J%V%m%C%/$N=`Hw$r9T$$!$(B +% new.sentence $B$O?7$?$J%;%s%F%s%9$N=`Hw$r9T$&!%(B +% +% new.block == +% BEGIN +% if output.state <> before.all then +% output.state := after.block +% fi +% END +% +% new.sentence == +% BEGIN +% if output.state <> after.block then +% if output.state <> before.all then +% output.state := after.sentence +% fi +% fi +% END +% +#if ONE_SENTENCE +INTEGERS { output.state before.all mid.sentence after.sentence after.block + after.author} +#else !ONE_SENTENCE +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +#endif ONE_SENTENCE + +% $B0J2<$N#3$D$N4X?t$O(B AND, OR, NOT $B$N$?$a$N$b$N$G$"$k!%(B + +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 := +#if ONE_SENTENCE + #4 'after.author := +#endif ONE_SENTENCE +} + +% s, t $B$O:n6HMQ$NJ8;zNsJQ?t(B +STRINGS { s t } + +% $BA43Q$N(B"$B!$(B","$B!%!I$r;H$&;~$N$?$a$N4X?t(B +% $B;29MJ88%$O%3%s%Q%/%H$KAH$_$?$$$N$G!$;d$O$3$l$O9%$-$G$O$J$$$,!$(B +% ASCII $BHG$N(B 0.98 $B$G$O$3$N5!G=$,$"$C$?$N$G!%(B + +#if ZENKAKU_PUN +FUNCTION {add.kanji.period} +{ + add.period$ duplicate$ + #-1 #1 substring$ "." = + {#-2 global.max$ substring$ "$B!%(B" *} + 'skip$ + if$ +} +#endif ZENKAKU_PUN + +% $BA43Q$N%3%m%s$r;H$&>l9g$K$O$3$NDj5A$O$3$3$K$J$$$H$$$1$J$$!%(B +#if ZENKAKU_COLON +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +#endif ZENKAKU_COLON + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = +#if ZENKAKU_PUN + { is.kanji.entry + { "$B!$(B" * write$ } + { ", " * write$ } + if$ + } +#else !ZENKAKU_PUN + { ", " * write$ } +#endif ZENKAKU_PUN + { output.state after.block = + { +#if ZENKAKU_PUN + is.kanji.entry + {add.kanji.period write$} + {add.period$ write$} + if$ +#else !ZENKAKU_PUN + add.period$ write$ +#endif ZENKAKU_PUN + newline$ + "\newblock " write$ + } +#if ONE_SENTENCE + { output.state after.author = +#ifdef JIPSJ + { " " * write$ +#else !JIPSJ + { author empty$ editor empty$ and organization empty$ and + {write$} +#if ZENKAKU_COLON + { 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$ + } +#else !ZENKAKU_COLON + {": " * write$} +#endif ZENKAKU_COLON + if$ +#endif JIPSJ + mid.sentence 'output.state := + } + 'write$ + if$ + } +#else !ONE_SENTENCE + { output.state before.all = + 'write$ +#if ZENKAKU_PUN + { is.kanji.entry + { add.kanji.period write$ } + { add.period$ " " * write$ } + if$ + } +#else !ZENKAKU_PUN + { add.period$ " " * write$ } +#endif ZENKAKU_PUN + if$ + } +#endif ONE_SENTENCE + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ +#if LAB_ALPH + "\bibitem[" write$ + label write$ + "]{" write$ +#else !LAB_ALPH + "\bibitem{" write$ +#endif LAB_ALPH + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +% $B$3$N4X?t$O%(%s%H%j$N=PNO$r=*$j$K$9$k(B + +FUNCTION {fin.entry} +{ +#if ZENKAKU_PUN + is.kanji.entry + {add.kanji.period} + {add.period$} + if$ +#else !ZENKAKU_PUN + add.period$ +#endif ZENKAKU_PUN + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = +#if ONE_SENTENCE + { after.author 'output.state := } + 'skip$ +#else !ONE_SENTENCE + 'skip$ + { after.block 'output.state := } +#endif ONE_SENTENCE + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +% $B;~$H$7$F!$%V%m%C%/$,==J,$KD9$$>l9g$K$N$_?7$?$J%V%m%C%/$r3+;O$7$J$$$H$$$1$J$$!%(B +% new.block.checka $B4X?t$O$=$N0z?t$,6u$G$J$$>l9g$K(B new.block $B$r<B9T$9$k!%(B +% new.block.checkb $B4X?t$O$=$N#2$D$N0z?t$,$I$A$i$b6u$K$J$$>l9g$K(B new.block $B$r(B +% $B<B9T$9$k!%(B + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +% new.sentence.check $B4X?t72$bF1$8$h$&$J$b$N(B + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +% $B%(%s%H%j$N%G!<%?72$r%U%)!<%^%C%H$9$k$?$a$N4X?t72(B +% $B$3$l$i$N4X?t72$G$O!$%+%s%^$"$k$$$O%T%j%*%I!J%T%j%*%I$N8e$K%T%j%*%I$,B3$$$?$j(B +% $B$7$J$$$h$&$K(B add.period$ $B$r;H$C$F!K$rIU$1$i$l$k$h$&$K!$J8;zNs$+6uJ8;zNs(B +% $B$r=PNO$9$k$3$H$r5,Ls$H$9$k!%(B +% +% $BLr$K$?$DJd=u4X?t(B field.or.null $B$O0z?t$,L$Dj5A%U%#!<%k%I!J%G!<%?%Y!<%9$+$i(B +% $B%G!<%?$rFI$s$@;~$KCM$N@_Dj$5$l$F$$$J$$%U%#!<%k%I!K$+$I$&$+!$$"$k$$$O(B +% $B6uGr0J30$NJ8;z$r4^$^$J$$J8;zNs$+$I$&$+$r%A%'%C%/$7!$$=$&$G$"$l$P6uJ8;zNs(B +% $B$rCM$H$7$FJV$9!%(B +% $B$3$N4X?t$N<g$?$kL\E*$O!J$=$l$@$1$G$O$J$$$,!K%9%?%C%/%H%C%W$K;D$C$F$$$k(B +% $BCM$,L$Dj5A%U%#!<%k%I$G$J$/!$J8;zNs$G$"$k$3$H$rJ]>Z$9$k$?$a$3$H$G$"$k!%(B +% +% field.or.null(s) == +% BEGIN +% if empty$(s) then return "" +% else return s +% END +% +% $B$b$$D$NJd=u4X?t(B emphasize $B$O0z?t$,6uJ8;zNs$G$J$1$l$P$=$l$K6/D4;XDj$r(B +% $BIU2C$7$?CM$rJV$9!%6uJ8;zNs$J$i6uJ8;zNs$rJV$9!%%$%?%j%C%/Jd@5$OIU2C$7$J$$(B +% $B$N$G!$6h@Z$j5-9f$,B3$/>l9g$K$N$_;H$&$3$H!%(B +% +% $B4A;z$r4^$`J8;zNs$N;~$K$O6/D4;XDj$rIU2C$7$J$$!%$^$?(B NO_EM $B$,Dj5A$5$l$F$$$l$P(B +% $B6/D4;XDj$rIU2C$7$J$$!%(B +% +% emphasize(s) == +% BEGIN +% if empty$(s) then return "" +% else +% if is.kanji.str$(s) then return s +% #if NO_EM +% return s +% #else !NO_EM +% else return "{\em " * s * "}" +% #endif NO_EM +% +% format.names $B4X?t$O!$4pK\E*$K$O(B((J)BibTeX $B$NL>A07A<0$G=q$+$l$?!K0z?t$r!$%+%s%^(B +% $B$G6h@Z$j$J$,$i!$$^$?:G8e$NL>A0$NA0$K$O(B and $B$rA0$KIU$1$F!J:G8e$,(B others $B$G(B +% $B$"$l$P(B et~al. $B$H$7$F(B and $B$rIU$1$:$K!(4A;zCx<TL>$N>l9g$K$O(B et~al. $B$G$O$J$/$F!$(B +% "$B$[$+(B"$B$"$k$$$O(B"$BB>(B" $B$r;H$$!$%+%s%^$G6h@Z$k$@$1$G(B and $B$OIU$1$:$K!K!$(B +% "First Von Last, Junior" $B$N7A$K%U%)!<%^%C%H$9$k!%!JL>A0$N%U%)!<%^%C%H7A<0(B +% $B$N;XDj$K$h$C$F$O(B First $B$O>JN,7A$H$5$l$k$3$H$b$"$k!K!%(B +% $B0z?t$K$O:GDc#1$D$NL>A0$,$J$1$l$P$J$i$J$$!%(B +% +% $B0J2<$N%"%k%4%j%:%`$OF|K\8l$KBP1~$9$k!$?7$7$/F3F~$7$?%9%$%C%A!JJQ?t!K$KBP1~(B +% $B$9$k!$$?$a$K%3!<%IItJ,$,BgI}$K=q$-49$($i$l$F$$$k$N$G!$%3!<%I$H$OI,$:$7$b(B +% $B0lCW$7$F$$$J$$!%$7$+$74pK\E*$J=hM}$NN.$l$OJQ$o$C$F$$$J$$!%(B +% +% VAR: nameptr, namesleft, numnames: INTEGER +% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack) +% +% format.names(s) == +% BEGIN +% nameptr := 1 +% numnames := num.names$(s) +% namesleft := numnames +% while namesleft > 0 +% do +% $BL>A0$r%U%)!<%^%C%H$9$k7A<0$,Bg$-$/JQ99$5$l$F$$$k(B +% % for full names: +% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}") +% % for abbreviated first names: +% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}") +% +% if nameptr > 1 then +% if namesleft > 1 then nameresult := nameresult * ", " * t +% else if numnames > 2 +% then nameresult := nameresult * "," +% fi +% % $B$3$NItJ,$bBg$-$/JQ99$5$l$F$$$k(B +% % $B4A;zCx<T$J$i(B and $B$rIU$1$J$$!$(B et~al. $B$G$J$/(B"$B$[$+(B/$BB>(B"$B$H$9$k!%(B +% if t = "others" +% then nameresult := nameresult * " et~al." +% else nameresult := nameresult * " and " * t +% fi +% fi +% else nameresult := t +% fi +% nameptr := nameptr + 1 +% namesleft := namesleft - 1 +% od +% return nameresult +% END +% +% format.authors $B$O(B author $B$,$"$l$P(B format.names(author) $B$NCM$r!$$J$1$l$P(B +% $B6uJ8;zNs$rJV$9(B +% +% format.authors == +% BEGIN +% if empty$(author) then return "" +% else return format.names(author) +% fi +% END +% +% format.editors $B$O(B format.authors $B$HF1$8$G$"$k$,!$(B editor $B%U%#!<%k%I$r(B +% $B;H$$!$$^$?8e$m$K(B ed., eds. $B$J$I$rIU$1$k!%(B +% +% $BJT=8<T$r3g8L$KF~$l$k$J$I$N=hM}$,IU2C$5$l$F$$$k!%$^$?(Bed., eds. $B$J$I$N(B +% $B>JN,7A$r;H$&$H$+!$4A;zCx<T$N>l9g$K$O!JJT!K$K$9$k$H$+$NJQ99$b$J$5$l$F$$$k!%(B +% +% format.editors == +% BEGIN +% if empty$(editor) then return "" +% else +% if num.names$(editor) > 1 then +% return format.names(editor) * ", editors" +% else +% return format.names(editor) * ", editor" +% fi +% fi +% END +% +% $BB>$N%U%)!<%^%C%H4X?t$bF1$8$h$&$J$b$N$J$N$G!$%3%a%s%H%P!<%8%g%s$O<($5$J$$!%(B +% +% $B$3$N4X?t$NCf$N(B `pop$' $BL$Dj5ACM$r<h$j5n$j6uJ8;zNs$rJV$9$?$a$K!$(B +% `skip$' $B$O%3%T!<$7$?(B(duplicate$$B$7$?(B)$BCM$=$N$b$N$rJV$9$?$a$K;H$o$l$F$$$k!%(B + +% $BA43Q$N%3%m%s$r;H$o$J$1$l$P!$$3$NDj5A$O$3$3$K$"$l$P$h$$!%(B +#if !ZENKAKU_COLON +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +#endif !ZENKAKU_COLON + +#if NO_EM +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +#else !NO_EM +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { duplicate$ is.kanji.str$ + 'skip$ + { "{\em " swap$ * "}" * } + if$ + } + if$ +} +#endif NO_EM + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := +% $B$^$@L>A0$,;D$C$F$$$l$P(B + { namesleft #0 > } +% $B@h$:8=:_CmL\$7$F$$$k=gHV$NL>A0$r%U%)!<%^%C%H$9$k!%(B +#if NAME_FULL + { 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$ +#else !NAME_FULL + { s nameptr "{ff}{ll}" format.name$ is.kanji.str$ +#if KANJI_FULL_NAME + {s nameptr "{ff}{ll}" format.name$ 't :=} +#else !KANJI_FULL_NAME + {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$ + } +#endif KANJI_FULL_NAME +#if FAMILY_FIRST + {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=} +#else !FAMILY_FIRST +#if FIRST_FAMILY_FIRST + { nameptr #1 = + {s nameptr "{ll,~~}{vv~}{f.}{, jj}" format.name$ 't :=} + {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=} + if$ + } +#else !FIRST_FAMILY_FIRST + {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=} +#endif FIRST_ERV +#endif FAMILY_FIRST + if$ +#endif NAME_FULL +% $BBh#2HVL\0J9_!)(B + nameptr #1 > +% $BBh#2HVL\0J9_(B +% $B$^$@#2?M0J>e;D$C$F$$$k!)(B + { namesleft #1 > +% $B$^$@#2?M0J>e;D$C$F$$$k(B +#if ZENKAKU_PUN + { is.kanji.entry + {"$B!$(B" * t * } + {", " * t * } + if$ + } +#else !ZENKAKU_PUN + {", " * t * } +#endif ZENKAKU_PUN +% $B$b$&:G8e$N#1?M$@!*(B +% $B:G8e$NL>A0$,(B others $B$+$J!)(B +#if FAMILY_FIRST + { t "others" = t "others,~" = or +#else !FAMILY_FIRST + { t "others" = +#endif FAMILY_FIRST +% $B$=$&$@!*(B + { s is.kanji.str$ +#if USE_KANJI_HOKA + {"$BB>(B" * } +#else !USE_KANJI_HOKA + {"$B$[$+(B" * } +#endif USE_KANJI_HOKA +#if SMALL_CAP + {"{\rm, et~al.}" * } +#else !SMALL_CAP + {", et~al." * } +#endif SMALL_CAP + if$ + } +% others $B$G$J$$$>!*(B + { s is.kanji.str$ +#if ZENKAKU_PUN + {"$B!$(B" * t * } +#else !ZENKAKU_PUN + {", " * t * } +#endif ZENKAKU_PUN +% Small caps $B$r;H$&>l9g$G$b(B and $B$O(B roman $B$G$J$$$H$$$1$J$$(B +#if SMALL_CAP +#if NO_COM_AND + {"{\rm\ and }" * t * } +#else !NO_COM_AND + { numnames #2 = + {"{\rm\ and }" * t * } + {",{\rm\ and }" * t * } + if$ + } +#endif NO_COM_AND +#else !SMALL_CAP +#if NO_COM_AND + {" and " * t * } +#else !NO_COM_AND + { numnames #2 = + {" and " * t * } + {", and " * t * } + if$ + } +#endif NO_COM_AND +#endif SMALL_CAP + if$ + } + if$ + } + if$ + } +% $B:G=i$NL>A0$@!*(B + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } +% Small caps $B$N>l9g$K$O(B {\sc, } $B$G0O$`(B +#if SMALL_CAP + { "{\sc " author format.names * "}" * } +#else !SMALL_CAP + { author format.names } +#endif SMALL_CAP + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } +#if SMALL_CAP + { "{\sc " editor format.names * "}" * +#else !SMALL_CAP + { editor format.names +#endif SMALL_CAP + editor num.names$ #1 > + { editor is.kanji.str$ +#if ED_SHORT +% $BEE;R>pJsDL?.3X2qO@J8;o$G$O(B editor, editors $B$N7A<0$,0c$&!*(B +#ifdef TIEICE + {"$B!JJT!K(B" * } {" Eds." * } if$ +#else !TIEICE + {"$B!JJT!K(B" * } {" eds." * } if$ +#endif TIEICE +#else !ED_SHORT + {"$B!JJT!K(B" * } {", editors" * } if$ +#endif ED_SHORT + } + { editor is.kanji.str$ +#if ED_SHORT +#ifdef TIEICE + {"$B!JJT!K(B" *} {" Ed." * } if$ +#else !TIEICE + {"$B!JJT!K(B" *} {" ed." * } if$ +#endif !EIEIC +#else !ED_SHORT + {"$B!JJT!K(B" *} {", editor" * } if$ +#endif ED_SHORT + } + if$ + } + if$ +} + +% $BJT=8<T$r3g8L$G$/$/$k>l9g(B +#if ED_IN_PAR +FUNCTION {format.in.ed.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { editor is.kanji.str$ +% $BEE;R>pJsDL?.3X2qO@J8;o$G$O(B editor, editors $B$N7A<0$,0c$&!*(B +#ifdef TIEICE + {"$B!JJT!K(B" *} {"Eds.\ by " swap$ * } if$ +#else !TIEICE + {"$B!JJT!K(B" *} {"eds." swap$ * } if$ +#endif TIEICE + } + { editor is.kanji.str$ +#ifdef TIEICE + {"$B!JJT!K(B" *} {"Ed.\ by " swap$ *} if$ +#else !TIEICE + {"$B!JJT!K(B" *} {"ed." swap$ *} if$ +#endif TIEICE + } + if$ + } + if$ +} + +#endif ED_IN_PAR + +% format.title $B4X?t$OK\$NCg4V$G$J$$$b$N$NI=Bj$r%U%)!<%^%C%H$9$k$N$K;H$o$l$k!%(B +% $BKX$I$N%9%?%$%k$G$O!J:G=i$NJ8;z$H%3%m%s$N8e!J%9%Z!<%9$,B3$$$F$$$k$+$b(B +% $B$7$l$J$$!K$N:G=i$NJ8;z$r=|$$$F!K!$JQ49$5$l$FM_$7$/$J$$BgJ8;z$OCf3g8L(B +% `{', `{' $B$G0O$^$l$F$$$k$H4|BT$7$F!$%?%$%H%k$NBgJ8;z$r>.J8;z$KJQ49$9$k!%(B +% $B$$$/$D$+$N%9%?%$%k$G$O$3$NJQ49$O9T$o$:$K!$%G!<%?%Y!<%9Cf$N$^$^$H$9$k!%(B +% +% $BEE;R>pJsDL?.3X2q$N%9%?%$%k$G$O%?%$%H%k$r(B``''$B$G0O$`!%(B + +FUNCTION {format.title} +% $B#1J87A<0$N>l9g$K$O%?%$%H%k$N=PNO>uBV$r(B after.author $B$K$7$F$+$i!$=hM}3+;O(B +#if ONE_SENTENCE +{ after.author 'output.state := + title empty$ +#else !ONE_SENTENCE +{ title empty$ +#endif ONE_SENTENCE + { "" } +#if ATIT_LOWER +#ifdef TIEICE + { "``" title "t" change.case$ * "''" * } +#else !TIEICE + { title "t" change.case$ } +#endif TIEICE +#else !ATIT_LOWER + 'title +#endif ATIT_LOWER + if$ +} + +% $B%G%#%U%)%k%H$G(B (J)BibTeX $B$OBg0hJQ?t(B global.max$ $B$NCM$r(B (J)BibTeX $B$NDj?t$G$"$k(B +% glob_str_size $B$K@_Dj$9$k!%F1MM$K(B entry.max$ $B$NCM$r%(%s%H%j$NJ8;zNs$N:GBgD9$G(B +% $B$"$k(B ent_str_size $B$K@_Dj$9$k!%(B +% $B$=$s$J$3$H$O$J$$$H$O;W$&$,!$$3$l$rJQ99$7$F$b$h$$!%(B +% +% n.dashify $B4X?t$OJ8;zNsCf$N(B `-' $B$r(B `--' $B$KJQ49$9$k!%(B +% +% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack) +% +% n.dashify(s) == +% BEGIN +% t := s +% pageresult := "" +% while (not empty$(t)) +% do +% if (first character of t = "-") +% then +% if (next character isn't) +% then +% pageresult := pageresult * "--" +% t := t with the "-" removed +% else +% while (first character of t = "-") +% do +% pageresult := pageresult * "-" +% t := t with the "-" removed +% od +% fi +% else +% pageresult := pageresult * the first character +% t := t with the first character removed +% fi +% od +% return pageresult +% END + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ is.kanji.str$ + { t #1 #2 substring$ * + t #3 global.max$ substring$ 't := + } + + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + if$ + } + while$ +} + +% format.data $B4X?t$O7n$HG/$r%U%)!<%^%C%H$9$k$?$a$N$b$N$G$"$j!$7n$@$1$"$C$F!$(B +% $BG/$,$J$$>l9g$K$O7Y9p%a%C%;!<%8$r=P$7!$$I$A$i$b$J$1$l$P6uJ8;zNs$rJV$9!%(B +% +% $BJ88%$r(B1$BJ8$N7A<0$H$9$k>l9g$K$O86B'E*$K$OG/7n$O3g8L$KF~$l$k!%(B +% $B$^$?>pJs=hM}3X2q1QJ8O@J8;o0J30$N(B1$BJ87A<0$G$O7n$OI=<($7$J$$!%(B + +FUNCTION {format.date} +#if ONE_SENTENCE +{ before.all 'output.state := + year empty$ + { "there's no year in " cite$ * warning$ + "" + } +% $B>pJs=hM}3X2q1QJ8O@J8;o$G$O3g8L$NCf$K(B month year $B$rJB$Y$k(B +#ifdef JIPSJ + { month empty$ + { " (" year * ")" *} + { " (" month * " " * year * ")" * } + if$ + } +#else !JIPSJ +#if YEAR_IN_PAR + { " (" year * ")" * } +#else !YEAR_IN_PAR +#if ZENKAKU_PUN + { is.kanji.entry + {"$B!$(B" year * } + {", " year * } + if$ + } +#else !ZENKAKU_PUN + {", " year * } +#endif ZENKAKU_PUN +#endif YEAR_IN_PAR +#endif JIPSJ + if$ +} +#else !ONE_SENTENCE +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} +#endif ONE_SENTENCE + +% format.btitle $B4X?t$OK\$NCg4V$N%(%s%H%j$NI=Bj$r%U%)!<%^%C%H$9$k!%BgJ8;z(B +% $B>.J8;z$O$=$N$^$^$K$7$F$*$-!$6/D4;XDj$rIU$1$k(B(NO_EM $B$,;XDj$5$l$F$$$l$P!$(B +% \em $B$OIU2C$5$l$J$$$3$H$K$J$C$F$$$k!K!%(B +% +% $BEE;R>pJsDL?.3X2qO@J8;o$G$O%?%$%H%k$OFs=E0zMQId$G0O$`(B + +FUNCTION {format.btitle} +#if ONE_SENTENCE +{after.author 'output.state := +#ifdef TIEICE +"``" title * "''" * +#else !TIEICE +title emphasize +#endif TIEICE +} +#else !ONE_SENTENCE +{ title emphasize +} +#endif ONE_SENTENCE + +% $B$$$/$D$+$N4X?t$G$O#2$D$NJ8;zNs$rO"7k$9$k;~$K!$8e$m$NJ8;zNs$,D9$$$b$N$G(B +% $B$J$$!J#3J8;zL$K~!K$N;~$K%?%$(B(~)$B$r4V$KF~$l$F!$$=$l$h$jD9$1$l$P!$6uGr$r(B +% $B4V$KF~$l$F!$O"7k$9$kI,MW$,$"$k!%O"7k7k2L$O%9%?%C%/$KCV$/!%(B +% +% \bibliography $B$G$O%T%j%*%I(B `.' $B$N8e$KM>J,$J6uGr$O$D$12C$($i$l$J$$$N$G!$(B +% \sfcode`\.=1000 $B$,;XDj$5$l$F$$$k$N$G!$>JN,7A$N8e$G$bC1$J$k6uGr$G$h$$!%(B +% +% tie.or.space.connect(str1,str2) == +% BEGIN +% if text.length$(str2) < 3 +% then return the concatenation of str1, "~", and str2 +% else return the concatenation of str1, " ", and str2 +% END + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +% either.or.check $B4X?t$O$$$:$l$+0lJ}$7$+;H$($J$$%U%#!<%k%I$,N>J};H$o$l$F(B +% $B$$$?>l9g$KJ86g$r$$$&!%(B +% +% either.or.check(t,s) == +% BEGIN +% if not empty$(s) then --- $B%*%j%8%J%k$G$O(B not $B$,H4$1$F$$$?!J%P%0!K(B +% warning$(can't use both " * t * " fields in " * cite$) +% fi +% END + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +% format.bvolume $B4X?t$O(B volume, $B$=$7$F$*$=$i$/$OJ#?t4,$+$i$J$k%7%j!<%:$N(B +% $B%7%j!<%:L>$r%U%)!<%^%C%H$9$k$?$a$K;H$o$l$k!%(Bvolume $B$H(B series $B$N%U%#!<%k%I$,(B +% $BN>J}$"$k>l9g$K$O!$(Bseries $B$O%7%j!<%:$NI=Bj$G$"$k(B($B;2>H$7$F$$$k4,$NI=Bj$O(B title +% $B$K=q$+$l$F$$$k!K$H2>Dj$7(B "of $B%7%j!<%:I=Bj(B" $B$rIU2C$9$k!%$3$N4X?t$OJ8$NESCf$G(B +% $B8F$P$l$k!%(B +% +% $BF|K\8l$N%9%?%$%k$G$O!$(Bvolume $B$G$J$/!$(B Vol. $B$r;H$&!%%7%j!<%:L>(B, Vol. $B$N(B +% $B7A<0$H$9$k!%(B + +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$ * } +#if ZENKAKU_PUN + {series "$B!$(B" * swap$ * } +#else !ZENKAKU_PUN + {series ", " * swap$ * } +#endif ZENKAKU_PUN + if$ + } + { " of " * series emphasize * } + if$ + } + if$ + "volume and number" number either.or.check + } + if$ +} + +% format.number.series $B4X?t$O%7%j!<%:L>(B, $B$=$7$F$*$=$i$/$O%7%j!<%:Cf$G$NHV9f$r(B +% $B%U%)!<%^%C%H$9$k$?$a$K;H$o$l$k!%$3$l$O(B format.bvolume $B$K;w$F$$$k$,!$(B +% $B$3$N4X?t$G$O(B series $B$OB8:_$7!$(Bvolume $B$O$"$C$F$O$J$i$J$$(B(volume $B$,$"$l$P(B +% $B6uJ8;zNs$rJV$9(B)$B!%(Bnumber $B%U%#!<%k%I$,6u$G$"$l$P!$(Bseries $B$r$=$N$^$^=PNO$9$k(B +% ($B6u$+$bCN$l$J$$(B)$B!%(Bseries $B$K$O%7%j!<%:$NI=Bj$,F~$C$F$$$k(B(title $B%U%#!<%k%I$K(B +% $B;2>H$7$F$$$k$b$N$NI=Bj$,F~$C$F$$$k!K$H2>Dj$7$F!$(B"in <series>" $B$N7A$G=PNO$9$k!%(B +% $B$3$N4X?t$OJ8$N@hF,$G;H$o$l$k$N$G!$(B Number $B$N:G=i$OBgJ8;z$G$"$k!%(B +% +% $BF|K\8l$N%7%j!<%:I=Bj$J$i!$(B<series>, <number> $B$N7A$K$J$k!%(B +% $BF|K\8l$N%9%?%$%k$G$O(B number, Number $B$G$J$/!$(B No. $B$r;H$&$h$&$KJQ99$7$?!%(B + +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$ +#if ZENKAKU_PUN + { series "$B!$(B" * swap$ * } +#else !ZENKAKU_PUN + { series ", " * swap$ * } +#endif ZENKAKU_PUN + { " in " * series * } + if$ + } + if$ + } + if$ + } + { "" } + if$ +} + +% format.edition $B4X?t$O(B edition $B$,$"$l$P(B " edition " $BJ8;zNs$rIU2C$9$k!%(B +% $B$3$l$OJ8$N@hF,$G;H$o$l$J$$$N$G!$(Bedition $B$O>.J8;z$KJQ49$9$k!%(B +% $BF|K\8l$N(B edition $B$KBP$7$F$O(B " edition" $B$OIU2C$7$J$$!%(B + +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$ +} + +% format.pages $B4X?t$OK\$N%Z!<%8HO0O$r%U%)!<%^%C%H$9$k!J4u$KO@J8(B/$B5-;v$N%Z!<%8(B +% $BHO0O$N%U%)!<%^%C%H$K$b;H$o$l$k(B). +% +% multi.page.check $B4X?t$O(B "page/p." $B$+(B "pages/pp. " $B$N$I$A$i$r;H$&$N$,E,@Z$+(B +% $BH=CG$9$k$?$a$K(B page $B%U%#!<%k%I$K(B "-", ",", "+" $B$NJ8;z$,4^$^$l$F$$$k$+$I$&$+(B +% $BD4$Y$k!%F|K\8lMQ$N%9%?%$%k$G$O(B page/pages $B$NBe$o$j$K(B p./pp. $B$r;H$C$F$$$k!%(B +% +% $BCm0U!'$3$3$G;H$C$F$$$k(B global.max$ $B$OJ8;zNs$N;D$jA4It$H$$$&0UL#$G;H$C$F$$$k!%(B +% +% VAR: multiresult: INTEGER (actually, a boolean) +% +% multi.page.check(s) == +% BEGIN +% t := s +% multiresult := false +% while ((not multiresult) and (not empty$(t))) +% do +% if (first character of t = "-" or "," or "+") +% then multiresult := true +% else t := t with the first character removed +% fi +% od +% return multiresult +% END + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +% $BF|K\8l$N%9%?%$%k$G$O86B'$H$7$F(B page/pages $B$G$J$/(B p./pp. $B$r;H$&!%(B +% $B>pJs=hM}3X2q1QJ8O@J8;o$G$O(B pp. $B$O>JN,$9$k!%(B + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check +#if JIPSJ_LIKE + { " " pages n.dashify * } + { " " pages * } +#else !JIPSJ_LIKE + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } +#endif JIPSJ_LIKE + if$ + } + if$ +} + +% format.vol.num.pages $B4X?t$OO@J8;o!$;(;o$NO@J8!$5-;v$N(B volume, number, +% $B%Z!<%8HO0O$r%U%)!<%^%C%H$9$k!%$=$N7A<0$O%9%?%$%k$G0[$J$k$N$G!$%3!<%I$r(B +% $B;2>H$N$3$H!%(B +% +% $B!!>pJs=hM}3X2q1QJ8O@J8;o$G$O(B volume, number (year), pages $B$N7A$GJB$Y$k(B +% $B$^$?(B volume $B$O(B Vol.$B$rIU$1$:$K(B bold $B$G%?%$%W%;%C%H$9$k!%(B No. $B$bIU$1$J$$!%(B +% $B!!EE;R>pJsDL?.3X2qO@J8;o$G$O(B volume $B$O(B Vol.$B$rIU$1$:$K(B bold $B$G%?%$%W%;%C%H$7!$(B +% No. $B$bIU$1$J$$!%(B +% $B!!F|K\%*%Z%l!<%7%g%s%:%j%5!<%A3X2qO@J8;o$G$O!$>pJs=hM}3X2q1QJ8O@J8;o$H(B +% $BF1$8$h$&$J7A$G$"$k$,!$(Bvolume $B$r(B bold $B$G%?%$%W%;%C%H$;$:$K!$(B Vol. $B$r;H$&!%(B + +#ifdef JABBRV + +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$ +} + +#else !JABBRV + +#if JIPSJ_LIKE +FUNCTION {format.vol.num.year.pages} +{ volume empty$ + {""} +#ifdef JORSJ + { volume is.kanji.str$ + { volume } + {"Vol." volume tie.or.space.connect } + if$ + } +#else !JORSJ + {", {\bf " volume * "}" * } +#endif JORSJ + if$ +#ifndef JORSJ + number empty$ + 'skip$ + {", " number * * } + if$ +#endif + year empty$ + { "there's no year in " cite$ * warning$ } +% +% JORSJ $B$G$O(B book $B$NCg4V$OG/$r3g8L$KF~$l$J$$$N$G!$O@J8$J$I$O$3$3$GG/$K(B +% $B3g8L$rIU$1$k(B +% +#ifdef JORSJ + { " (" year * ")" * *} +#else !JORSJ + { format.date * } +#endif JORSJ + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +#else !JIPSJ_LIKE +% +FUNCTION {format.vol.num.pages} +{ volume empty$ + {""} +#ifdef TIEICE + {"{\bf " volume * "}, " * } +#else !TIEICE +#if ZENKAKU_PUN + { volume is.kanji.str$ + { is.kanji.entry + {volume "$B!$(B" * } + {volume ", " * } + if$ + } + { is.kanji.entry + {"Vol." volume tie.or.space.connect "$B!$(B" * } + {"Vol." volume tie.or.space.connect ", " * } + if$ + } + } +#else !ZENKAKU_PUN + { volume is.kanji.str$ + {volume ", " * } + {"Vol." volume tie.or.space.connect ", " * } + if$ + } +#endif ZENKAKU_PUN +#endif TIEICE + if$ + number empty$ + 'skip$ +#ifdef TIEICE + { number * +#else !TIEICE + { number is.kanji.str$ + {number *} + {"No." number tie.or.space.connect *} + if$ +#endif TIEICE + 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$ +#if ZENKAKU_PUN + { format.pages * } + { is.kanji.entry + { "$B!$(B" * format.pages * } + { ", " * format.pages * } + if$ + } +#else !ZENKAKU_PUN + { format.pages * } + { ", " * format.pages * } +#endif ZENKAKU_PUN + if$ + } + if$ + } + if$ +} +#endif JIPSJ_LIKE + +#endif JABBRV + +% format.chapter.pages $B4X?t$O(B chapter $B$,6u$G$J$1$l$P!$$=$NA0$K(B type $B%U%#!<%k%I(B +% $B$NJ8;zNs!J$=$l$,6u$J$i(B "chapter"$B$r(B)$BIU2C$9$k!%(Bpages $B$,$"$l$P$=$l$r8e$m$K(B +% $B2C$($k!%?7$?$JJ8$r3+;O$7$?$j$7$J$$!%(B +% +% chapter $B$,F|K\8lJ8;zNs$N>l9g$K$O(B "chapter" $B$OIU2C$7$J$$!%(B + +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$ +#if ZENKAKU_PUN + { is.kanji.entry + { "$B!$(B" * format.pages * } + { ", " * format.pages * } + if$ + } +#else !ZENKAKU_PUN + { ", " * format.pages * } +#endif ZENKAKU_PUN + if$ + } + if$ +} + +% format.in.ed.booktitle $B4X?t$O!$(Beditor $B%U%#!<%k%I$,$"$l$P$=$l$rI=Bj$NA0$K(B +% $BCV$$$F!$(B"In <booktitle>" $B$N7A$G;O$^$kJ8$r3+;O$9$k$?$a$K;H$o$l$k!%(B +% +% $B>pJs=hM}3X2q1QJ8O@J8;o!$EE;R>pJsDL?.3X2qO@J8;o$J$I$G$O(B ED_IN_PAR $B$r(B 1 $B$K(B +% $B$7$F$*$/$3$H$G!$JT=8<TL>$O3g8L$KF~$l$k(B +% $BK\$N%?%$%H%k$,F|K\8l$J$i(B In$B!!$OIU$1$J$$!##1J87A<0$G%U%)!<%^%C%H$9$k>l9g$J$I$K(B +% In... $B$G$J$/(B in ... $B$N7A<0$H$9$k$K$O!$(BIN_LOWER $B$r(B 1 $B$K$7$F$*$/!%(B + +#if ED_IN_PAR +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { booktitle } + { booktitle " (" * format.in.ed.editors * ")" * } + if$ + } + if$ +} +#else !ED_IN_PAR +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { booktitle is.kanji.str$ + { " " booktitle emphasize * } +#if IN_LOWER + { "in " booktitle emphasize * } +#else !IN_LOWER + { "In " booktitle emphasize * } +#endif IN_LOWER + if$ + } + { booktitle is.kanji.str$ +#if ZENKAKU_PUN + { " " format.editors * "$B!$(B" * booktitle * } +#else !ZENKAKU_PUN + { " " format.editors * ", " * booktitle * } +#endif ZENKAKU_PUN +#if IN_LOWER + { "in " format.editors * ", " * booktitle emphasize * } +#else !IN_LOWER + { "In " format.editors * ", " * booktitle emphasize * } +#endif IN_LOWER + if$ + } + if$ + } + if$ +} +#endif ED_IN_PAR + +% empty.misc.check $B4X?t$O%=!<%H$5$l$k;~!$J8;zNs%i%Y%k;H$&;~$K(B key $B%U%#!<%k%I$,(B +% $B6u$G$J$$$N$K!$#6$D$N%U%#!<%k%I$,A4It6u$J$iJ86g$r$$$&!%%=!<%H$5$l$J$$!$(B +% $B?tCM%i%Y%k$N;~$K$O#6$D$N%U%#!<%k%I$,A4It6u$J$iJ86g$r$$$&!%(B + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and +#if SORTED + key empty$ not and +#else !SORTED +#if LAB_ALPH + key empty$ not and +#endif LAB_ALPH +#endif SORTED + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +% format.thesis.type $B4X?t$O(B type $B%U%#!<%k%I$,6u$G$J$1$l$P(B($BBgJ8;z!$>.J8;zJQ49(B +% $B$7$?(B) type $B%U%#!<%k%I$NCM$r!$$=$&$G$J$1$l$P4{$K%9%?%C%/$K@Q$^$l$F$$$k(B +% ("Master's thesis" $B$d(B "PhD thesis"$B$J$I$N(B)$BJ8;zNs$rJV$9!%(B + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +% format.tr.number $B4X?t$O(B type $B$,6u$G$J$1$l$P$=$NCM$G!$6u$J$i(B "Technical Report" +% $B$G;O$^$j!$(Bnumber $B$,$"$l$P$=$l$,8e$KB3$/J8;zNs$rJV$9!%(B number $B$,$J$1$l$P(B +% $B@hF,$rBgJ8;z$K$7$?A0=R$NJ8;zNs$rJV$9!%J8$N@hF,$G;H$o$l$k!%(B + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +% $B$5$FJ88%%j%9%HFb;2>HMQ$N4X?t$N@bL@$G$"$k!%$3$l$i$N4X?t$OJ88%%G!<%?%Y!<%9(B +% $BCf$N%(%s%H%j$G!$B>$N%(%s%H%j$N%G!<%?%Y!<%9%-!<$,(B crossref $B%U%#!<%k%I$K(B +% $B=q$+$l$F$$$k;~$K!$5/F0$5$l$k!%$3$N5!G=$K$h$C$FO@J8=8$J$I$NCf$NO@J8$+$i(B +% $BO@J8=8$J$I$r;2>H$9$k$3$H$,$G$-$k!%$3$N%U%!%$%kCf$N%9%?%$%k$G$O0J2<$N(B +% $B#5$D$N%1!<%9$,A[Dj$5$l$F$$$k!%(B +% (1) ARTICLE $B$,B>$N(B ARTICLE $B$r;2>H$7$F$$$k(B;(2) BOOK, (3) INBOOK, $B$"$k$$$O(B +% (4) INCOLLECTION $B$,B>$N(B BOOK $B$r;2>H$7$F$$$k(B;(5) INPROCEEDINGS $B$,(B PROCEEDINGS +% $B$r;2>H$7$F$$$k!%$=$l$>$l$K$D$$$F8e$G>\$7$/@bL@$9$k!%(B +% +% ARTICLE $B%(%s%H%j%?%$%W$OB>$N(B ARTICLE $B%(%s%H%j$rJ88%%j%9%HFb;2>H$7$F$b$h$$!%(B +% $B$3$l$OO@J8;o(B/$B;(;o$,$"$k#1$D$NOCBj$NFC=8$K$J$C$F$$$k;~$K!$(BJOURNAL $B%?%$%W$J$I(B +% $B$H$$$&$b$N$O$J$$$+$i!$$3$l$rCx<T!$I=Bj$N$J$$(B ARTICLE $B$H$7$F07$o$J$1$l$P$J$i(B +% $B$J$$$+$i$G$"$k!%$3$N;~$K$O$=$N(B journal $B$,;2>HJ88%%j%9%H$K4^$^$l$F$$$k>l9g$K!$(B +% $B7Y9p%a%C%;!<%8$,(B2$B$D=P$5$l$k!%$G$b@$$NCf$J$s$F$7$g$;$s$3$s$J$b$N$5!%(B +% +% "In" $B$G$J$/(B "in $B$K$9$k$H$+!$(B\em $B$rIU$1$J$$$h$&$K$9$k$H$+$G$-$k$h$&$K(B +% $B%3!<%I$OJQ99$5$l$F$*$j!$I,$:$7$b0J2<$N%"%k%4%j%:%`$H0lCW$7$J$$!%(B +% +% format.article.crossref == +% BEGIN +% if empty$(key) then +% if empty$(journal) then +% warning$("need key or journal for " * cite$ * +% " to crossref " * crossref) +% return(" \cite{" * crossref * "}") +% else +% return("In " * emphazise.correct (journal) * +% " \cite{" * crossref * "}") +% fi +% else +% return("In " * key * " \cite{" * crossref * "}") +% fi +% END +% +% $BB>$NJ88%%j%9%HFb;2>HMQ$N4X?t$bF1$8$h$&$J$b$N$J$N$G!$%3%a%s%H%P!<%8%g%s$O$J$$!%(B + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { title is.kanji.str$ + { " " journal * } +#if IN_LOWER +#if NO_EM + { " " journal * } +#else !NO_EM + { "in {\em " journal * "\/}" * } +#endif NO_EM +#else !IN_LOWER + { "In {\em " journal * "\/}" * } +#endif IN_LOWER + if$ + } + if$ + } + { title is.kanji.str$ + { " " key * } +#if IN_LOWER + { "in " key * } +#else !IN_LOWER + { "In " key * } +#endif IN_LOWER + if$ + } + if$ + " \cite{" * crossref * "}" * +} + +% $BJ88%%j%9%HFb;2>H$5$l$F$$$k$b$N$NJT<TL>$H$7$F$O@+$N$_$r!$JT<T$N?M?t$K(B +% $B1~$8$F!$(B"editor", "editor1 and editor2", "editor1 et~al." $B$N7A<0$GI=8=$9$k!%(B +% +% $BEE;R>pJsDL?.3X2qO@J8;o$G$O;2>H@h$NCx<TL>$b%U%k%M!<%`$G=PNO$9$k!%(B + +FUNCTION {format.crossref.editor} +{ editor is.kanji.str$ +#ifdef TIEICE + {editor #1 "{ff}{ll}" format.name$ duplicate$ +#else !TIEICE + {editor #1 "{ff}" format.name$ duplicate$ +#endif TIEICE + empty$ + {pop$ editor #1 "{ll}" format.name$} + 'skip$ + if$ + } +#ifdef TIEICE + {editor #1 "{f. }{vv~}{ll}{ , jj}" format.name$} +#else !TIEICE + {editor #1 "{vv~}{ll}" format.name$} +#endif TIEICE + if$ + editor num.names$ duplicate$ + #2 > + { editor is.kanji.str$ +#if USE_KANJI_HOKA + {pop$ "$BB>(B" *} {pop$ ", et~al." * } if$ +#else !USE_KANJI_HOKA + {pop$ "$B$[$+(B" *} {pop$ ", et~al." * } if$ +#endif USE_KANJI_HOKA + } + { #2 < + 'skip$ +#ifdef TIEICE + { editor #2 "{f. }{vv }{ll}{, jj}" format.name$ "others" = +#else !TIEICE + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = +#endif TIEICE + { editor is.kanji.str$ +#if USE_KANJI_HOKA + {"$BB>(B" *} {", et~al." * } if$ +#else !USE_KANJI_HOKA + {"$B$[$+(B" *} {", et~al." * } if$ +#endif USE_KANJI_HOKA + } + { editor is.kanji.str$ + { +#if ZENKAKU_PUN + "$B!$(B" * +#else !ZENKAKU_PUN + ", " * +#endif ZENKAKU_PUN + 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$ +} + +% BOOK (INBOOK) $B%(%s%H%j7?$G$O(B($BJ#?t4,$+$i$J$k$b$N$N0lIt$G$"$k$H$7$F(B)$BB>$N(B +% BOOK($BJ#?t4,A4It(B) $B$rJ88%%j%9%HFb;2>H$7$F$b$h$$!%(B +% $BIaDL$O(B editor $B$,$"$k$+$i!$$=$N;~$O;2>H>pJs$K$=$l$r;H$&!%$J$1$l$P(B key +% $B%U%#!<%k%I$,6u$G$J$1$l$P(B key $B$r!$(Bkey $B$,6u$J$i(B($B%7%j!<%:$KJ#?t4,$NI=Bj$,F~$C$F(B +% $B$$$k$O$:$@$+$i(B) series $B%U%#!<%k%I$r;H$&!%(B + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + title is.kanji.str$ +#if IN_LOWER + {" "} {"in "} if$ +#else !IN_LOER + {" "} {"In "} if$ +#endif IN_LOWER + } + { 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$ + "" * + } +#if NO_EM + { series is.kanji.str$ +#if ZENKAKU_PUN + { series "$B!$(B" * swap$ * } +#else !ZENKAKU_PUN + { series ", " * swap$ * } +#endif ZENKAKU_PUN + { series * } + if$ + } +#else !NO_EM + { series is.kanji.str$ +#if ZENKAKU_PUN + { series "$B!$(B" * swap$ * } +#else !ZENKAKU_PUN + { series ", " * swap$ * } +#endif ZENKAKU_PUN + { "{\em " * series * "\/}" * } + if$ + } +#endif NO_EM + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +% INCOLLECTION $B%(%s%H%j7?$G$O(B BOOK ($BO@J8=8$G$"$k$H$7$F(B) $B$rJ88%%j%9%HFb;2>H$7$F(B +% $B$b$h$$!$$"$k$$$O(B INPROCEEDINGS $B$O(B PROCEEDING $B$rJ88%%j%9%HFb;2>H$7$F$b$h$$!%(B +% editor $B$,IaDL$O$"$k$+$i!$$=$l$r;2>H>pJs$H$7$F;H$&!%(Bkey $B%U%#!<%k%I$,6u$G$J$1(B +% $B$l$P(B key $B$r!$(Bkey $B$,6u$J$i(B($B$=$3$K;2>H$7$F$$$k$b$N$NI=Bj$,F~$C$F$$$k$O$:$@$+$i(B) +% booktitle $B%U%#!<%k%I$r;H$&!%(B + +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 } +#if IN_LOWER +#if JISPJ_LIKE + {"in " booktitle * } +#else !JIPSJ_LIKE +#if NO_EM + { booktitle } +#else !NO_EM + {"in {\em " booktitle * "\/}" * } +#endif NO_EM +#endif JIPSJ_LIKE +#else !IN_LOWER + {"In {\em " booktitle * "\/}" * } +#endif IN_LOWER + if$ + } + if$ + } +#if IN_LOWER + { "in " key * } +#else !IN_LOWER + { "In " key * } +#endif IN_LOWER + if$ + } + { title is.kanji.str$ + {" " format.crossref.editor * } +#if IN_LOWER + {"in " format.crossref.editor * } +#else !IN_LOWER + {"In " format.crossref.editor * } +#endif IN_LOWER + if$ + } + if$ + " \cite{" * crossref * "}" * +} + +% $B$3$3$+$i(B .BIB $B%U%!%$%kCf$K=q$+$l$k2DG=@-$N$"$k%(%s%H%j$N7?(B(ARTICLE $B$H$+(B +% BOOK $B$H$+(B)$BKh$K!$4X?t$rDj5A$9$k!%$3$l$i$N4X?t$,(B .BBL $B%U%!%$%k$K=PNO$r9T$&!%(B +% $B$3$l$i$N4X?t$NDj5A$O(B READ $B%3%^%s%I$h$jA0$K$J$1$l$P$J$i$J$$!%$5$i$K%9%?%$%k(B +% $B@_7W<T$H$7$F$O!$L$Dj5A$N7?MQ$K(B default.type $B$H$$$&4X?t$bDj5A$9$kI,MW$,$"$k!%(B +% $BCm0U(B: $B0J2<$G<($5$l$F$$$k%U%#!<%k%I$N=gHV$O(B(inbook, proceedings$B$GFC$K(B +% $BCG$C$F$J$$8B$j(B)$B!$=PNO$5$l$k=gHV$KJB$s$G$$$k!%(B +% +% $B3X2q;o$N7A<0$K9g$o$;$F%3!<%I$,=$@5$5$l$F$$$k$N$G!$%"%k%4%j%:%`$H$OI,$:$7$b(B +% $B0lCW$7$J$$!%(B +% +% article $B4X?t$O(B ARTICLE $BMQ$G$"$j!$B>$N(B ARTICLE $B$rJ88%%j%9%HFb;2>H$7$F$h$$!%(B +% $BI,?\(B: author, title, journal, year +% $BG$0U(B: volume, number, pages, month, note +% +% article == +% BEGIN +% output.bibitem +% output.check(format.authors,"author") +% new.block +% output.check(format.title,"title") +% new.block +% if missing$(crossref) then +% output.check(emphasize(journal),"journal") +% output(format.vol.num.pages) +% output.check(format.date,"year") +% else +% output.nonnull(format.article.crossref) +% output(format.pages) +% fi +% new.block +% output(note) +% fin.entry +% END +% +% book $B4X?t$OK\A4BN$N;2>HMQ!%(BBOOK $B$G$OB>$N(B BOOK $B$rJ88%%j%9%HFb;2>H$7$F$h$$!%(B +% $BI,?\(B: author or editor, title, publisher, year +% $BG$0U(B: volume or number, series, address, edition, month, note +% SHOW_BOOK_PAGES $B$,(B 1 $B$J$i!$(Bpages $B$bG$0U%U%#!<%k%I(B +% +% book == +% BEGIN +% if empty$(author) then output.check(format.editors,"author and editor") +% else output.check(format.authors,"author") +% if missing$(crossref) then +% either.or.check("author and editor",editor) +% fi +% fi +% new.block +% output.check(format.btitle,"title") +% if missing$(crossref) then +% output(format.bvolume) +% new.block +% output(format.number.series) +% new.sentence +% output.check(publisher,"publisher") +% output(address) +% else +% new.block +% output.nonnull(format.book.crossref) +% fi +% output(format.edition) +% #if SHOW_BOOK_PAGES +% output(pages) +% #endif SHOW_BOOK_PAGES +% output.check(format.date,"year") +% new.block +% output(note) +% fin.entry +% END +% +% $BB>$N%(%s%H%j4X?t$bF1$8$h$&$JJ*$J$N$G!$%3%a%s%H%P!<%8%g%s$O$J$$!%(B +% $B>pJs=hM}3X2q1QJ8O@J8;o$G$O(B volume, number, year, pages $B$N=g$G=PNO$9$k!%(B + +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 +#if JIPSJ_LIKE + format.vol.num.year.pages output +#else !JIPSJ_LIKE + format.vol.num.pages output + format.date "year" output.check +#endif JIPSJ_LIKE +} + { format.article.crossref output.nonnull + format.pages output + } + if$ +#ifdef TIEICE + after.block 'output.state := +#endif !TIEICE + new.block + note output + fin.entry +} + +#if SHOW_BOOK_PAGES +FUNCTION {format.book.pages} +{ pages empty$ + { "" } + { pages " pp." *} + if$ +} +#endif SHOW_BOOK_PAGES + +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 +#if ONE_SENTENCE + new.block +#else !ONE_SENTENCE + new.sentence +#endif ONE_SENTENCE + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output +#if SHOW_BOOK_PAGES + format.book.pages output +#endif SHOW_BOOK_PAGES + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif !TIEICE + new.block + note output + fin.entry +} + +% booklet $B$O@=K\$5$l$F$O$$$k$,!$=PHG<R!$%9%]%s%5!<5!4XL>$N$J$$$b$N(B +% $BI,?\(B: title +% $BG$0U(B: author, howpublished, address, month, year, note + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output +#ifdef TIEICE + after.block 'output.state := +#endif !TIEICE + new.block + note output + fin.entry +} + +% conference $B%?%$%W$K$D$$$F$O(B inproceedings $B$r;2>H$;$h!%(B + +% inbook $B$OK\$N#1It(B($B>O!$@a(B and/or $B%Z!<%8HO0O(B)$B$r;2>H$9$k$?$a$N$b$N$G$"$j!$(B +% BOOK $B$rJ88%%j%9%HFb;2>H$7$F$$$F$b$h$$!%(B volume $B%U%#!<%k%I$,$J$$>l9g$K$O!$(B +% type $B%U%#!<%k%I$N>pJs$,(B number $B$d(B series $B$h$j$bA0$KJB$Y$i$l$k!%(B +% $BI,?\(B: author or editor, title, chapter and/or pages, publisher,year +% $BG$0U(B: volume or number, series, type, address, edition, month, note + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output +#if !JIPSJ_LIKE + format.chapter.pages "chapter and pages" output.check +#endif !JIPSJ_LIKE + new.block + format.number.series output +#if ONE_SENTENCE + new.block +#else !ONE_SENTENCE + new.sentence +#endif ONE_SENTENCE + publisher "publisher" output.check + address output + } +#if JIPSJ_LIKE + { +#else !JIPSJ_LIKE + { format.chapter.pages "chapter and pages" output.check +#endif JIPSJ_LIKE + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check +#if JIPSJ_LIKE + format.chapter.pages "chapter and pages" output.check +#endif JIPSJ_LIKE +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% INCOLLECTION $B$O(B INBOOK $B$HF1$8$h$&$J$b$N$G$O$"$k$,!$;2>H$7$F$$$k$b$N$,(B +% $B$=$l8GM-$NI=Bj$r;}$D$b$N$G$"$k(B($B$?$V$sA4BN$NJT<T$b$"$k(B)$B!%(B +% INCOLLECTION $B$O(B BOOK $B$rJ88%%j%9%HFb;2>H$7$F$b$h$$!%(B +% $BI,?\(B: author, title, booktitle, publisher, year +% $BG$0U(B: editor, volume or number, series, type, chapter, pages, +% address, edition, month, note + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output +#if !JIPSJ_LIKE +#ifndef TIEICE + format.chapter.pages output +#endif TIEICE +#endif !JIPSJ_LIKE +#if ONE_SENTENCE + new.block +#else !ONE_SENTENCE + new.sentence +#endif ONE_SENTENCE + publisher "publisher" output.check + address output + format.edition output +#ifdef TIEICE + format.chapter.pages output +#endif TIEICE + format.date "year" output.check +#if JIPSJ_LIKE + format.chapter.pages output +#endif JIPSJ_LIKE + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% INPROCEEDINGS $B$O2q5D$NO@J8(B/$BM=9F=8$K:\$C$F$$$kO@J8$G!$O@J8(B/$BM=9F=8$rJ88%%j%9%H(B +% $BFb;2>H$7$F$b$h$$!%(Baddress $B%U%#!<%k%I$,$J$1$l$P(B month (&year) $B$,(B note $B$ND>A0(B +% $BCV$+$l$k!%(B +% $BI,?\(B: author, title, booktitle, year +% $BG$0U(B: editor, volume or number, series, pages, address, month, +% organization, publisher, note + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output +#if JIPSJ_LIKE + mid.sentence 'output.state := +#else !JIPSJ_LIKE +#ifndef TIEICE + format.pages output +#endif TIEICE +#endif JIPSJ_LIKE + +#if ONE_SENTENCE + new.block +#endif ONE_SENTENCE + address empty$ + { organization publisher new.sentence.checkb +#if ONE_SENTENCE + new.block +#endif ONE_SENTENCE + organization output +#if ONE_SENTENCE +#if JIPSJ_LIKE + new.block + mid.sentence 'output.state := +#else !JIPSJ_LIKE + mid.sentence 'output.state := + new.block +#endif JIPSJ_LIKE +#endif ONE_SENTENCE + publisher output +#ifdef TIEICE + format.pages output + format.date "year" output.check +#else !TIEICE + format.date "year" output.check +#endif TIEICE + } + { address output.nonnull +#ifndef TIEICE + format.date "year" output.check +#endif TIEICE +#if ONE_SENTENCE + new.block +#else !ONE_SENTENCE + new.sentence +#endif ONE_SENTENCE + organization output +#if ONE_SENTENCE + mid.sentence 'output.state := + new.block +#endif ONE_SENTENCE + publisher output +#ifdef TIEICE + format.pages output + format.date "year" output.check +#endif TIEICE + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% conference $B4X?t$O(B Scribe $B$H$N8_49@-$N$?$a$K$"$k!%(B + +FUNCTION {conference} { inproceedings } + +% manual $B$O%^%K%e%"%k!%(B +% $BI,?\(B: title +% $BG$0U(B: author, organization, address, edition, month, year, note + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% mastersthesis $B$O=$;NO@J8(B +% $BI,?\(B: author, title, school, year +% $BG$0U(B: type, address, month, note + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% misc $B$OB>$N$I$l$K$b$"$F$O$^$i$J$$J*(B +% $BI,?\(B: $BG$0U%U%#!<%k%I$N>/$J$/$H$b#1$D(B +% $BG$0U(B: author, title, howpublished, month, year, note + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry + empty.misc.check +} + +% phdthesis($BGn;NO@J8(B) $B$O(B mastersthesis $B$N$h$&$JJ*!%(B +% $BI,?\(B: author, title, school, year +% $BG$0U(B: type, address, month, note + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% proceedings $B$O2q5D$NO@J8(B/$BM=9F=8$G$"$k!%(B +% organization $B%U%#!<%k%I$,$"$C$F!$(B editor $B%U%#!<%k%I$,$J$$;~$K$O!$(B +% organization $B%U%#!<%k%I$,G$0U%U%#!<%k%I$N:G=i$N$b$N$H$7$F;H$o$l$k(B +% ($B:G=i$N%V%m%C%/$r6u$K$O$7$J$$$h$&$K$9$k!K!%(B +% address $B%U%#!<%k%I$,$J$1$l$P!$(Bmonth (& year) $B$,(B note $B$ND>A0$KJB$V!%(B +% $BI,?\(B: title, year +% $BG$0U(B: editor, volume or number, series, address, month, +% organization, publisher, note + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + } + { address output.nonnull + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE +#if ONE_SENTENCE + new.block +#else !ONE_SENTENCE + new.sentence +#endif ONE_SENTENCE + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +% techreport $B$O%F%/%K%+%k%l%]!<%H(B +% $BI,?\(B: author, title, institution, year +% $BG$0U(B: type, number, address, month, note + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check +#ifdef TIEICE + after.block 'output.state := +#endif TIEICE + new.block + note output + fin.entry +} + +% unpublished $B$O=PHG$5$l$F$$$J$$$b$N!%(B +% $BI,?\(B: author, title, note +% $BG$0U(B: month, year + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +% $BJ,N`ITL@$N%(%s%H%j$KBP$7$F$O(B `misc' $B$r;H$&!%(B(J)BibTeX $B$O7Y9p$r=P$9!%(B + +FUNCTION {default.type} { misc } + +% $B%9%?%$%k$G0[$J$k$+$bCN$l$J$$$,!$0lHLE*$J%^%/%m$,0J2<$KJB$s$G$$$k!%(B +% $BMxMQ<T$O$3$l$i$N%^%/%m$r;H$&$N$,K>$^$7$$!%(B +% +% $B7n$NL>A0$O%U%k%9%Z%k$+>JN,7A$G=q$/!%(B + +#if MONTH_FULL + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +#else !MONTH_FULL + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +#endif MONTH_FULL + +% $BO@J8;oL>$O%U%k%9%Z%k$+>JN,7A$GI=<($9$k!%>JN,7A$O(B ACM $B$N=PHGJ*$K$"$k7A!%(B +% $B$3$l$H$^$C$?$/0c$&%;%C%H$N>JN,7A$r;H$&>l9g$K$O!$$=$NDj5A$N$_$+$i$J$k(B +% .bib $B%U%!%$%k$r:n$k$N$,0lHV$$$$$@$m$&!%$=$&$9$l$PMxMQ<T$O(B \bibliography +% $B%3%^%s%I$N#1HVL\$N0z?t$H$7$F$=$l$r;XDj$7$F!$$3$l$i$r<h$j9~$a$k!%(B + +#if JOUR_FULL + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +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"} + +#else !JOUR_FULL + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Programming"} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Gr."} + +MACRO {toms} {"ACM Trans. Math. Softw."} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} + +MACRO {tcs} {"Theoretical Comput. Sci."} + +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"} + +#endif JOUR_FULL + +% .BBL $B%U%!%$%k$N%(%s%H%j$rFI$_9~$`(B + +READ + +% $BFI$_9~$^$l$?J88%$N%G!<%?$,4A;z$N$b$N$+$I$&$+%A%'%C%/$7$F%U%i%0$r@_Dj$9$k!%(B +% ASCII $BHG$N(B 0.98 $BMQ$N$b$N$r=$@5$7$?!%(B + +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} + +% sortify $B4XAG$O0z?t$r(B purify$ $B$7$?8e$K>.J8;z$KJQ49$9$k!%%=!<%H$N$?$a!$(B +% $B$"$k$$$O%=!<%H8e$K%i%Y%k$r:n$k;~$K;H$o$l$k!%(B +% +% chop.word(w,len,s) $B$O(B s $B$=$N$b$N$+!$$"$k$$$O(B s $B$N:G=i$N(B len $BJ8;z$,(B w $B$H(B +% $BEy$7$1$l$P(B($B$3$NHf3S$O4X?t$NDj5A$N(B3$B9TL\$G9T$o$l$k(B w $B$h$j8e$m$N(B s $B$N(B +% $BItJ,J8;zNs$rJV$9(B + +#if SORTED + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +#else !SORTED +#if LAB_ALPH + +% $B%=!<%H$5$l$J$$J8;zNs%i%Y%k$D$-J88%%j%9%HMQ$N(B chop.word +% $B$3$s$J$NC/$,;H$&$N!)(B + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +#endif LAB_ALPH +#endif SORTED + +% $B0J2<$ND9$$%3%a%s%H$OJ8;zNs%i%Y%k$N>l9g$N$_$K$"$F$O$^$k!%(B +% +% format.lab.names $B4X?t$OL>A0$N(B von $B$H(B last $B%Q!<%H$NF,J8;z$r;H$C$FC;$$%i%Y%k(B +% $B$r:n$k(B($BL>A0$N?t$,#40J>e$N>l9g$K$O#3$D$G@Z$j!$(B"+" $B$r8*IU$-$G2C$($k!%L>A0$,(B +% $BJ#?t$"$j!$:G8e$,(B "others" $B$G$"$k>l9g$bF1MM$K(B "+" $B$rIU$1$k!K!%(B +% $BL>A0$,#1$D$7$+$J$/!$(Bvon $B$H(B last $B%Q!<%H$+$i$J$kL>A0%H!<%/%s$,#1$D$7$+$J$$$H!$(B +% ("Knuth" $B$O#1$D!$(B"Brinch Hansen"$B$O#2$D(B) $B@+(B(last name)$B$NF,#3J8;z$+$i%i%Y%k$r(B +% $B:n$k!%(Bet.al.char.used $B$OI,MW$K1~$8$F(B LaTeX $B%^%/%m$r=q$-=P$9$?$a$K!$(B"+" $B$,(B +% $B;H$o$l$?$+$I$&$+$rJ];}$9$kO@M}7?$NJQ?t$G$"$k!%(B +% +% $B4A;zCx<TL>$N>l9g$K$O(B yomi $B%U%#!<%k%I$N>pJs$r;H$C$F>e$HF1MM$K%i%Y%k$r:n$k!%(B +% yomi $B%U%#!<%k%I$,$J$1$l$P!$Bh0lCx<T$N@+$N$_$+$i%i%Y%k$r:n$k!%(B +% +% format.lab.names(s) == +% BEGIN +% if not empty$(yomi) then s := yomi fi +% if is.kanji.str$(s) then return $BBh0lCx<T$N@+(B fi +% else do +% numnames := num.names$(s) +% if numnames > 1 then +% if numnames > 4 then +% namesleft := 3 +% else +% namesleft := numnames +% nameptr := 1 +% nameresult := "" +% while namesleft > 0 +% do +% if (name_ptr = numnames) and +% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others" +% then nameresult := nameresult * "{\etalchar{+}}" +% et.al.char.used := true +% else nameresult := nameresult * +% format.name$(s, nameptr, "{v{}}{l{}}") +% nameptr := nameptr + 1 +% namesleft := namesleft - 1 +% od +% if numnames > 4 then +% nameresult := nameresult * "{\etalchar{+}}" +% et.al.char.used := true +% else +% t := format.name$(s, 1, "{v{}}{l{}}") +% if text.length$(t) < 2 then % there's just one name-token +% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3) +% else +% nameresult := t +% fi +% fi +% return nameresult +% od +% END +% +% $B%i%Y%k$N<gMWItJ,$r:n$k;~$K$I$N%U%#!<%k%I$KCmL\$9$k$+$O%(%s%H%j$N7?$G0[$J$k!%(B +% $B$3$l$K$h$C$F!$$I$N7?$G$bF1$8>pJs$r;H$&(B($BNc$($P(B author, editor, key $B$N=g$K;H$&(B) +% $B>l9g$KHf$Y$F!$(BLaTeX book $B$G=R$Y$i$l$F$$$k!VL5;k$5$l$k!W%U%#!<%k%I$,K\Ev$K(B +% $B!VL5;k$G$-$k!W$h$&$K$J$C$F$$$k!%(BMISC $B$NH=Dj$O(B calc.label $B4X?tCf$N(B if $B$N(B +% $B:G8e$N(B else $BIt$KCV$+$l$F$$$k$+$i!$%G!<%?%Y!<%9Cf$N@5$7$/$J$$%(%s%H%j7?$G$b(B +% $B$A$c$s$H=hM}$G$-$k$h$&$K$J$C$F$$$k!%(B +% +% $B%U%#!<%k%I$r8+$F$$$/=gHV$O#4$D$"$k$,!$$=$l$>$l$KBP1~$7$?Jd=u4X?t$,MQ0U$5$l$F(B +% $B$$$k!%:G=i$N4X?t$O@h$:(B author $B%U%#!<%k%I$rD4$Y!$I,MW$J>l9g$K$O(B key $B%U%#!<%k%I(B +% $B$rD4$Y$k!%B>$N#3$D$NJd=u4X?t$bF1$8$h$&$J$b$N$G$"$k$,!$:G=i$K#2$D$N%U%#!<%k%I(B +% $B$rD4$Y!$$=$N8e$K(B key $B%U%#!<%k%I$rD4$Y$k$h$&$K$J$C$F$$$?$j!$(Bkey $B%U%#!<%k%I(B +% $B$r(B organization $B%U%#!<%k%I$h$j@h$KD4$Y$k$h$&$J7A$K$J$C$F$$$k$N$b$"$k!%(B +% (key $B$,@h$J$N$O%i%Y%k$KBP$7$F$NOC$G!$%=!<%HMQ$N%i%Y%k$G$O$J$$$3$H$KCm0U!K!%(B +% +% calc.label $B4X?t$O0J2<$N$h$&$K$7$F%(%s%H%j$NM=HwE*$J%i%Y%k$r:n$k!%(B +% ($B$I$N%U%#!<%k%I$,6u$+$K$h$k$,!$$^$?(B organization $BCf$N(B "The"$B$OL5;k$9$k$,(B) +% author $B$"$k$$$O(B editor $B$"$k$$$O(B organization $B$+$i#3J8;z<h$j=P$7(B($B$3$l$i$,(B +% $B4A;z$N>l9g$K$O!$(Byomi $B%U%#!<%k%I$,6u$G$J$1$l$P(B yomi $B%U%#!<%k%I$r(B author, +% editor, organization $B$NBe$o$j$K;H$C$F#3J8;z<h$j=P$7!$6u$J$i$P#24A;z<h$j=P$7(B) +% $B$F:n$C$?$b$N$N8e$m$K(B year $B$N:G8e$N#2J8;z$rIU$12C$($k!%I,MW$J(B author, editor, +% organization, key $B$,$J$1$l$P%(%i!<$G$"$k$,!$$=$N>l9g$K$O(B citt$ $B$N:G=i$N(B +% $B#3J8;z$r;H$&!%(B +% +% $BF@$i$l$k%i%Y%k$N(B year $BItJ,$K$O(B purify$ $B$,E,MQ$5$l$F$$$k$,!$(B name $BItJ,$K$O(B +% purify$ $B$OE,MQ$5$l$F$$$J$$!%(B(year $B$KBP$7$F(Bpurify$ $B$rE,MQ$9$k$N$G!$$3$l$rMxMQ(B +% $B$7$FMxMQ<T$O%=!<%H4X?t$r$@$^$7$F!$=gHV$r<+J,$NET9g$NNI$$$h$&$K$G$-$k!K!%(B +% +% $B$3$l$i$N4X?t$G$O%=!<%H$G;H$&%i%Y%k$b:n@.$9$k!%(B +% +% $B:G=*E*$J%i%Y%k$K$O6hJL$N$?$a$K(B 'a', 'b' $B$J$I$r8e$m$K$D$1$kI,MW$b$"$k$,!$(B +% $B$3$N(B extra.label $B$O%=!<%H$7$?8e$G:n$k!%(B +% +% calc.label == +% BEGIN +% if type$ = "book" or "inbook" then +% author.editor.key.label +% else if type$ = "proceedings" then +% editor.key.organization.label +% else if type$ = "manual" then +% author.key.organization.label +% else +% author.key.label +% fi fi fi +% label := label * substring$(purify$(field.or.null(year)), -1, 2) +% % assuming we will also sort, we calculate a sort.label +% sort.label := sortify(label), but use the last four, not two, digits +% END + +#if LAB_ALPH + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ 's := +% yomi $B%U%#!<%k%I$,6u$G$J$1$l$P$=$l$r;H$&(B + yomi empty$ + 'skip$ + { yomi 's :=} + if$ +#if USE_FIRST_ONLY +% +% $BF|K\8lJ8;zNs$N>l9g$K$O!$Bh0lCx<T$N@+$N$_$H$9$k(B +% + 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$ + } +% $BF|K\8lJ8;zNs$G$J$$>l9g$N=hM}(B + { s #1 "{ll}" format.name$ #3 text.prefix$ } + if$ +#else !USE_FIRST_ONLY +% +% $BF|K\8lJ8;zNs$N>l9g$K$O!$Bh0lCx<T$N@+$N$_$H$9$k(B +% + 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$ + } +% $BF|K\8lJ8;zNs$G$J$$>l9g$N=hM}(B + { + 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$ +#endif USE_FIRST_ONLY +} + + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ +#if SORTED + { cite$ #1 #3 substring$ } +#else !SORTED % $B8e$G$O7Y9p$r=P$5$J$$$+$i$3$3$G=P$7$F$*$/(B + { "for label, need author or key in " cite$ * warning$ + cite$ #1 #3 substring$ + } +#endif SORTED + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ +#if SORTED + { cite$ #1 #3 substring$ } +#else !SORTED % $B8e$G$O7Y9p$r=P$5$J$$$+$i$3$3$G=P$7$F$*$/(B + { "for label, need author, editor, or key in " cite$ * warning$ + cite #1 #3 substring$ + } +#endif SORTED + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ +#if SORTED + { cite$ #1 #3 substring$ } +#else !SORTED % $B8e$G$O7Y9p$r=P$5$J$$$+$i$3$3$G=P$7$F$*$/(B + { "for label, need author, key, or organization in " cite$ * + warning$ + cite #1 #3 substring$ + } +#endif SORTED + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ +#if SORTED + { cite$ #1 #3 substring$ } +#else !SORTED % $B8e$G$O7Y9p$r=P$5$J$$$+$i$3$3$G=P$7$F$*$/(B + { "for label, need editor, key, or organization in " cite$ * + warning$ + cite #1 #3 substring$ + } +#endif SORTED + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + duplicate$ + year field.or.null purify$ #-1 #2 substring$ + * + 'label := + year field.or.null purify$ #-1 #4 substring$ + * + sortify 'sort.label := +} + +% $BJ8;zNs%i%Y%k$r;H$&>l9g$K!$0zMQ=g$KJB$Y$k$N$ONI$$$H$O;W$($J$$$,!$(B +% $B$=$N>l9g$K$O!$$A$g$C$HJL$N$d$jJ}$G%i%Y%k$r:n$i$J$/$F$O$J$i$J$$!%(B + +#if !SORTED + +ITERATE {calc.label} + +#endif !SORTED + +#endif LAB_ALPH + +% $B%=!<%F%#%s%0$G$O(B presort $B$r3F!9$N%(%s%H%j$KBP$7$F<B9T$9$k$3$H$G(B sortkey +% $B$r5a$a$k!%(Bpresort $B%-!<$K$OJ#?t$N%V%i%s%/$G6h@Z$i$l$?(B sortify $B$5$l$?(B +% $B$$$/$D$+$NJ8;zNs$,4^$^$l$k!%$3$l$K$h$C$F(B "brinch per" $B$NJ}$,(B +% "brinch hansen per" $B$h$jA0$K$J$k!%(B +% +% $B$3$3$G;H$o$l$F$$$k%U%#!<%k%I72$O0J2<$NDL$j!%J8;zNs%i%Y%k$N>l9g$K$O(B +% (calc.label $B$G5a$a$?(B) sort.label, $BB3$$$F%(%s%H%j$N7?$"$k$$$O2?$,7g$1$F$$$k$+(B +% $B$G0[$J$k$,!$Cx<TL>(B($BJT<T!$@hF,$N(B "The" $B$r=|$$$?5!4XL>$N$3$H$b$"$k(B)$B$^$?$O(B +% key $B%U%#!<%k%I!$<!$,G/!$$=$7$F(B($B@hF,$N(B "The ", "A ", or "An " $B$r=|$$$?(B) +% $BI=Bj$N0lItJ,$G$"$k!%(B. +% $BL>A0$O(B Von Last First Junior $B$N$h$&$K%U%)!<%^%C%H$5$l$k!%(B +% $BL>A0$NCGJR$O(B("brinch hansen")$B$N$h$&$K#1$D$N6uGr$G6h@Z$i$l!$L>A0$N9=@.MWAG$O(B +% (von $B$H@+$NItJ,$r=|$$$F(B)$B#2$D$N6uGr$G6h@Z$i$l!$J#?t$NL>A0$N4V$K$O#3$D$N6uGr(B +% $B$,A^F~$5$l!$L>A0$HG/(B($BJ8;zNs%i%Y%k$N>l9g$K$O%i%Y%k$HL>A0!K$N4V$K$O(B +% $B#4$D$N6uGr$,A^F~$5$l!$$^$?G/$HI=Bj$N4V$K$b#4$D$N6uGr$,A^F~$5$l$k!%(B +% +% sort.format.names $B4X?t$O(B (J)BibTeX $B$NL>A07A<0$G=q$+$l$?0z?t$r$H$j!$(B +% $B>e=R$N7A<0$N(B " " $B$G6h@Z$i$l$?J8;zNs$rJV$9!%(B format.names$B$H$[$H$s$IF1$8!%(B +% +% +#if SORTED + +FUNCTION {sort.format.names} +{ 's := +% +% yomi $B%U%#!<%k%I$,6u$G$J$1$l$P$=$l$r;H$&(B +% + yomi empty$ + 'skip$ + { yomi 's := } + if$ + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { ", " * } + 'skip$ + if$ +#if NAME_FULL + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := +#else !NAME_FULL + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := +#endif NAME_FULL + nameptr numnames = t "others" = and + { s is.kanji.str$ +#if USE_KANJI_HOKA + {"$BB>(B" * } +#else !USE_KANJI_HOKA + {"$B$[$+(B" * } +#endif USE_KANJI_HOKA + {"et~al." *} + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% sort.format.title $B$O0z?t$+$i@hF,$N(B "A ", "An ", "The " $B$r<h$j=|$$$?(B +% $BJ8;zNs$rJV$9!%(B +% chop.word $B$,JQ?t(B s $B$r;H$C$F$$$k$N$G!$JL$NJ8;zNsJQ?t(B t $B$r;H$&!%(B + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +% $B$3$3$N%=!<%H$NA0=hM}MQ$NJd=u4X?t72$O!$(Bcalc.label $B$N$b$N$HF1$8$h$&$J(B +% $B$b$N$G$"$k$,!$$3$3$G$O(B key $B%U%#!<%k%I$h$j(B organization $B%U%#!<%k%I$,M%@h(B +% $B$9$k!%$^$?%=!<%H$N$?$a$K(B organization $B%U%#!<%k%I$N@hF,$N(B "The "$B$O(B +% $B<h$j=|$/!%(B + +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$ +} + +% sort.key$ $B$J$I$N%(%s%H%j$NJ8;zNsJQ?t$ND9$5$K$O(B entry.max$ $B$N>e8B$,$"$k!%(B +% $B$=$3$G!$@8@.$9$k%-!<$ND9$5$r$=$l0JFb$H$9$k!%$=$l$@$1$ND9$5$,$"$l$P(B +% 1$B$D$7$+%^%C%A$9$k$3$H$O$J$$$H2>Dj$9$k!%(B + +FUNCTION {presort} +#if LAB_ALPH +{ calc.label + sort.label + " " + * + type$ "book" = +#else !LAB_ALPH +{ type$ "book" = +#endif LAB_ALPH + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ +#if LAB_ALPH + * +#endif LAB_ALPH + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +% $B%=!<%H$N=`Hw$O@0$C$?!%(B + +SORT + +#endif SORTED + +% $B$3$NCm<a$O%=!<%H$5$l$?J8;zNs%i%Y%k$r:n$k;~$N$_$"$F$O$^$k!%(B +% +% $BJ8;zNs%i%Y%k$N:G=*%9%F!<%8$G$"$j!$I,MW$K1~$8$F(B 'a', 'b' $B$J$I$r(B +% $BIU2C$9$k!%(B2$B$D$N%Q%9$+$i$J$k!%(B 'b', 'c' $B$rIU2C$9$k$?$a$NA08~$-%Q%9$H!$(B +% 'a' $B$rIU2C$9$k$?$a$N8e8~$-%Q%9$+$i$J$k!%(B('b' $B$,$J$1$l$P(B'a'$B$OIU2C$9$k(B +% $BI,MW$O$J$$(B) +% "thebibliography"$B4D6-$N$?$a$K(B width$ $B$G7W$C$F:G$bD9$$%i%Y%k$r5a$a$F$*$/!%(B +% +% VAR: longest.label, last.sort.label, next.extra: string +% longest.label.width, last.extra.num: integer +% +% initialize.longest.label == +% BEGIN +% longest.label := "" +% last.sort.label := int.to.chr$(0) +% next.extra := "" +% longest.label.width := 0 +% last.extra.num := 0 +% END +% +% forward.pass == +% BEGIN +% if last.sort.label = sort.label then +% last.extra.num := last.extra.num + 1 +% extra.label := int.to.chr$(last.extra.num) +% else +% last.extra.num := chr.to.int$("a") +% extra.label := "" +% last.sort.label := sort.label +% fi +% END +% +% reverse.pass == +% BEGIN +% if next.extra = "b" then +% extra.label := "a" +% fi +% label := label * extra.label +% if width$(label) > longest.label.width then +% longest.label := label +% longest.label.width := width$(label) +% fi +% next.extra := extra.label +% END + +#if LAB_ALPH + +#if SORTED + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +#else !SORTED + +% $BJ8;zNs%i%Y%k$r;H$&;~$K$O!V0zMQ=g!W$N;29MJ88%%j%9%H$H$9$k$N$O(B +% $B$"$^$jNI$/$J$$!%$7$+$7$=$N>l9g$KHw$($F:G$bD9$$%i%Y%k$r5a$a$F$*$/!%(B + +STRINGS { longest.label } + +INTEGERS { longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +#endif SORTED + +#else !LAB_ALPH + + +% $B?t;z%i%Y%k$r5a$a$k!%%=!<%H$5$l$?=gHV!$$"$k$$$O85$N=gHV$G=hM}$9$k!%(B +% "thebibliography" environment $B$GI,MW$J>pJs$G$"$k!$(B +% width$ $B$G7W$C$F:G$bD9$$%i%Y%k$bF1;~$K5a$a$F$*$/!%(B + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +#endif LAB_ALPH + +% .BBL $B%U%!%$%k$K=q$-=P$9=`Hw$,@0$C$?!%(B +% $B@h$:J8;zNs%i%Y%k$G>JN,$5$l$?L>A0$r<($9$N$K;H$&(B LaTeX $B%^%/%m$rI,MW$K(B +% $B1~$8$F=q$-$@$7!$<!$K%G!<%?%Y!<%9Cf$N(B `preamble' $B%3%^%s%I$NCf?H$r=q$-=P$9!%(B +% $B$=$7$F(B +% \begin{thebibliography}{...} +% $B$r=q$-=P$9!%$3$3$G(B `...'$B$O(B width$ $B$G7W;;$7$F:G$bD9$$%i%Y%k$G$"$k!%(B + +FUNCTION {begin.bib} +#if LAB_ALPH +{ et.al.char.used + { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } + 'skip$ + if$ + preamble$ empty$ +#else !LAB_ALPH +{ preamble$ empty$ +#endif LAB_ALPH + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +% $BA4$F$N%(%s%H%j$r=PNO$9$k!%(B + +ITERATE {call.type$} + +% $B:G8e$K(B `\end{thebibliography}' $B%3%^%s%I$r=q$-=P$7$F$*$7$^$$!*(B + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/biblio/pbibtex/base/jbtxdoc.bib b/biblio/pbibtex/base/jbtxdoc.bib new file mode 100644 index 0000000000..2576dd26c6 --- /dev/null +++ b/biblio/pbibtex/base/jbtxdoc.bib @@ -0,0 +1,116 @@ +Copyright (C) 1988, all rights reserved. +$B>>0f!wEECf8&$K$h$j!$%*%j%8%J%k$N(Bbtxdoc.bib$B$+$i:n@.$5$l$?!%(B + +@COMMENT(You may put a comment in a `comment' command, + the way you would with SCRIBE.) + +Or you may dispense with the command and simply give the comment, +as long as it's not within an entry. + +If you really want to put a comment inside an entry, simply +make up a never-to-be-used field. + +@FAKE-ENTRY + {fake-database-key, + never-to-be-used-field = "Even if this were a real entry, + I could still have a comment inside an entry + by making up a fake field" + } + +@string (SCRIBE-NOTE = {Chapter twelve and appendices E8 through E10 deal + with bibliographies}) +@string (denken={$BEENOCf1{8&5f=j(B}) +The next entry shows some of the syntactically legal things that +those with the inclination may use.@ + +MaNuAl (scribe, + TITLE="Scribe Document Production System + + + User Manual", + ORGANIZATION = {Unilogic,}#" Ltd"# {. + }, + ADDRESS = "Pittsburgh", + MONTH +=aPR + ,YEAR=1984, + note = scribe-note, +) May the inclination not be with you. + + +@MANUAL{$B>>0f(B, + author = "$B>>0f(B $B@50l(B", + title = "$BF|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}F|K\8l(BTeX$B$N;H$$J}(B", + address = denken, + yomi="Shouichi Matsui", + note = "$B#J#B#i#b#T#e#X$N%F%9%H(B", + year = 1987} + +@MISC{prime-number-theorem, + author = "Charles Louis Xavier Joseph de la Vall{\'e}e Poussin", + note = "A strong form of the prime number theorem, 19th century" } + +@INBOOK{chicago, + title = "The Chicago Manual of Style", + publisher = "University of Chicago Press", + edition = "Thirteenth", + year = 1982, + pages = "400--401", + key = "Chicago" } + +@BOOK{texbook, + author = "Donald E. Knuth", + title= "The {{\TeX}book}", + publisher = "Addison-Wesley", + year = 1984 , + note="($BK.Lu!'!X(B{\TeX} $B%V%C%/!Y(B $B@FF#(B $B?.CK(B $B4FLu(B, + $B:mC+(B $B9%51(B $BLu(B, $B%"%9%-!<(B, 1989$BG/(B)" +} + +@BOOK{latex, + author = "Leslie Lamport", + title = "{\LaTeX \rm:} {A} Document Preparation System", + publisher = "Addison-Wesley", + year = 1986, + note="($BK.Lu!'!XJ8=q=hM}%7%9%F%`(B {\LaTeX}$B!Y(B Edgar Cooke, $BARBt(B $BNI0l(B $B4FLu(B, + $BBgLn(B $B=S<#(B, $B>.Jk(B $BGnF;(B, $BF#1:(B $B$O$kH~(B $BLu(B, $B%"%9%-!<!$(B 1990$BG/(B)" + } + +@UNPUBLISHED{btxdoc, + author = "Oren Patashnik", + title = "{{\BibTeX ing}}", + note = "Documentation for general {\BibTeX} users", + month = jan, + year = 1988 } + +@UNPUBLISHED{btxhak, + author = "Oren Patashnik", + title = "Designing {\BibTeX} Styles", + note = "The part of \BibTeX's documentation + that's not meant for general users", + month = jan, + year = 1988 } + +@BOOK{strunk-and-white, + author = "Strunk, Jr., William and E. B. White", + title = "The Elements of Style", + publisher = "Macmillan", + edition = "Third", + year = 1979, + note = "($BK.Lu!'!X1Q8lJ8>O%k!<%k%V%C%/!Y9SC](B $B;0O:Lu(B, $B9SC]=PHG(B, 1985$BG/(B)" +} + +@BOOK{van-leunen, + title = "A Handbook for Scholars", + author = "Mary-Claire van Leunen", + publisher = "Knopf", + year = 1979 } + +@UNPUBLISHED{jbibtex, + title="$BF|K\8l(B{\BibTeX:\JBibTeX}", + author="$B>>0f(B $B@50l(B", + yomi="Shouichi Matsui", + year=1991, + note="\JBibTeX~C Version$B%-%C%H$H6&$KG[I[$5$l$F$$$kJ8=q(B(ver.0.20$BMQ(B, 1989$BG/(B)" } + + diff --git a/biblio/pbibtex/base/jbtxdoc.pdf b/biblio/pbibtex/base/jbtxdoc.pdf Binary files differnew file mode 100644 index 0000000000..a93b140c09 --- /dev/null +++ b/biblio/pbibtex/base/jbtxdoc.pdf diff --git a/biblio/pbibtex/base/jbtxdoc.tex b/biblio/pbibtex/base/jbtxdoc.tex new file mode 100644 index 0000000000..bf7f992141 --- /dev/null +++ b/biblio/pbibtex/base/jbtxdoc.tex @@ -0,0 +1,1090 @@ +\documentstyle{jarticle} +\def\dg{\gt} +\def\dm{\mn} +\voffset=-2.3cm +\hoffset=-2.3cm +\textwidth=16.6cm +\textheight=25cm + +\def\JTeX{\leavevmode\lower .5ex\hbox{J}\kern-.17em\TeX} +\def\JLaTeX{\leavevmode\lower.5ex\hbox{J}\kern-.17em\LaTeX} +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\def\JBibTeX{\leavevmode\lower .5ex\hbox{{\rm J}}\kern-0.15em\BibTeX} +\def\trnote#1{\footnote{\parindent=16pt\hskip-15pt\hang\indent $BLuCm!'(B#1\parindent=10pt}} + +\title{B\kern-.05em{\large I}\kern-.025em{\large B}\kern-.08em\TeX ing$B!'(B +B\kern-.05em{\large I}\kern-.025em{\large B}\kern-.08em\TeX $B$N;H$$J}(B +\footnote{$BK]Lu$NItJ,$O86Cx<T$N5v2D$rF@$FG[I[$9$k$b$N$G$"$j!$K]Lu$K$D$$$F!$(B +\JBibTeX\ $B$K4X$9$k5-=R$K$D$$$F$O>>0f$KLd$$9g$o$;$i$l$?$$!%(B} +\ $^,$\footnote{\JBibTeX\ (version 0.30)$B$N@bL@$b4^$`!%(B}} +\author{Oren Patashnik($BLu!'>>0f@50l(B)} +\date{January 31, 1988($BK]LuHG!'(B1991$BG/(B1$B7n(B1$BF|(B)} + +\begin{document} +\baselineskip=17pt + +\maketitle + +\section{$B35MW(B} + +[$B$3$NJ8=q$O(B\BibTeX\ version 1.00$B$,40@.$7$?;~$K3H=<$5$l$k!%(B +$B%?%$%W%_%9!$7gMn!$IT@53N$JItJ,!$FC$K!$J,$+$j$K$/$$ItJ,$K$D$$$F!$(B +$BCx<T$^$GO"Mm$5$l$?$$(B({\tt patashnik@SCORE.STANFORD.EDU}, $BF|K\8l$*$h$S(B +\JBibTeX\ $B$K4X$9$kItJ,$O(B{\tt matsui@denken.or.jp})$B!%(B +$B2~A1$K4X$9$k0U8+$r4?7^$9$k!%(B] + +$B$3$l$O(B\BibTeX\ version 0.99a\trnote{version 0.99a$B0J9_$N(B +$B0UL#$G$"$j!$(B\JBibTeX $B$N4p$K$J$C$F$$$k(B0.99c$B$b4^$^$l$k!%(B} +$B$NMxMQ<T$N$?$a$N$b$N$G$"$j(B\trnote{\JBibTeX $BMxMQ<T$N$?$a$G$b$"$k!%(B +\JBibTeX $B$K$D$$$F$O(B\cite{jbibtex}$B$b;2>H$5$l$?$$!%(B}$B!$(B +$B;29MJ88%%9%?%$%k$N@_7W<T(B($B@=:n<T(B)$B$O$3$NJ8=q$rFI$s$@8e!$@=:n<T$N$?$a$@$1$K(B +$B=q$+$l$F$$$k(B ``Designing \BibTeX\ Styles''~\cite{btxhak}$B$rFI$`I,MW$,$"$k!%(B + +$BK\9F$O0J2<$N(B3$B@a$+$i$J$k!%(B +$BBh(B\ref{$BAj0cE@(B} $B@a$G(B \BibTeX $B$N(Bversion 0.98i$B$H(B0.99a$B$NAj0cE@$r!$(B +$B3F!9$KBP1~$9$kI8=`%9%?%$%k%U%!%$%k$NAj0cE@$H$H$b$K=R$Y$k!%(B +$BBh(B\ref{latex-appendix} $B@a$O(B\LaTeX\ book~\cite{latex}$B$NIUO?(BB.2$B$N=$@5$G$"$j!$(B +$BBh(B\ref{odds-and-ends} $B@a$GB>$NJ8=q$K$O=q$+$l$F$$$J$$0lHLE*;v9`!$FC<l;v9`$K(B +$B$D$$$F=R$Y$k!%(B +$BK\9F$NFI<T$O(B\LaTeX\ book$B$N4XO"$9$k@a$K@:DL$7$F$$$k$3$H$,K>$^$l$k!%(B + +$B$3$NJ8=q$O(B\BibTeX\ $B$rAv$i$;$k:n6H$r=u$1$k$?$a$NF~NONc$H$7$F$NLr3d$b;}$D!%(B +$BB?$/$NJ8=q$HF1$8$/$3$NJ8=q$b;29MJ88%$N0zMQ$r4^$s$G$$$k!%;29MJ88%%j%9%H$r(B +$B:n$k$?$a$K$O!$(B +$B$3$NJ8=q<+?H$r=hM}$9$k$?$a$K$O!$(B +$B@h$:(B({\tt aux}$B%U%!%$%k$r:n$k$?$a$K(B)\LaTeX\ $B$r<B9T$7!$(B +$B<!$K(B({\tt bbl}$B%U%!%$%k$r:n$k$?$a$K(B)\BibTeX\ $B$r<B9T$7!$(B +$B:G8e$K(B\LaTeX $B$r$b$&(B2$B2s<B9T$9$k(B(1$B2s$O(B{\tt bbl}$B%U%!%$%kCf$N>pJs$r(B +$B<h$j9~$`$?$a$G$"$j!$$b$&(B1$B2s$OA0J};2>H$r2r7h$9$k$?$a$G$"$k(B)$B!%(B +$B$a$C$?$K5/$3$i$J$$$3$H$G$O$"$k$,!$$5$i$K$b$&(B1$B2s(B +\BibTeX/\LaTeX\ $B$rAv$i$;$J$1$l$P$J$i$J$$$3$H$b$"$k(B. + +\BibTeX\ version 0.99a$B$O!$(Bclosed$B;29MJ88%=q<0$rI8=`$H$7$F$$$k!%(B +\LaTeX\ version 2.09$B$H$H$b$K;H$&I,MW$,$"$k(B\trnote{\JBibTeX\ $B$O(B +\JLaTeX\ $B$H$H$b$K;H$&!%(B}$B!%(B +open$B;29MJ88%=q<0$K$9$k$?$a$K$O%*%W%7%g%sJ8=q%9%?%$%k$N(B{\tt openbib} +$B$r;H$&I,MW$,$"$k!%(B +(open$B=q<0$G$O<g%V%m%C%/$N4V$G2~9T$,9T$o$l$k$,!$(Bclosed$B$G$O9T$o$l$J$$!%(B) + +{\dg $BCm0U(B}$B!'(B\BibTeX\ 0.99a$B$G$O8E$$%9%?%$%k%U%!%$%k$O;H$($J$$!$F1MM$K(B +\BibTeX\ 0.98i$B$G$O?7$7$$%9%?%$%k%U%!%$%k$O;H$($J$$!%(B +($B$7$+$7?7$7$$(B\BibTeX\ $B$G8E$$%G!<%?%Y!<%9%U%!%$%k$r;H$&$3$H$O$G$-$k!%(B) + +{\dg $B%$%s%W%j%a%s%?$X$NCm0U(B}$B!'(B\BibTeX\ $B$K$O(B +$B;29MJ88%%9%?%$%k%U%!%$%k$NF~NO%G%#%l%/%H%j$N$?$a$N(B{\tt TEXINPUTS:}$B$H!$(B +$B%G!<%?%Y!<%9%U%!%$%k$NF~NO%G%#%l%/%H%j$N$?$a$N(B{\tt BIBINPUTS:} +$B$N(B2$B$D$NO@M}L>(B\trnote{UNIX/MS-DOS$B$G$O$=$l$>$l(B{\tt TEXINPUTS}$B$H(B +{\tt BIBINPUTS}$B$N4D6-JQ?t(B}$B$,MQ0U$5$l$F$$$k!%(B + +\vskip\baselineskip +{\dg\bf\JBibTeX\ $B$G$NCm0UE@(B}$B!'(B +$B4A;z%3!<%I7O$O(B{\tt BIBTERMCODE, BIBFILECODE}$B$N(B2$B$D$N(B +$B4D6-JQ?t$GJQ992DG=$G$"$j!$(B\JTeX\ $B$N(B \verb|\kanjiterminaltype, \kanjifiletype|$B$K(B +$B;XDj$9$k$N$HF1$8$b$N$r;XDj$9$k!%(BUNIX$BHG$G$O%5%$%HKh$KI8=`%3!<%I$,@_Dj$5$l$F(B +$B$$$k$O$:$G$"$j!$(BMS-DOS$BHG$G$O(BSJIS$B$,I8=`$G$"$k!%(B + +\newpage +\section{$BJQ99E@(B} +\label{$BAj0cE@(B} +$BK\@a$G$O(B\BibTeX\ versions 0.98i$B$H(B0.99a$B$N0c$$$H!$3F!9$N%P!<%8%g%s$KBP1~$9$k(B +$B%9%?%$%k$N0c$$$K$D$$$F=R$Y$k!%(B0.98i$B$H(B0.99a$B$N4V$K$O(B +$BB?$/$NAj0cE@$,$"$k$,(B0.99$B$H(B1.00$B$N4V$G$O$b$C$H$:$C$H>/$J$/$J$k$G$"$m$&!%(B + +\subsection{\BibTeX\ $B$N?75!G=(B} +\label{features} + +$B0J2<$K(B\BibTeX\ $B$N?75!G=$H$=$N;H$$J}$rNs5s$9$k(B\trnote{\JBibTeX\ $B$N5!G=$G$b(B +$B$"$k!%(B}$B!%(B + +\begin{enumerate} + +\item +$B8D!9$NJ88%Kh$K(B \verb|\cite|, \verb|\nocite|$B$rL@<(E*$K;XDj(B +$B$7$J$/$F$b!$(B `\verb|\nocite{*}|' $B%3%^%s%I$R$H$D$G!$(B +$B%G!<%?%Y!<%9Cf$N$9$Y$F$NJ88%$rJB$Y$?%j%9%H$r:n$k$3$H$,$G$-$k!%(B +$B$3$l$O!$$3$N%3%^%s%I$r(B +$B;H$C$?>l=j$G!$%G!<%?%Y!<%9Cf$N$9$Y$F$N%(%s%H%j$r$=$N(B +$B=gHV$G(B \verb|\nocite|$B$9$k$3$H$KAjEv$9$k!%(B + +\item +\label{concat} +$B%U%#!<%k%I(B($B$"$k$$$O(B{\tt @STRING}$B$NDj5ACf$G(B)$BJ8;zNs$NO"7k$r;XDj$G$-$k!%(B +$BNc$($P!$<!$N$h$&$KDj5A$7$F$*$/$H!$(B +\begin{verbatim} + @STRING( WGA = " World Gnus Almanac" ) +\end{verbatim} +$BJL!9$G$O$"$k$,;w$?$h$&$J(B{\tt title}$B%(%s%H%j$r4JC1$K:n$l$k!%(B +\begin{verbatim} + @BOOK(almanac-66, + title = 1966 # WGA, + . . . + @BOOK(almanac-67, + title = 1967 # WGA, +\end{verbatim} +$B<!$N$h$&$J;H$$J}$b2DG=$G$"$k!%(B +\begin{verbatim} + month = "1~" # jan, +\end{verbatim} +$B$3$N;~!$%9%?%$%k%U%!%$%kCf$G$N(B{\tt jan}$B$N>JN,7A$NDj5A$K$h$C$F0[$J$k$,!$(B +{\tt bbl}$B%U%!%$%kCf$G$O(B `\verb|1~Jan.|' $B$"$k$$$O(B +`\verb|1~January|' $B$N$h$&$K$J$k!%(B +($B%U%#!<%k%I$N%G!<%?D9$K$O>e8B$,$"$k$,(B) `{\tt\#}' $B$K$h$C$F(B +$BG$0U$N?t$NJ8;zNs$rO"7k$G$-$k!%(B +`{\tt\#}' $B$NA08e$K$O!$%9%Z!<%9(B\trnote{$B4A;z%3!<%I$N(B +$B%9%Z!<%9(B($B6uGr(B)$B$G$O%@%a(B!}$B$+2~9T$rCV$/$3$H$rK:$l$F$O$J$i$J$$!%(B + +\item +\BibTeX\ $B$K?7$?$JAj8_;2>H5!G=$rIU$12C$($?!%$3$l$rNc$K$=$C$F@bL@$9$k!%(B +$BJ8=qCf$K(B \verb|\cite{no-gnats}|$B$H;XDj$7!$(B +$B%G!<%?%Y!<%9Cf$K<!$N(B2$B$D$N%(%s%H%j$,$"$k$H$7$h$&!%(B +\begin{verbatim} + @INPROCEEDINGS(no-gnats, + crossref = "gg-proceedings", + author = "Rocky Gneisser", + title = "No Gnats Are Taken for Granite", + pages = "133-139") + . . . + @PROCEEDINGS(gg-proceedings, + editor = "Gerald Ford and Jimmy Carter", + title = "The Gnats and Gnus 1988 Proceedings", + booktitle = "The Gnats and Gnus 1988 Proceedings") +\end{verbatim} +$B$3$N;~!$<!$K=R$Y$k(B2$B$D$N$3$H$,$*$3$k!%(B +$BBh(B1$B$K!$FCJL$J0UL#$r;}$D%U%#!<%k%I(B{\tt crossref}$B$O!$(B{\tt no-gnats} +$B%(%s%H%j$G7gMn$7$F$$$k%U%#!<%k%I$r!$(B +$B0zMQ$7$F$$$k(B{\tt gg-proceedings}$B$+$i7Q>5$9$k$3$H$r(B\BibTeX $B$K(B +$BEA$($k!%@h$NNc$G$$$($P(B{\tt editor}$B$H(B{\tt booktitle}$B$N(B2$B$D$r(B +$B7Q>5$9$k!%(B +$B$?$@$7!$I8=`$N%9%?%$%k$G$O(B{\tt booktitle}$B%U%#!<%k%I$O(B +{\tt PROCEEDINGS}$B7?$N%(%s%H%j$G$O0UL#$r;}$?$J$$!%(B +$B$3$NNc$N(B{\tt gg-proceedings}$B%(%s%H%j$N(B{\tt booktitle}$B%U%#!<%k%I$O!$(B +$B$3$l$r;2>H$7$F$$$k(B +$B$b$N$,$3$N%U%#!<%k%I$r7Q>5$G$-$k$h$&$K$9$k$?$a$@$1$N$b$N$G$"$k!%(B +$B$3$N2q5D$NO@J8$,$I$s$J$KB?$/%G!<%?%Y!<%9Cf$K$"$C$F$b!$(B +$B$3$N(B{\tt booktitle}$B%U%#!<%k%I$O(B1$B2s$@$1=q$1$P$h$$!%(B + +$BBh(B2$B$K(B, {\tt gg-proceedings}$B%(%s%H%j$r(B \verb|\cite|$B$"$k$$(B +$B$O(B \verb|\nocite|$B$G0zMQ$7$F$$$k(B +2$B$D0J>e$NO@J8$,;2>H$7$F$$$k$H(B, $B$3$N%(%s%H%j(B +$B<+?H$,(B \verb|\cite|$B$"$k$$$O(B \verb|\nocite|$B$5$l$F$$$J$/$F$b!$(B +\BibTeX $B$O<+F0E*$K(B{\tt gg-proceedings}$B%(%s%H%j$r;29MJ88%%j%9%H$K(B +$B2C$($k!%$D$^$j(B{\tt no-gnats}$B$NB>$K(B1$B$D0J>e$NO@J8$,(B\linebreak {\tt gg-proceedings}$B$r(B +$B;2>H$7$F$$$k$H!$<+F0E*$K;29MJ88%%j%9%H$K2C$($i$l$k!%(B + +$B$?$@$7!$>e5-$N7k2L$H$J$k$3$H$rJ]>Z$9$k$?$a$K$O!$(B +$BAj8_;2>H$5$l$F$$$k%(%s%H%j$O!$(B +$B$=$l$r0zMQ$7$F$$$k$9$Y$F$N%(%s%H%j$h$j%G!<%?%Y!<%9%U%!%$%kCf$G(B +$B8e$m$K$J$1$l$P$J$i$J$$!%(B +$B=>$C$F!$Aj8_;2>H$5$l$F$$$k%(%s%H%j$O:G8e$KCV$/$3$H$K$J$k!%(B +($B$5$i$K!$;DG0$J$3$H$@$,!$%M%9%H$5$l$?Aj8_;2>H(B +$B$O$&$^$/07$($J$$!%$9$J$o$A!$Aj8_;2>H$7$F$$$k@h$,$5$i$KB>$r;2>H$7$F$$$k(B +$B>l9g$K$O$&$^$/F0:n$7$J$$$3$H$,$"$k!%(B) + + +$B:G8e$NCm0U!'(B +$B$3$NAj8_;2>H5!G=$O!$8=:_$G$bMxMQ$G$-$k!$8E$$(B\BibTeX $B$N(B +$B;2>H$N5!G=$H$OA4$/4X78$,$J$$!%(B +$B$9$J$o$A!$<!$N$h$&$J;H$$J}$O?7$7$$5!G=$+$i2?$N1F6A$b<u$1$J$$!%(B +\begin{verbatim} + note = "Jones \cite{jones-proof} improves the result" +\end{verbatim} + + +\item +\BibTeX\ $B$O%"%/%;%s%HIU$-J8;z(B(accented character)$B$r07$($k$h$&$K$J$C$?!%(B +$BNc$($P<!$N$h$&$J(B2$B$D$N%U%#!<%k%I$+$i$J$k%(%s%H%j$,$"$j!$(B +\begin{verbatim} + author = "Kurt G{\"o}del", + year = 1931, +\end{verbatim} +$B;29MJ88%%9%?%$%k$H$7$F(B{\tt alpha}$B$r;H$C$?$H$9$k$H!$(B +\BibTeX\ $B$O$3$N%(%s%H%j$N%i%Y%k$r$"$J$?$NK>$_DL$j$K(B [G{\"o}d31] $B$H$9$k!%(B +$B$3$N$h$&$J7k2L$rF@$k$?$a$K$O(B\verb|{\"o}|$B$"$k$$$O(B\verb|{\"{o}}|$B$N$h$&$K(B +$B%"%/%;%s%HIU$-J8;zNs$rCf3g8L(B($B%V%l!<%9(B; \verb|{}|)$B$G0O$s$G$d$kI,MW$,$"$k!%(B +$B$5$i$K!$$3$N$?$a$K;H$&Cf3g8L$O!$%U%#!<%k%I$d%(%s%H%j$N6h@Z$j0J30$NCf3g8L$N(B +$BCf$K4^$^$l$F$O$J$i$J$$$7!$Cf3g8L$NCf$N0lHV:G=i$NJ8;z$O%P%C%/%9%i%C%7%e(B +$B$G$J$1$l$P$J$i$J$$!%=>$C$F$3$NNc$G$$$($P(B\verb|{G{\"{o}}del}| +$B$G$b(B\verb|{G\"{o}del}|$B$G$b$&$^$/$f$+$J$$!%(B + +$B$3$N5!G=$O(B\LaTeX~book$B$NI=(B3.1$B$HI=(B3.2$B$K$"$k!$%P%C%/%9%i%C%7%e$NIU$+$J$$(B +$B309qJ8;z(B(foreign symbols)$B$r=|$/!$$9$Y$F$N%"%/%;%s%HIU$-J8;z$r07$&$3$H$,$G$-$k!%(B +$B$3$N5!G=$OMxMQ<T$,Dj5A$9$k!V%"%/%;%s%HIU$-J8;z!W$G$b;H$($k!%$9$08e$GNc$r<($9!%(B +$B%i%Y%k$NJ8;z?t$r?t$($k>l9g$K$O!$(B\BibTeX\ $B$OCf3g8L$NCf$N(B +$BJ8;zNs$r$^$H$a$F(B1$BJ8;z$H?t$($k!%(B + + +\item +\BibTeX\ $B$O%O%$%U%sIU$-$N?ML>$b07$&$3$H$,$G$-$k!%Nc$($P!$<!$N$h$&$J(B +$B%(%s%H%j!$(B +\begin{verbatim} + author = "Jean-Paul Sartre", +\end{verbatim} +$B$G(B{\tt abbrv}$B%9%?%$%k$r;H$&$H!$7k2L$O(B `J.-P. Sartre' $B$H$J$k!%(B + +\item +\label{preamble} +$B%G!<%?%Y!<%9%U%!%$%kCf$K(B\verb|@PREAMBLE|$B$r=q$/$3$H$,$G$-$k!%(B +$B%3%^%s%I$O!$J8;zNs$+$i$J$j!$L>A0$HEy9f5-9f$,$J$$$3$H$r(B +$B=|$1$P(B\verb|@STRING|$B$HF1$8$G$"$k!%0J2<$KNc$r<($9!%(B +\begin{verbatim} + @PREAMBLE{ "\newcommand{\noopsort}[1]{} " + # "\newcommand{\singleletter}[1]{#1} " } +\end{verbatim} +($B$3$3$G$bJ8;zNsO"7k$N5!G=$,;H$o$l$F$$$k$3$H$KCm0U$7$h$&(B)$B!%(B +$BI8=`$N%9%?%$%k$G$O!$$3$3$K=q$$$?J8;zNs(B($BB?$/$N>l9g(B\LaTeX\ $B$N%^%/%m(B) +$B$r$=$N$^$^(B{\tt bbl}$B%U%!%$%k$K=q$-=P$9!%(B +$B>e$K<($7$?(B \verb|\noopsort|$B%3%^%s%I$rNc$K!$;H$$J}$r<($9!%(B + +$B%=!<%F%#%s%0$9$k(B($B%"%k%U%!%Y%C%H=g$KJB$Y$k(B)$B$3$H$r9M$($h$&!%(B +\BibTeX\ $B$O3d$H$&$^$/JB$Y$F$/$l$k$,!$>r7o$K$h$C$F$O(B\BibTeX\ $B$,(B +$B:.Mp$9$k$3$H$,$"$k!%(B +$B%G!<%?%Y!<%9$NCf$KF10lCx<T$K$h$k(B2$B4,$+$i$J$kK\$N%(%s%H%j$,$"$j!$(B +$B;29MJ88%%j%9%H$G$OBh(B1$B4,$,Bh(B2$B4,$ND>A0$KJB$s$GM_$7$$$H$7$h$&!%(B +$B$5$i$KBh(B1$B4,$K$O(B1973$BG/$KH/4)$5$l$?Bh(B2$BHG$,$"$j!$Bh(B2$B4,$K$OBh(B1$BHG$7$+$J$/(B +$B$=$NH/4)$O(B1971$BG/$G$"$C$?$H$7$h$&!%(B +$BI8=`%9%?%$%k(B{\tt plain}$B$OCx<TL>$HH/4)G/$G%=!<%H%-!<$r:n$j!$(B +$BBh(B2$B4,$NJ}$,H/4)$,Aa$$$?$a$K!$(B\BibTeX\ $B$r=u$1$F$d$i$J$$8B$j!$Bh(B2$B4,(B +$B$NJ}$,@h$K$J$i$s$G$7$^$&!%(B +$B$3$N$?$a$K$O$3$N(B2$B$D$N(B{\tt year}$B%U%#!<%k%I$r<!$N$h$&$K$9$k!%(B +\begin{verbatim} + year = "{\noopsort{a}}1973" + . . . + year = "{\noopsort{b}}1971" +\end{verbatim} +\verb|\noopsort|$B$NDj5A$+$i!$(B +\LaTeX\ $B$OG/$H$7$F$OK\Ev$NG/0J30$O0u:~$7$J$$!%(B +$B$7$+$7(B\BibTeX\ $B$O(B \verb|\noopsort|$B$N;XDj$,(B `a', `b' $B$r(B +$B=$>~$9$k$b$N$H$_$J$9$N$G!$%=!<%H$N;~$K$O$"$?$+$b(B `a1973' $B$H(B `b1971' +$B$,G/$N$h$&$K07$&!%(B`a' $B$O(B `b' $B$h$jA0$J$N$G!$K>$_DL$jBh(B1$B4,$,Bh(B2$B4,$NA0$KJB$V!%(B +$B$H$3$m$G!$$b$7$3$NCx<T$NJL$NCx:n$,%G!<%?%Y!<%9Cf$K$"$k>l9g$K$O(B +$BB>$NCx:n$H$N4X78$r@5$7$/$9$k$?$a$K(B\verb|{\noopsort{1968a}}1973|$B$H(B +\verb|{\noopsort{1968b}}1971|$B$H$$$C$?$h$&$K=q$+$M$P$J$i$J$$$3$H$b$"$k!%(B +($B$3$3$G$OBh(B1$B4,$NBh(B1$BHG$NH/4)G/$,(B1968$BG/$G$"$k$3$H$+$i!$$3$l$G@5$7$$(B +$B>l=j$KJB$V$b$N$H9M$($F$$$k!%(B) + +$B;H$($k(B\verb|@PREAMBLE|$B%3%^%s%I$N?t$K$O>e8B$,$"$k$,!$(B\verb|@PREAMBLE| +$B$N?t$r(B1$B$D$N%G!<%?%Y!<%9$K$D$-(B1$B$D$K$7$F$*$1$P!$>e8B$rD6$($k$3$H$O$J$$!%(B +$B$7$?$,$C$F!$9`L\(B\ref{concat} $B$G=R$Y$?!$J8;zNs$NO"7k5!G=$r;H$($P(B +$B$3$N@)8B$OBg$7$?LdBj$G$O$J$$!%(B + +\item +\BibTeX\ $B$N%=!<%F%#%s%0;;K!$O0BDj(B(stable)$B$J$b$N$H$J$C$?!%$D$^$j!$(B +2$B$D$N0[$J$k%(%s%H%j$,F10l$N%=!<%H%-!<$r;}$D>l9g$K$O!$(B +$B0zMQ=g$KJB$V$h$&$K$J$C$?!%(B +($B;29MJ88%%9%?%$%k$,$3$l$i$N%=!<%H%-!<!$DL>o$OCx<TL>$N8e$KG/$H(B +$BI=Bj$rIU2C$7$?$b$N!$$r:n$k(B\trnote{$BF|K\8lMQ$N%9%?%$%k$G$O!$(B +yomi$B$H$$$&%U%#!<%k%I$,$"$l$P$=$l$rCx<TL>$NBe$o$j$K;H$&$3$H$G!$FI$_$N(B +$B%"%k%U%!%Y%C%H=g$KJB$V$h$&$K$7$F$$$k!%(B}) + +\item +\BibTeX\ $B$O%U%!%$%kL>$N>.J8;z(B/$BBgJ8;zJQ49$r9T$o$J$$$h$&$K$J$C$?!%(B +$B$3$l$K$h$j!$Nc$($P(BUNIX$B%7%9%F%`>e$K(B\BibTeX\ $B$r%$%s%9%H!<%k$9$k$N$,4JC1$K$J$C$?!%(B + +\item +$B%3%^%s%I%i%$%s$N(B{\tt aux}$B%U%!%$%kL>$N=hM}$r9T$&%3!<%I$rIU2C$9$k$3$H$,(B +$B4JC1$K9T$($k$h$&$K$J$C$?!%(B + +\end{enumerate} + + +\subsection{$BI8=`%9%?%$%k$NJQ99E@(B} + +$BK\@a$G$O!$0lHLMxMQ<T$K4X78$9$kI8=`%9%?%$%k(B +({\tt plain}, {\tt unsrt}, {\tt alpha}, {\tt abbrv}) +$B$NJQ99E@$K$D$$$F=R$Y$k(B\trnote{$BBP1~$9$kF|K\8lMQ$N%9%?%$%k$O(B +$B3F!9(B{\tt jplain}, {\tt junsrt},{\tt jalpha}, {\tt jabbrv}$B$G$"$k!%(B}$B!%(B +$B%9%?%$%k:n@.<T$K4X78$7$?JQ99E@$O(B +``Designing \BibTeX\ Styles''~\cite{btxhak}$B$K=R$Y$i$l$F$$$k!%(B + +\begin{enumerate} + +\item +$B0lHL$K%=!<%F%#%s%0$O@h$:(B ``author'' $B$G!$<!$KG/!$:G8e$KI=Bj$G9T$&!%(B +$B8E$$%P!<%8%g%s$G$OG/$,;H$o$l$F$$$J$+$C$?!%(B +($B$7$+$7(B{\tt alpha}$B%9%?%$%k$G$O@h$:%i%Y%k(B +$B$G%=!<%H$7$?8e!$>e5-$N%=!<%H$r9T$&(B)$B!%(B +author$B$NA08e$K0zMQId$,IU$$$F$$$k$N$O!$(Beditor, organization$B$J$I$N(B +$BB>$N%U%#!<%k%I$,;H$o$l$k$3$H$b$"$k$+$i$G$"$k!%(B + +\item +$BB?$/$NITI,MW$J%?%$(B(\verb|~|)$B$r<h$j=|$$$?!%(B +$B$3$l$K$h$j!$;29MJ88%%j%9%H$r%U%)!<%^%C%H$7$?;~$K!$(B +\LaTeX\ $B$+$i=PNO$5$l$k(B `\hbox{\tt Underfull} \verb|\hbox|' +$B$N?t$,>/$J$/$J$C$?!%(B + +\item +$B%$%?%j%C%/;XDj(B(\hbox{\verb|{\it ...}|})$B$r(B +$B6/D4;XDj(B(\hbox{\verb|{\em ...}|})$B$KCV$-49$($?!%(B +$B=PNO$OJQ2=$7$J$$$O$:$G$"$k!%(B + +\item +{\tt alpha}$B%9%?%$%k$G$O!$%i%Y%k$r:n$k:]$KCx<TL>$N$$$/$D$+$r>JN,$7$?(B +$B$3$H$r<($95-9f$r(B `*' $B$+$i(B `$^{+}$' $B$KJQ99$7$?!%(B +$B$7$+$7!$0JA0$N7A<0$NJ}$,9%$-!$$"$k$$$O$3$s$J5-9f$,ITMW$J>l9g$G$b(B +$B%9%?%$%k%U%!%$%k$N=$@5$OITMW$G$"$k!%(B +{\tt alpha}$B%9%?%$%k$,(B(\verb|\thebibliography| environment$B$ND>A0$K(B) +{\tt bbl}$B%U%!%$%k$K=q$-=P$9(B \verb|\etalchar| +$B%3%^%s%I$r!$A0@a$NBh(B\ref{preamble} $B9`L\$G=R$Y$?$h$&$K!$(B +$B%G!<%?%Y!<%9Cf$N(B{\tt @PREAMBLE}$B$r;H$C$F!$(B +\LaTeX\ $B$N(B \verb|\renewcommand|$B$rMQ$$$FDj5A$7D>$;$P!$(B`$^{+}$' +$B$N7A<0$rJQ99$G$-$k!%(B + +\item +{\tt abbrv}$B%9%?%$%k$G$O!$7nL>$H$7$F(B`March'$B$H(B`Sep.' +$B$NBX$o$j$K(B`Mar.'$B$H(B`Sept.'$B$r;H$&$h$&$K$J$C$?!%(B + +\item +$BI8=`%9%?%$%k$G$O!$(B +\BibTeX\ $B$N?7$7$$Aj8_;2>H5!G=$r;H$C$F$$$k>l9g$K$O!$(B +$BB>$NJ88%$r;2>H$7$F$$$k%(%s%H%j$KBP$7$F$O!$(B +$B;2>H@h$K5-=R$5$l$F$$$k%U%#!<%k%I$N$[$H$s$IA4$F$r(B +$B>JN,$7!$(B \verb|\cite|$B$r;H$C$F;2>H$r<($9$h$&$K$J$C$F$$$k!%(B + +$B$3$l$O;2>H85$,BgIt$JCx:n$N0lItJ,$G$"$k>l9g$K;H$&!%(B +$B$3$N$h$&$J>u67$H$7$F$O0J2<$N(B5$B$D$,9M$($i$l$k!%(B +(1) {\tt INPROCEEDINGS} +($B$"$k$$$O(B{\tt CONFERENCE}, $B$I$A$i$bF1$8$3$H(B) +$B$,(B{\tt PROCEEDINGS}$B$r;2>H$7$F$$$k(B; +(2) {\tt BOOK}, (3) {\tt INBOOK}, +$B$"$k$$$O(B(4) {\tt INCOLLECTION} +$B$,(B{\tt BOOK}$B$r;2>H$7$F$$$k(B +($BJ#?t4,$+$i$J$k=qJ*$NCf$N$"$k(B1$B4,$,;2>H$7$F$$$k(B); +(5) {\tt ARTICLE}$B$,(B{\tt ARTICLE}$B$r;2>H$7$F$$$k!%(B +($B$3$N>l9g$K$O!$;2>H$5$l$F$$$k$b$N$O<B$OO@J8;oA4BN$G$"$k$,!$(B +$B%(%s%H%j7?$H$7$F(B{\tt JOURNAL}$B$,$J$$$+$i$3$&$9$k!%(B +$B$3$N;~$K$OO@J8;o$N(B{\tt author}$B$H(B{\tt title}$B$,$J$$$H$$$&(B +$B7Y9p%a%C%;!<%8$,=PNO$5$l$k$,!$$3$N%a%C%;!<%8$OL5;k$9$l$P$h$$(B)$B!%(B + +\item +{\tt MASTERSTHESIS}$B$H(B{\tt PHDTHESIS} +$B%(%s%H%j7?$G$O!$G$0U%U%#!<%k%I$H$7$F(B{\tt type}$B$r=q$1$k$h$&$K$J$C$?!%(B +$B$3$l$K$h$j!$(B +\begin{verbatim} + type = "{Ph.D.} dissertation" +\end{verbatim} +$B$H%G!<%?%Y!<%9Cf$K=q$/$3$H$G!$I8=`$N(B `PhD thesis' $B$NBX$o$j$K(B +`Ph.D.\ dissertation' $B$H$G$-$k$h$&$K$J$C$?!%(B + +\item +$BF1MM$K(B{\tt INBOOK}$B$H(B{\tt INCOLLECTION} +$B%(%s%H%j7?$G$O!$G$0U%U%#!<%k%I$H$7$F(B{\tt type}$B$r=q$1$k$h$&$K$J$C$?!%(B +$B$3$l$r;H$($P!$<!$N$h$&$K%G!<%?%Y!<%9$K=q$$$F$*$1$P!$(B +$BI8=`$N(B `chapter~1.2' $B$NBX$o$j$K!$(B`section~1.2' $B$H$G$-$k!%(B +\begin{verbatim} + chapter = "1.2", + type = "Section" +\end{verbatim} + +\item +{\tt BOOKLET}, {\tt MASTERSTHESIS}, +{\tt TECHREPORT}$B%(%s%H%j7?$G$O!$(B +{\tt BOOK}$B$N(B{\tt title}$B$N$h$&$K$G$O$J$/!$(B +{\tt ARTICLE}$B$N(B{\tt title}$B$N$h$&$K!$(B +$BI=Bj$r%U%)!<%^%C%H(B($B%?%$%W%;%C%H(B)$B$9$k$h$&$K$J$C$?!%(B + +\item +{\tt PROCEEDINGS}$B$H(B{\tt INPROCEEDINGS} +$B%(%s%H%j7?$G$O!$(B{\tt address}$B%U%#!<%k%I$r=PHG<R!$<g:E<T$N=;=j$r(B +$B<($9$?$a$K;H$&$N$G$O$J$/!$2q5D$N3+:E$5$l$?>l=j$r<($9$?$a$K;H$&$h$&$K(B +$B$J$C$?!%(B +$B=PHG<R!$3+:E<T$N=;=j$rF~$l$?$$$N$G$"$l$P!$(B +{\tt publisher}$B$+(B{\tt organization}$B%U%#!<%k%I$KF~$l$k$3$H!%(B + +\item +{\tt BOOK}, {\tt INBOOK}, {\tt INCOLLECTION}, +{\tt PROCEEDINGS}$B%(%s%H%j7?$G$O!$(B{\tt volume}$B$@$1$r(B +$B5v$9$N$G$O$J$/!$(B +{\tt volume}$B$+(B{\tt number}$B$N$$$:$l$+0lJ}$r5v$9$h$&$K$J$C$?!%(B + +\item +{\tt INCOLLECTION}$B%(%s%H%j7?$G$O!$(B{\tt series}$B$H(B{\tt edition} +$B%U%#!<%k%I$r5v$9$h$&$K$J$C$?!%(B + +\item +{\tt INPROCEEDINGS}$B$H(B{\tt PROCEEDINGS} +$B%(%s%H%j7?$G$O!$(B +{\tt volume}$B$^$?$O(B{\tt number}$B$H(B +{\tt series}$B$r5v$9$h$&$K$J$C$?!%(B + +\item +{\tt UNPUBLISHED} $B%(%s%H%j7?$G$O!$F|IU>pJs$r8e$KIU$1$F!$(B +{\tt note}$B%U%#!<%k%I$r(B1$B$D$N%V%m%C%/$H$7$F=PNO$9$k$h$&$K$J$C$?!%(B + +\item +{\tt MANUAL}$B%(%s%H%j7?$G$O!$(B{\tt author}$B%U%#!<%k%I$,(B +$B6u$G$"$l$P!$(B{\tt organization}$B%U%#!<%k%I$rBh(B1$B%V%m%C%/$H$7$F(B +$B=PNO$9$k$h$&$K$J$C$?!%(B + +\item +{\tt MISC}$B%(%s%H%j7?$G$O!$A4$F$NG$0U%U%#!<%k%I(B +($B$9$J$o$AA4$F$N%U%#!<%k%I(B)$B$,6u$N;~$K$O(B +$B7Y9p%a%C%;!<%8$r=PNO$9$k$h$&$K$J$C$?!%(B + +\end{enumerate} + +\subsection{\JBibTeX\ $B$NI8=`%9%?%$%k(B} + +\JBibTeX\ $B$NI8=`%9%?%$%k$H$7$F$O(B{\tt plain, alpha, abbrv, unsrt}$B$KBP1~$7$F(B +{\tt jplain, jalpha, jabbrv,\linebreak junsrt}$B$,:n@.$5$l$F$$$k!%$^$?>pJs=hM}3X2q(B +$BO@J8;o(B{\tt tipsj}, $B>pJs=hM}3X2q2$J8O@J8;o(B{\tt jipsj}, $BEE;R>pJsDL?.3X2qO@J8;o(B{\tt tieice}, +$BF|K\%*%Z%l!<%7%g%s%:%j%5!<%A3X2qO@J8;o(B{\tt jorsj}, +$B?M9)CNG=3X2q(B{\tt jsai}, $B%=%U%H%&%'%"3X2q;o(B{\tt jssst}$BMQ$N%9%?%$%k$b:n@.$5$l$F(B +$B$$$k!%$3$l$i$N%9%?%$%k$G9T$J$C$F$$$kF|K\8lBP1~$O0J2<$NDL$j$G$"$k(B({\tt jipsj} +$B$O1Q8l$J$N$G!$JQ99$OI,$:$7$bF|K\8lBP1~$N$?$a$@$1$G$O$J$$(B)$B!%(B + +\begin{enumerate} +\item $BCx<TL>$,F|K\8l$+$I$&$+$GL>A0$N%U%)!<%^%C%H$NJ}K!$rJQ$($k!%(B + +\item $BCx:nL>$KF|K\8l$,4^$^$l$k>l9g$K$O6/D4;XDj$rIU$1$J$$!%(B + +\item $B%Z!<%8HO0O;XDj$r(B{\tt Page}, {\tt Pages}$B$+$i(B{\tt p.}, {\tt pp.}$B$K(B +$BJQ99$7$?!%%J%s%P!<;XDj!$%\%j%e!<%`;XDj$r(B{\tt No.}, {\tt Vol.}$B$KJQ99$7$?!%(B + +\item $B%=!<%F%#%s%0%-!<$r:n$k;~$K$O!$(B{\tt yomi}$B%U%#!<%k%I$,$"$l$P$=$N>pJs$r(B +$BCx<TL>!$JT=8<TL>$NBe$j$K;H$&!%(B +\end{enumerate} + +\section{$B%G!<%?%Y!<%9$N%(%s%H%j(B} +\label{latex-appendix} + +$BK\@a$O(B\LaTeX\ book~\cite{latex}, +\copyright~1986, by Addison-Wesley $B$NIUO?(BB.2$B$NC1$J$k=$@5HG$G$"$k!%(B +$B4pK\9=@.$OF1$8$G$"$j!$:YL\$,>/$7JQ99$5$l$F$$$k!%(B + +\subsection{$B%(%s%H%j$N7?(B} + +$B;29MJ88%$r%G!<%?%Y!<%9$KEPO?$9$k>l9g$K0lHV:G=i$K7h$a$J$1$l$P(B +$B$J$i$J$$$3$H$O!$$=$N7?(B($B<oN`(B)$B$G$"$k!%40A4$J7h$^$C$?$d$jJ}$O$J$$$,!$(B +\BibTeX\ $B$[$H$s$I$9$Y$F$NJ88%$r9gM}E*$K07$&$?$a$N%(%s%H%j$N7?$r(B +$BMQ0U$7$F$$$k!%(B + +$BJ88%$N=PHG7ABV$,0[$J$l$P$=$l$,;}$C$F$$$k>pJs$b0[$J$k!%(B +$BO@J8;o$KH/I=$5$l$?$b$N$K$OO@J8;o$N4,?t(B(volume)$B$HHV9f(B(number)$B$,$"$k$,!$(B +$BK\$N>l9g$K$O$3$l$i$ODL>o0UL#$,$J$$!%(B +$B=>$C$F0[$J$C$?%(%s%H%j7?Kh$K0[$J$C$?%U%#!<%k%I$,$"$k!%(B +$B%(%s%H%j$N7?Kh$K%U%#!<%k%I$O0J2<$N(B3$B$D$KJ,N`$5$l$k!%(B +\begin{description} + +\item[$BI,?\(B] +$B$3$l$,7gMn$7$F$$$k$H7Y9p%a%C%;!<%8$,=PNO$5$l!$$^$l$K$G$O$"$k$,(B +$BJ88%%j%9%H$,JQ$J7A$K=PNO$5$l$k!%(B +$B$b$7I,?\$J>pJs$,0UL#$r;}$?$J$$$N$G$"$l$P!$4V0c$C$?7?$r;XDj$7$F$$$k$N$G$"$k!%(B +$BI,?\$J>pJs$,0UL#$r;}$D$N$G$"$k$,!$B>$N%U%#!<%k%I$K$=$l$,5-=R$5$l$F$$$k(B +$B>l9g$K$O7Y9p%a%C%;!<%8$rL5;k$9$l$P$h$$!%(B + +\item[$BG$0U(B] +$B$3$N%U%#!<%k%I$O!$$b$7$"$l$P;H$o$l$k$,!$2?$NLdBj$b$J$7$K>JN,$G$-$k!%(B +$B$b$7$3$l$i$N%U%#!<%k%I$N>pJs$,FI<T$r=u$1$k$N$G$"$l$P!$(B +$B$3$l$r>JN,$7$J$$J}$,$h$$!%(B + +\item[$BL5;k$5$l$k(B] +$B$3$N%U%#!<%k%I$OL5;k$5$l$k!%(B +\BibTeX\ $B$OI,?\$"$k$$$OG$0U$N%U%#!<%k%I0J30$OL5;k$9$k$+$i!$(B{\tt bib}$B%U%!%$%k(B +$B$K$O9%$-$J%U%#!<%k%I$r=q$$$F$h$$!%(B +$B;29MJ88%%j%9%H$K$O=PNO$5$l$J$$$+$b$7$l$J$$$,!$(B +$BJ88%$K4XO"$9$k$9$Y$F$N>pJs$r(B{\tt bib}$B%U%!%$%k$K=q$$$F$*$/$H$h$$!%(B +$BNc$($P!$O@J8$N%"%V%9%H%i%/%H$r%3%s%T%e!<%?$N%U%!%$%k$K$H$C$F$*$/$N$G$"$l$P!$(B +{\tt bib}$B%U%!%$%kCf$N(B{\tt abstract}$B%U%#!<%k%I$KF~$l$F$*$1$P$h$$!%(B +{\tt bib}$B%U%!%$%k$O%"%V%9%H%i%/%H$rF~$l$FCV$/$K$A$g$&$I$h$$>l=j$G$"$j!$(B +$B%"%V%9%H%i%/%HIU$-$NJ88%%j%9%H$r:n@.$9$k%9%?%$%k$r:n$k$3$H$b$G$-$k!%(B + +{\dg $BCm0U(B}$B!'%U%#!<%k%IL>$r%_%9%9%Z%k$9$k$H$=$N%U%#!<%k%I$OL5;k$5$l$k!%(B +$BFC$KG$0U%U%#!<%k%I$N>l9g$K$O(B\BibTeX\ $B$O7Y9p%a%C%;!<%8$r=P$5$J$$$+$i!$(B +$B%?%$%W%_%9$KCm0U$7$J$1$l$P$J$i$J$$!%(B + +\end{description} + +$B0J2<$G3F!9$N%(%s%H%j$N7?$K$D$$$F@bL@$r9T$&!%(B +$BF1;~$K!$J88%%j%9%H$N9`L\$H$7$FJB$Y$i$l$k=gHV$K(B +($B%(%s%H%j7?$K$h$C$F$OFCDj$N%U%#!<%k%I$N$"$k$J$7$G<c43=gHV$,0[$J$k$3$H$b$"$k$,(B) +$BI,?\%U%#!<%k%I!$G$0U%U%#!<%k%I$r<($9!%(B +$B$3$l$i%(%s%H%j$N7?$O!$(B{\em Scribe}$B%7%9%F%`$N$?$a$K(BBrian Reid$B$,(B +$B:NMQ$7$?(Bvan~Leunen~\cite{van-leunen}$B$NJ,N`$HF1$8$b$N$G$"$k!%(B +$B8D!9$N%U%#!<%k%I$N0UL#$K$D$$$F$O<!@a$G@bL@$9$k!%(B +$BI8=`0J30$N%9%?%$%k$G$OG$0U%U%#!<%k%I$N$$$/$D$+$rL5;k$9$k$3$H$,$"$k!%(B +{\tt bib}$B%U%!%$%kCf$G$O%(%s%H%j$N7?$NA0$K(B{\tt @}$BJ8;z$r(B +$BIU$1$k$N$rK:$l$F$O$J$i$J$$!%(B + + +\begin{description} +\sloppy + +\item[article\hfill] $BO@J8;oCf$NO@J8!$;(;o$N5-;v!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt journal}, +{\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt volume}, {\tt number}, +{\tt pages}, {\tt month}, {\tt note}. + +\item[book\hfill] $B=PHG<gBN$,L@3N$JK\!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}$B$^$?$O(B{\tt editor}, +{\tt title}, {\tt publisher}, {\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt volume}$B$^$?$O(B{\tt number}, {\tt series}, +{\tt address}, {\tt edition}, {\tt month}, +{\tt note}. + +\item[booklet\hfill] $B0u:~!$@=K\$5$l$F$$$k$,!$=PHG<T$"$k$$$O%9%]%s%5!<(B +$B$NL>A0$,$J$$$b$N!%(B +$BI,?\%U%#!<%k%I!'(B{\tt title}. +$BG$0U%U%#!<%k%I!'(B{\tt author}, {\tt howpublished}, +{\tt address}, {\tt month}, {\tt year}, {\tt note}. + +\item[conference\hfill] {\tt INPROCEEDINGS}$B$HF1$8!%(B +{\em Scribe\/}$B$H$N8_49@-$N$?$a!%(B + +\item[inbook\hfill] $B>O(B($B$"$k$$$O@a$J$I$N(B)$BK\$N0lItJ,$+$D(B/$B$^$?$O(B(and/or) +$BK\$N$"$k%Z!<%8HO0O!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}$B$"$k$$$O(B{\tt editor}, {\tt title}, +{\tt chapter}$B$+$D(B/$B$^$?$O(B{\tt pages}, {\tt publisher}, +{\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt volume}$B$^$?$O(B{\tt number}, {\tt series}, +{\tt type}, {\tt address}, +{\tt edition}, {\tt month}, {\tt note}. + +\item[incollection\hfill] $B$=$l<+?H$NI=Bj$r;}$DK\$N0lIt!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt booktitle}, +{\tt publisher}, {\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt editor}, {\tt volume}$B$^$?$O(B{\tt number}, +{\tt series}, {\tt type}, {\tt chapter}, {\tt pages}, +{\tt address}, {\tt edition}, {\tt month}, {\tt note}. + +\item[inproceedings\hfill] $B2q5DO?Cf$NO@J8!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt booktitle}, +{\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt editor}, {\tt volume}$B$^$?$O(B{\tt number}, +{\tt series}, {\tt pages}, {\tt address}, {\tt month}, +{\tt organization}, {\tt publisher}, {\tt note}. + +\item[manual\hfill] $B%^%K%e%"%k!%(B +$BI,?\%U%#!<%k%I!'(B{\tt title}. +$BG$0U%U%#!<%k%I!'(B{\tt author}, {\tt organization}, +{\tt address}, {\tt edition}, {\tt month}, {\tt year}, +{\tt note}. + +\item[mastersthesis\hfill] $B=$;NO@J8!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt school}, +{\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt type}, {\tt address}, {\tt month}, +{\tt note}. + +\item[misc\hfill] $BB>$N$I$l$bEv$F$O$^$i$J$$;~$K;H$&!%(B +$BI,?\%U%#!<%k%I!'$J$7!%(B +$BG$0U%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt howpublished}, +{\tt month}, {\tt year}, {\tt note}. + +\item[phdthesis\hfill] $BGn;NO@J8!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt school}, +{\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt type}, {\tt address}, {\tt month}, +{\tt note}. + +\item[proceedings\hfill] $B2q5DO?!%(B +$BI,?\%U%#!<%k%I!'(B{\tt title}, {\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt editor}, {\tt volume}$B$^$?$O(B{\tt number}, +{\tt series}, {\tt address}, {\tt month}, +{\tt organization}, {\tt publisher}, {\tt note}. + + +\item[techreport\hfill] $B3X9;$J$I$GH/9T$5$l$F$$$k%F%/%K%+%k%l%]!<%H$G$"$j!$(B +$BDL>o$ODLHV$r;}$D!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, +{\tt title}, {\tt institution}, {\tt year}. +$BG$0U%U%#!<%k%I!'(B{\tt type}, {\tt number}, {\tt address}, +{\tt month}, {\tt note}. + +\item[unpublished\hfill] $B@5<0$K$O<gHG$5$l$F$$$J$$$,!$Cx<T!$I=Bj$N$"$kCx:nJ*!%(B +$BI,?\%U%#!<%k%I!'(B{\tt author}, {\tt title}, {\tt note}. +$BG$0U%U%#!<%k%I!'(B{\tt month}, {\tt year}. + +\end{description} + +$B>e$K<($7$?%U%#!<%k%I$K2C$($F!$3F!9$N%(%s%H%j7?$G$OG$0U%U%#!<%k%I$H$7$F(B +{\tt key}$B$,$"$j!$%9%?%$%k$K$h$C$F$OJB$YBX$(!$Aj8_;2>H!$(B +$B$"$k$$$O(B \verb|\bibitem|$B$r:n$k$N$K;H$o$l$k!%(B +$B$^$?!$!VCx<T!W>pJs$,7g$1$F$$$k%(%s%H%j$KBP$7$F$OI,$:(B{\tt key}$B%U%#!<%k%I(B +$B$rF~$l$F$*$+$J$$$H$$$1$J$$!%(B +$B!VCx<T!W$ODL>o$O(B{\tt author}$B%U%#!<%k%I$K=q$/$,!$(B +$B%(%s%H%j$N7?$K$h$C$F$O!$(B{\tt editor}$B%U%#!<%k%I(B +$B$G$"$C$?$j!$$"$k$$$O(B{\tt organization}$B%U%#!<%k%I$G$"$C$?$j$b$9$k(B +($BBh(B\ref{odds-and-ends} $B@a$G$b$C$H>\$7$/@bL@$9$k(B)$B!%(B +{\tt key}$B%U%#!<%k%I$r(B \verb|\cite|$B$K8=$l$k%G!<%?%Y!<%9$N%(%s%H%j$N(B $B:G=i$K=q$/%-!<$H:.F1$7$F$O$J$i$J$$!%$3$N9`L\$,(B ``key'' $B$H$$$&L>A0(B +$B$J$N$O(B{\it Scribe}$B$H$N8_49@-$N$?$a$G$"$k!%(B + +\vskip\baselineskip +{\dg\bf \JBibTeX\ $B$G$NCm0U(B}$B!'(B\JBibTeX\ $B$NI8=`%9%?%$%k$G$O(B +$B0J2<$K<($5$l$F$$$k%U%#!<%k%I$NB>$K!$G$0U%U%#!<%k%I$H$7$F!$(B +$B4A;z%3!<%II=5-$5$l$?Cx<TL>$N!VFI$_!W$r=q$/$?$a$N%U%#!<%k%I$H$7$F(B +{\tt yomi}$B$,$"$k!%(B + +\subsection{$B%U%#!<%k%I(B} + +$BI8=`%9%?%$%k$GG'<1$5$l$k%U%#!<%k%I$r0J2<$K<($9!%(B +$BI8=`%9%?%$%k$G$OL5;k$5$l$k$,!$$3$NB>$NG$0U$N%U%#!<%k%I$r(B +$B=q$$$F$b$h$$(B\trnote{\JBibTeX\ $B$NI8=`%9%?%$%kMQ$K(B{\tt yomi}$B%U%#!<%k%I$,(B +$BDI2C$5$l$F$$$k!%(B} + +\begin{description} + +\item[address\hfill] +$BDL>o$O(B{\tt publisher}$B$J$I$N=;=j$r=q$/!%(B +van~Leunen$B$O!$Bg$-$J=PHG<R$KBP$7$F$O$3$l$r>JN,$9$k$3$H$r4+$a$F$$$k!%(B +$BB>J}!$>.$5$J=PHG<R$KBP$7$F$O!$FI<T$NJX$r9M$($F!$40A4$J=;=j$r=q$/$H$h$$!%(B + +\item[annote\hfill] +$BCm<a!%(B +$BI8=`$N%9%?%$%k$G$O;H$o$l$J$$$,!$B>$NCm<a$D$-$N;29MJ88%%9%?%$%k$G;H$o$l$k!%(B + +\item[author\hfill] +$BCx<TL>$G$"$j!$(B\LaTeX\ book$B$K@bL@$5$l$F$$$k$h$&$K=q$/(B\trnote{\JBibTeX\ $B$G$O!$(B +$B4A;z%3!<%ICx<TL>$N@+$HL>$N4V$K$O%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$rCV$/$3$H$,(B +$BK>$^$7$$(B($B%9%Z!<%9$,$J$$$H(B{\tt jabbrv}$B%9%?%$%k$J$I>JN,7A$,4pK\$N%9%?%$%k$N(B +$B;~$K@+$@$1$K$J$i$J$$(B)$B!%(B}$B!%(B + +\item[booktitle\hfill] +$B0lItJ,$r0zMQ$9$kK\$NI=Bj!%(B +$B5-=R$NJ}K!$K$D$$$F$O(B\LaTeX\ book$B$r;2>H$N$3$H!%(B +$B%(%s%H%j7?$,K\(B({\tt book})$B$N>l9g$K$O(B{\tt title}$B$r;H$&!%(B + +\item[chapter\hfill] +$B>O(B($B$"$k$$$O@a$J$I$N(B)$BHV9f!%(B + +\item[crossref\hfill] +$B;2>H$9$kJ88%$N%G!<%?%Y!<%9%-!<!%(B + +\item[edition\hfill] +$BK\$NHG(B---$BNc$($P(B ``Second''$B!%(B +($BF|K\8l0J30$G$O(B)$B=g=x?t$G=q$/$3$H!$$^$?:G=i$NJ8;z$O>e5-$NNc$N$h$&$K(B +$BBgJ8;z$N$3$H!%I,MW$G$"$l$PI8=`%9%?%$%k$,<+F0E*$K>.J8;z$KJQ49$9$k!%(B + +\item[editor\hfill] +$BJT=8<T$NL>A0$r(B\LaTeX\ book$B$N@bL@$N$h$&$K=q$/!%(B +{\tt author}$B%U%#!<%k%I$b$"$k>l9g$K$O!$$3$3$K$OO@J8$,:\$C$F$$$k(B +$BK\$"$k$$$OO@J8=8$NJT=8<TL>$r=q$/(B\trnote{\JBibTeX\ $B$G$O!$(B +$BJT=8<TL>$N@+$HL>$N4V$K$O%9%Z!<%9$rCV$/$3$H$,K>$^$7$$(B($B%9%Z!<%9$,(B +$B$J$$$H(B{\tt jabbrv}$B%9%?%$%k$N;~$K@+$@$1$K$J$i$J$$(B)$B!%(B}$B!%(B + +\item[howpublished\hfill] +$B$3$N4qL/$JCx:n$,$I$N$h$&$K$7$F=PHG$5$l$?$+!%(B +$B:G=i$NJ8;z$OBgJ8;z$G$J$1$l$P$J$i$J$$!%(B + +\item[institution\hfill] +$B%F%/%K%+%k%l%]!<%H$N%9%]%s%5!<L>!%(B + +\item[journal\hfill] +$BO@J8;o$NL>A0!%(B +$BB?$/$NO@J8;o$N>JN,7A$,MQ0U$5$l$F$$$k!%(B +{\it Local Guide}$B$r;2>H$N$3$H!%(B + +\item[key\hfill] +$BCx<T$K4X$9$k>pJs(B($BBh(B\ref{odds-and-ends} $B@a;2>H(B)$B$,$J$$;~$K(B +$B%=!<%F%#%s%0!$Aj8_;2>H!$%i%Y%k:n@.$N=hM}$K;H$o$l$k!%(B +$B$3$N%U%#!<%k%I$r!$%G!<%?%Y!<%9%(%s%H%j$N(B +$B:G=i$N9`L\$G$"$k(B \verb|\cite|$B$G;H$&%-!<$H:.F1$7$F$O$J$i$J$$!%(B + +\item[month\hfill] +$BCx:nJ*$,=PHG$5$l$?7n!%L$=PHG$G$"$l$P=q$+$l$?7n!%(B +\LaTeX\ book$B$NIUO?(BB.1.3$B$K<($5$l$F$$$k(B3$BJ8;z$N>JN,7A$r;H$&$3$H(B\trnote{ +$BG0$N$?$a$KNs5s$9$k$H(B{\tt jan, feb, mar, apr, may, jun, +jul, aug, sep, oct, nov, dec}}$B!%(B + +\item[note\hfill] +$BFI<T$r=u$1$kIU2CE*$J>pJs$r5-=R$9$k!%(B +$B:G=i$NJ8;z$OBgJ8;z$G$J$1$l$P$J$i$J$$!%(B + +\item[number\hfill] +$BO@J8;o!$;(;o!$%F%/%K%+%k%l%]!<%H$"$k$$$O0lO"$NCx:n$NHV9f!%(B +$BDL>o!$O@J8;o!$;(;o$NFCDj$N9f$O4,?t$HHV9f$G<1JL$5$l!$%F%/%K%+%k%l%]!<%H(B +$B$rH/9T$7$F$$$k5!4X$O%l%]!<%H$KHV9f$r?6$C$F$$$k!%$^$?%7%j!<%:$N(B +$BK\$K$bHV9f$,$"$k!%(B + +\item[organization\hfill] +$B2q5D$N%9%]%s%5!<$"$k$$$O%^%K%e%"%k(B{\tt manual}$B$r=PHG$7$?5!4X$NL>>N!%(B + +\item[pages\hfill] +{\tt 42--111}, {\tt 7,41,73--97}, {\tt 43+}$B$J$I$N(B($B$$$/$D$+$N(B)$B%Z!<%8$"$k$$$O(B +$B%Z!<%8HO0O(B($B:G8e$NNc$O8eB3%Z!<%8$,C1=c$JHO0O$G$J$$$3$H$r<($9(B)$B!%(B +{\em Scribe}$B8_49$N%G!<%?%Y!<%9$N0];}$r4JC1$K$9$k$?$a!$I8=`$N%9%?%$%k$G$O(B +{\tt 7-33}$B$N$h$&$J%@%C%7%e(B1$B$D$N7A<0$r(B\TeX\ $B$G$N?tCMHO0O$N;XDj7A<0$G$"$k(B +{\tt 7--33}$B$N$h$&$J%@%C%7%e(B2$B$D$K<+F0E*$KJQ49$9$k!%(B + +\item[publisher\hfill] +$B=PHG<gBN$NL>>N!%(B + +\item[school\hfill] +$B=$;NO@J8!$Gn;NO@J8$,=q$+$l$?(B($BDs=P$5$l$?(B)$BBg3XL>!%(B + +\item[series\hfill] +$B0lO"$N=qJ*$N%7%j!<%:L>!$%;%C%HL>!%(B +$BK\A4BN$r0zMQ$9$k>l9g$K$O!$(B{\tt title}$B%U%#!<%k%I$K$=$NK\$N(B +$BI=Bj$r=q$-!$G$0U%U%#!<%k%I$G$"$k(B{\tt series}$B$K%7%j!<%:L>(B +$B$"$k$$$OJ#?t4,$N=qJ*$NBjL>$r=q$/!%(B + +\item[title\hfill] +$BCx:n$NI=Bj!%(B\LaTeX\ book$B$N@bL@$N$h$&$K%?%$%W%;%C%H$5$l$k!%(B + +\item[type\hfill] +$B%F%/%K%+%k%l%]!<%H$N<oN`(B---$BNc$($P(B ``Research Note''$B!%(B + +\item[volume\hfill] +$BO@J8;o$"$k$$$OJ#?t4,$N=qJ*$N4,?t!%(B + +\item[year\hfill] +$BCx:nJ*$,=PHG$5$l$?G/!%L$=PHG$G$"$l$P=q$+$l$?G/!%(B +$BI8=`%9%?%$%k$O!$(B`{(about 1984)}' $B$N$h$&$J!$$I$s$J7A$G$b(B{\tt year}$B%U%#!<%k%I(B +$B$K5v$9$,!$6h@Z$jJ8;z0J30$N:G8e$N(B4$BJ8;z$O!$(B +$BDL>o$O(B{\tt 1984}$B$N$h$&$J(B4$B$D$N?t;z$+$i9=@.$5$l$F$$$J$/$F$O$J$i$J$$!%(B + +\item[yomi\hfill]{\dg\bf\JBibTeX\ $B$N$_$G0UL#$r;}$D(B}$B!%(B +$BCx<T(B($BJT=8<T(B)$BL>$,F|K\8lJ8;z$N;~$K%=!<%H!$%i%Y%k:n@.$,$&$^$/$$$/$h$&$K(B +$B4A;z%3!<%I;aL>$NBe$j$K;H$&%U%#!<%k%I$G$"$j!$%m!<%^;zI=5-$7$?@+L>$rCx<TL>$J$I$H(B +$BF1$8=q$-J}$G5-=R$9$k(B($B$R$i$,$J$G=q$$$F8^==2;=g$K%=!<%H$7$?$j$b$G$-$k(B)$B!%(B +$BNc$r<($9!%(B +\begin{verbatim} + author="$B>>0f(B $B@50l(B and $B9b66(B $B@?(B", + yomi="Shouichi Matsui and Makoto Takahasi" +\end{verbatim} +\end{description} +\newpage + +\section{$B%R%s%H(B} +\label{odds-and-ends} + +$BK\@a$G$O!$B>$G$O>\$7$/@bL@$5$l$F$$$J$$;v9`$r2r@b$9$k!%(B +$B4JC1$J$b$N$+$i=g$K@bL@$9$k!%(B +$B$=$NA0$K@h$:8}>e$r=R$Y$?$$!%(B + +$B;29MJ88%$N%?%$%W%;%C%H%9%?%$%k$NA*Br$NM>CO$O>/$J$$!%O@J8;o(B$X$$B$O(B$Y$$B$N(B +$B%9%?%$%k$r;XDj$9$k$7!$$^$?JL$NO@J8;o$OJL$N$b$N$r;XDj$9$k!%(B +$B$7$+$7!$A*Br$NM>CO$,$"$k$N$G$"$l$P!$(B{\tt plain}$BI8=`%9%?%$%k$r;H$&$3$H$r(B +$B4+$a$k!%(B +$B$3$N%9%?%$%k$O!$B>$N$b$N$h$j6qBNE*$G@8$-@8$-$7$?!$$h$jNI$$Cx:n$H(B +$B$J$k$H(Bvan~Leunen~\cite{van-leunen}$B$O<gD%$7$F$$$k!%(B + +$BB>J}$G!$(B +{\em The Chicago Manual of Style\/}~\cite{chicago}, +$B$O0zMQ$,K\J8Cf$K(B `(Jones, 1986)' $B$N$h$&$K(B +$B8=$l$k!VCx<T(B-$BG/7nF|7A<0(B(author-date)$B!W$r?d>)$7$F$$$k!%(B +$B$7$+$7!$;d$O$3$N$h$&$JJ}<0$O4XO"$9$k(B/$B$7$J$$>pJs$,;6Mp$9$k$@$1$G$J$/!$(B +$BK\J8$,GyA3$H$7!$$?$$$7$?$3$H$G$O$J$$$+$bCN$l$J$$$,<uF0BV$d[#Kf$JJ8$,B?$/$J$k$H(B +$B9M$($k!%$5$i$K%3%s%T%e!<%?%?%$%W%;%C%H$N=P8=$K$h$j!$(B +$B!V$3$l$,:G$b<BMQE*$JJ}K!$G$"$k!W$H$$$C$?5DO@$O(B +$B$^$C$?$/0UL#$N$J$$$b$N$H$J$C$?$H9M$($k!%(B +$BNc$($P!$(B{\em Chicago Manual\/}$B$N(B401$B%Z!<%8$NCf$4$m$K=R$Y$i$l$F$$$k!$(B +$B!V(B{\tt plain}$B$N$h$&$J%9%?%$%k$N7gE@$O!$%?%$%W$7$?8e$G$O!$(B +$B0zMQJ88%$NDI2C!&:o=|$N$?$a$K$O!$(B +$B;29MJ88%%j%9%H$N=$@5$@$1$G$J$/!$K\J8Cf$NHV9f$N=$@5$,I,MW$J$3$H$G$"$k!W(B +$B$H$$$C$?<gD%$O$^$C$?$/$N;~Be:x8m$H$$$($k!%(B +\LaTeX\ $B$r;H$($P7gE@$G$O$J$$$3$H$OL@$i$+$G$"$k!%(B + +$B:G8e$K!$(B +$B!VCx<TL>(B-$BG/7nF|7A<0!W$NO@M}E*7g4Y$O$=$N$?$a$N%W%m%0%i%`$r:n@.$7$F$_$k$H(B +$BHs>o$KL@Gr$K$J$k!%Nc$($P!$B??t$N;29MJ88%%j%9%H$rIaDL$K%"%k%U%!%Y%C%H=g(B +$B$KJB$Y$?;~$K!$(B`(Aho et~al., 1983b)' $B$,(B `(Aho et~al., 1983a)' $B$NH>%Z!<%8(B +$B$b8e$KJB$V$3$H$,$"$k!%(B +$B$3$l$r=$@5$9$k$H$b$C$H0-$/$J$k$3$H$b$"$k!%(B +$B$J$s$F$3$C$?!%(B +($BHa$7$$$3$H$K!$;d$O$=$&$$$C$?%9%?%$%k$r%W%m%0%i%`$7$?$3$H$,$"$k!%(B +$B0$Jr$J=PHG<T$N$;$$$G!$$"$k$$$O;d$N<gD%$KF1D4$;$:$K!$$3$N$h$&$J(B +$B%9%?%$%k$r;H$$$?$$$N$G$"$l$P!$(B +$B$3$NJ}<0$N%9%?%$%k$O(BRochester style collection$B$+$iF~<j2DG=$G$"$k!%(B) + +$BA08}>e$,D9$/$J$C$F$7$^$C$?$,!$;d$N5$J,$ONI$/$J$j!$7l05$b@5>o$KLa$C$?!%(B +$B0J2<$KI8=`%9%?%$%k$G(B\BibTeX\ $B$r;H$&;~$N%R%s%H$r<($9(B($BI8=`0J30$N%9%?%$%k$G$b(B +$BB?$/$N;vJA$,$"$F$O$^$k(B)$B!%(B + +\begin{enumerate} + +\item +\BibTeX\ $B$N%9%?%$%k@_7W8@8l$r;H$($P!$;29MJ88%$N%j%9%H:n@.0J30$K$b!$(B +$B0lHLE*$J%G!<%?%Y!<%9A`:n$N$?$a$N%W%m%0%i%`$r:n$k$3$H$,$G$-$k!%(B +$B$3$l$r;H$C$F%G!<%?%Y!<%9Cf$N$9$Y$F$NJ88%$N%G!<%?%Y!<%9%-!<(B/$BCx<T$N(B +$B:w0z$r@8@.$9$k%W%m%0%i%`$r:n$k$3$H$O!$$3$N8@8l$K@:DL$7$F$$$l$P4JC1$J(B +$B$3$H$G$"$k!%(B +$B$I$s$J%D!<%k$,MQ0U$5$l$F$$$k$+$K$D$$$F$O(B{\em Local Guide\/} +$B$r;2>H$5$l$?$$!%(B + +\item +$BI8=`%9%?%$%k$G;H$C$F$$$k(B13$B8D$N%(%s%H%j7?$G$[$H$s$I$NJ88%$r$&$^$/(B +$B%U%)!<%^%C%H$G$-$k$,!$(B13$B8D$@$1$G$J$s$G$b$&$^$/$G$-$k$o$1$G$O$J$$!%(B +$B$7$?$,$C$F!$%(%s%H%j7?$N;H$$J,$1$r9)IW$9$k$H$h$$(B($B$7$+$7!$(B +$BM>$j$K$$$m$s$J7?$r;n$7$F$_$J$$$H$&$^$/$$$+$J$$$N$O!$(B +$B%(%s%H%j$N7?$,4V0c$C$F$$$k$3$H$,B?$$(B)$B!%(B + +\item +$B%U%#!<%k%IL>$O873J$K9M$($J$/$F$h$$!%(B +$BNc$($P!$=PHG<T$N=;=j$r(B{\tt address}$B%U%#!<%k%I$G$O$J$/!$(B +$BL>A0$H$H$b$K(B{\tt publisher}$B%U%#!<%k%I$KF~$l$k$3$H$b$G$-$k!%(B +$B$"$k$$$O!$J#;($J7A<0$NJ88%$K$O(B{\tt note}$B%U%#!<%k%I$r$&$^$/;H$&$3$H$G(B +$BBP=h$G$-$k!%(B + +\item +$B7Y9p%a%C%;!<%8$O?<9o$K9M$($kI,MW$O$J$$!%(B +$BNc$($P(B{\em The 1966 World Gnus Almanac}$B$N$h$&$K!$I=Bj$KG/$,(B +$BF~$C$F$$$kJ88%$G$O!$(B{\tt year}$B%U%#!<%k%I$O>JN,$7$?J}$,$h$/!$(B +\BibTeX\ $B$N7Y9p%a%C%;!<%8$OL5;k$7$F$h$$!%(B + +\item +{\tt author}, {\tt editor}$B$NL>A0$,M>$j$KB?$$;~$K$OL>A0%j%9%H$r(B +``and others'' $B$G=*$j$K$7$F$*$1$P!$I8=`%9%?%$%k$G$O(B +``et~al.'' $B$K<+F0E*$KJQ49$5$l$k(B\trnote{\JBibTeX $B$G$O!$(B +$B4A;z%3!<%ICx<T$J$i(B ``$B$[$+(B'' $B$KJQ49$5$l$k!%(B}$B!%(B + +\item +$B0lHL$K!$(B\BibTeX\ $B$,BgJ8;z$r>.J8;z$K<+F0E*$KJQ49$9$k$N$r(B +$B;_$a$5$;$?$+$C$?$i!$Cf3g8L(B({\tt \{ \}})$B$G0O$a$P$h$$!%(B +$B$7$+$7!$:8Cf3g8L$KB3$/:G=i$NJ8;z$,%P%C%/%9%i%C%7%e$G$"$k$H!$(B +$BJQ49$5$l$k$3$H$b$"$k!%(B +$B!VFC<lJ8;z!W$N$H$3$m$G:F$S@bL@$9$k!%(B + +\item +{\em Scribe\/}$B$H$N8_49@-$N$?$a!$%G!<%?%Y!<%9%U%!%$%kCf$K(B {\tt @COMMENT} +$B%3%^%s%I$r=q$/$3$H$,$G$-$k!%(B +\BibTeX\ $B$O%G!<%?%Y!<%9%U%!%$%kCf$G$O%(%s%H%j$NFbB&(B +$B0J30$J$i$I$3$K$G$b%3%a%s%H$r=q$/$3$H$r5v$9$+$i!$(B +$B<B:]$K$O$3$N%3%^%s%I$OITMW$G$"$k!%(B +$B$"$k%(%s%H%j$r%3%a%s%H%"%&%H$9$k$K$O!$C1$K%(%s%H%j$N7?$N(B +$BA0$N(B{\tt @}$BJ8;z$r<h$j=|$1$P$h$$!%(B + +\item +$BI8=`%9%?%$%k%U%!%$%kCf$K$O7W;;5!2J3X4X78$NO@J8;o$N(B +$B>JN,7A$,$$$/$D$+F~$l$F$"$k$,!$$3$l$O$"$/$^$G$bNc$G$"$k!%(B +$B$3$l$H0[$J$kO@J8;o$N>JN,7A$O(B {\tt @STRING}$B%3%^%s%I$r(B +$B;H$C$F!$8D?M$N%G!<%?%Y!<%9$GDj5A$9$k$N$,$h$$!%(B +$B$=$7$F(B\LaTeX\ $B$N(B \verb|\bibliography|$B;XDj$N:G=i$N0z?t$H$7$F!$(B +$B$3$N>JN,7A$NF~$C$?%G!<%?%Y!<%9$r5-=R$9$l$P$h$$!%(B + +\item +$B!V7n!W$K4X$7$F$O!$<+J,$G7nL>$r=q$+$:$K!$(B3$BJ8;z$N>JN,7A$r;H$&$N$,$h$$!%(B +$B$=$&$9$l$P@09gE*$J7A<0$H$J$k!%(B +$B!VF|!W$N>pJs$b4^$a$?$$>l9g$K$O(B{\tt month}$B%U%#!<%k%I$K=q$/!%Nc$($P!$(B +\begin{verbatim} + month = jul # "~4," +\end{verbatim} +$B$H$9$l$P!$K>$_$N7k2L$,F@$i$l$k!%(B + +\item +($B;29MJ88%$,0zMQ=g$KNs5s$5$l$k(B) {\tt unsrt}$B%9%?%$%k$r(B \verb|\nocite{*}| +($B%G!<%?%Y!<%9$N$9$Y$F$NJ88%$,Ns5s$5$l$k(B)$B$H(B +$B6&$K;H$&>l9g$K$O!$J8=qCf$N(B \verb|\nocite{*}|$B%3%^%s%I$N0LCV$G(B +$B0zMQJ88%$NJB$V=gHV$,7h$^$k!%(B +$BBh(B\ref{features} $B@a$G<($7$?5,B'$K$h$l$P!$(B +$B%3%^%s%I$,J8=q$N@hF,$K$"$l$P!$%G!<%?%Y!<%9Cf$N=gHV$=$N$b$N$K$J$j!$(B +$B:G8e$K$"$l$P!$(B \verb|\cite|$B$"$k$$$O(B \verb|\nocite|$B$GL@<(E*$K0zMQ$7$?(B +$BJ88%$,0zMQ=g$KJB$S!$$=$N8e$K$=$l0J30$N$b$N$,%G!<%?%Y!<%9Cf$N=gHV$G(B +$BJB$V!%(B + +\item +$B3X0L$r<xM?$9$k$N$OBg3X$G$"$j3XIt$G$O$J$$$+$i!$(B +$B3X0LO@J8$KBP$7$F$O!$(Bvan Leunen$B$O3X0L$N8e$K3XItL>$r=q$+$J$$$3$H$r(B +$B?d>)$7$F$$$k!%(B +$B3XItL>$r=q$$$?J}$,FI<T$,O@J8$r8+$D$1$d$9$$$H9M$($k$N$G$"$l$P!$(B +$B3XItL>$O(B{\tt address}$B%U%#!<%k%I$K=q$/$H$h$$!%(B + +\item +{\tt MASTERSTHESIS}$B$H(B{\tt PHDTHESIS}$B$N%(%s%H%j7A$O(B +{\em Scribe\/}$B$H$N8_49@-$N$?$a$KIU$1$?L>>N$G$"$j!$(B +{\tt MINORTHESIS}$B$H(B{\tt MAJORTHESIS}$B$NJ}$,NI$$L>A0$+$bCN$l$J$$!%(B +$B=>$C$F%"%a%j%+0J30$G$N3X0LO@J8$G$O$3$N$3$H$rG0F,$K$*$/$3$H!%(B + +\item +$B$"$kCx<T$N(B2$B$D$NCx:n$NCx<TL>$,<c430[$J$k>l9g$NBP=h$NJ}K!!%(B +2$B$D$NO@J8$,<!$N$h$&$G$"$C$?$H$7$h$&!%(B +\begin{verbatim} + author = "Donald E. Knuth" + . . . + author = "D. E. Knuth" +\end{verbatim} +2$B$D$N$d$jJ}$,9M$($i$l$k!%(B +(1)$B$3$N$^$^$K$9$k!$(B(2)$B$3$l$OF10l?MJ*$G$"$k$G$"$k$3$H$,$O$C$-$j$H(B +$BJ,$+$C$F$$$k$N$G!$Cx<T$N9%$_$N7A<0(B($BNc$($P!$(B`Donald~E.\ Knuth')$B$KE}0l$9$k!%(B +$B:G=i$NJ}K!$G$OJ88%$NJB$V=gHV$,@5$7$/$J$/$J$k$+$b$7$l$J$$$7!$(B +2$BHVL\$NJ}K!$G$OL>A0$r>/$7JQ$($?$3$H$G!$C/$+$,EE;RE*$K8!:w$7$?;~$K(B +$B$X$^$r$d$k$+$b$7$l$J$$!%(B +$B;d9%$_$NBh(B3$B$NJ}K!$,$"$k!%(B +2$BHVL\$NO@J8$N%U%#!<%k%I$r<!$N$h$&$KJQ49$9$k!%(B +\begin{verbatim} + author = "D[onald] E. Knuth" +\end{verbatim} +\BibTeX\ $B$O$+$.3g8L$,$J$$$H$7$F%=!<%H$9$k$7!$(B +$B$+$.3g8L$K$h$C$FFI<T$O40A4$J!VL>!W$O85$NO@J8$K$O$J$+$C$?$H9M$($k(B +$B$+$i!$A0=R$NLdBj$,2r7h$G$-$k!%(B +$B$b$A$m$s(B `D[onald]~E.\ Knuth' $B$O$_$C$H$b$J$$$H$$$&JL$NLdBj$,@8$:$k$,!$(B +$B;d$O$3$N>l9g$K$O@53N$5$N$?$a$K$OH~$7$5$r5>@7$K$7$F$h$$$H9M$($k!%(B + +\item +\LaTeX\ $B$N%3%a%s%HJ8;z(B `{\tt\%}' $B$O%G!<%?%Y!<%9%U%!%$%kCf$G$O(B +$B%3%a%s%HJ8;z$G$O$J$$!%(B + +\item +$BA0@a$G$U$l$?!VCx<T!W$K$D$$$F$b$C$H>\$7$/@bL@$7$h$&!%(B +$B$[$H$s$I$9$Y$F$N%(%s%H%j$G$O!VCx<T!W$OC1$K(B{\tt author}$B%U%#!<%k%I$N(B +$B>pJs$G$"$k!%(B +$B$7$+$7$J$,$i!$(B +{\tt BOOK}$B$H(B{\tt INBOOK}$B%(%s%H%j7?$G$O!$(B +{\tt author}$B$KCx<T$,$J$1$l$P(B{\tt editor}$B%U%#!<%k%I$,;H$o$l!$(B +{\tt MANUAL}$B$G$O!$(B +{\tt author}$B$KCx<T$,$J$1$l$P(B{\tt organization}$B%U%#!<%k%I$,;H$o$l!$(B +{\tt PROCEEDINGS}$B$G$O!$(B +{\tt editor}$B$KCx<T$J$1$l$P(B{\tt organization}$B%U%#!<%k%I$,;H$o$l$k!%(B + +\item +$B%i%Y%k$N:n@.$N;~$K!$(B{\tt alpha}$B%9%?%$%k$G$O>e=R$N!VCx<T!W$r;H$&$,!$(B +{\tt MANUAL}$B$H(B{\tt PROCEEDINGS}$B%(%s%H%j7?$G$O(B +{\tt key}$B%U%#!<%k%I$,(B{\tt organization}$B%U%#!<%k%I$h$jM%@h$9$k!%(B +$B$3$l$O<!$N$h$&$J>l9g$KLrN)$D!%(B +\begin{verbatim} + organization = "The Association for Computing Machinery", + key = "ACM" +\end{verbatim} +{\tt key}$B%U%#!<%k%I$,$J$$$H(B{\tt alpha}$B%9%?%$%k$O(B{\tt organization}$B%U%#!<%k%I(B +$B$N>pJs$+$i(B3$BJ8;z$N%i%Y%k$r:n$k!%(B +{\tt alpha}$B%9%?%$%k$O(B `{\tt The}' $B$r<h$j=|$/$,!$$=$l$G$b(B +$B%i%Y%k$O(B `\hbox{[Ass86]}' $B$H$J$C$F$7$^$$!$;EAH$_DL$j$G$O$"$k$,!$M-1W$J(B +$B$b$N$G$O$J$$!%(B +$B>e$N$h$&$K(B{\tt key}$B%U%#!<%k%I$rF~$l$k$3$H$G!$$b$C$H$h$$%i%Y%k(B +`\hbox{[ACM86]}' $B$H$G$-$k!%(B + +$B$7$+$7!$(B{\tt organization}$B%U%#!<%k%I$rL58z$K$9$k$?$a$K(B +{\tt key}$B%U%#!<%k%I$,>o$KI,MW$J$o$1$G$O$J$$!%(B +$BNc$($P!$(B +\begin{verbatim} + organization = "Unilogic, Ltd.", +\end{verbatim} +$B$H$7$F$*$1$P!$(B{\tt alpha}$B%9%?%$%k$O(B `\hbox{[Uni86]}' $B$H$$$C$?(B +$B9gM}E*$J%i%Y%k$r@8@.$9$k!%(B + +\item +$BBh(B\ref{features} $B@a$G%"%/%;%s%HIU$-J8;z$r@bL@$7$?!%(B +\BibTeX\ $B$K$H$C$F$O%"%/%;%s%HIU$-J8;z$O!$(B +$B%H%C%W%l%Y%k$N:8Cf3g8L$ND>8e$NJ8;z$,%P%C%/%9%i%C%7%e$G$"$k(B +$BCf3g8L$G3g$i$l$F$$$kJ8;zNs!$$9$J$o$A(B +$B!VFC<lJ8;z!W$NFCJL$J>l9g$K$9$.$J$$!%(B +$BNc$($P!$(B +\begin{verbatim} + author = "\AA{ke} {Jos{\'{e}} {\'{E}douard} G{\"o}del" +\end{verbatim} +$B$K$O(B `\verb|{\'{E}douard}|' $B$H(B `\verb|{\"o}|'$B$N(B2$B$D$NFC<lJ8;z$,$"$k!%(B +($B>e$NNc$G!$%U%#!<%k%I$N6h@Z$jJ8;z$G$"$k%@%V%k%/%*!<%H$r(B +$BCf3g8L$GCV$-49$($?$b$N$G$bF1$8$3$H$G$"$k(B)$B!%(B +$B0lHL$K(B\BibTeX\ $B$OFC<lJ8;zCf$N(B\TeX\ $B$"$k$$$O(B\LaTeX\ $B%3%^%s%I$KBP$7$F$O(B +$B2?$NA`:n$b$[$I$3$5$J$$$,!$$=$&$G$J$$>l9g$K$OA`:n$r(B{\dg $B$[$I$3$9(B}$B!%(B +$B$7$?$,$C$FI=Bj$r>.J8;z$KJQ49$9$k%9%?%$%k$G$O(B +\begin{verbatim} + The {\TeX BOOK\NOOP} Experience +\end{verbatim} +$B$r(B +\begin{verbatim} + The {\TeX book\NOOP} experience +\end{verbatim} +$B$KJQ49$9$k!%(B +($B$7$+$7!$(B`{\tt The}' $B$OI=Bj$N:G=i$NC18l$G$"$k$N$G(B +$B$=$l$O$=$N$^$^$G$"$k(B)$B!%(B + +$BFC<lJ8;z$O%"%/%;%s%HIU$-J8;z$r07$&$N$KLrN)$A!$(B +\BibTeX\ $B$K$"$J$?$NK>$_DL$j$N=gHV$GJ88%$rJB$Y$5$;$k$N$KLrN)$D!%(B +$B$^$?(B\BibTeX\ $B$OFC<lJ8;z$r$9$Y$F$r$^$H$a$F(B1$BJ8;z$H?t$($k$+$i!$%i%Y%k$NCf$K(B +$BJ8;z$rDI2C$9$k$N$KLrN)$D!%(B +\BibTeX\ $B$H$H$b$KG[I[$5$l$F$$$k(B{\tt XAMPL.BIB}$B%U%!%$%kCf$K$9$Y$F$N;H$$J}$N(B +$BNc$,$"$k!%(B + +\item +$BK\@a$N:G8e$N9`L\$H$7$F(B({\tt author}, {\tt editor}$B%U%#!<%k%I$NCf$K(B +$B5-=R$9$k(B)$BL>A0$K$D$$$F!$(B\LaTeX\ book$B$NIUO?(BB$B$h$j>/$7>\$7$/@bL@$9$k!%(B +$B0J2<$G$O!VL>A0!W$O8D?M$KBP1~$9$k$b$N$H$7$h$&!%(B +($BJ#?t$NCx<T$r(B1$B$D$N%U%#!<%k%I$KF~$l$k$K$O!$Cf3g8L$KF~$l$J$$$G!$(B +$BA08e$K%9%Z!<%9$rF~$l$F(B ``and'' $B$G$D$J$0!%(B +$B$3$3$G$O(B1$B$D$NL>A0$@$1$r9M$($k(B)$B!%(B + +$BL>A0$O!$@+(B(Last)$B!$(Bvon, $BL>(B(First)$B$H(BJr$B$N(B4$B$D$NItJ,$+$i$J$j!$(B +$B$=$l$>$l$O(B($B6u$+$b$7$l$J$$$,(B)$BJ8;zNs(B($B%H!<%/%s(B)$B$N%j%9%H$+$i$J$k!%(B +$B6u$G$J$$L>A0$N@+$O6u$G$J$$!$$9$J$o$A(B1$B$D$NJ8;zNs$+$i$J$kL>A0(B +$B$O@+$@$1$N$b$N$H$J$k(B\trnote{$B4A;z%3!<%II=5-$5$l$?L>A0$G$O!$@+$HL>$N4V$K(B +$B%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$rF~$l$F$*$1$P!$(BFamily name$B$H(BLast-token$B$+$i(B +$B$J$k$b$N$H$5$l!$%9%Z!<%9$,$J$1$l$P(BLast-token$B$N$_$+$i$J$k$H$5$l$k!%(B}$B!%(B + + +Per Brinch~Hansen$B$NL>A0$O<!$N$h$&$K%?%$%W$7$J$1$l$P$J$i$J$$!%(B +\begin{verbatim} + "Brinch Hansen, Per" +\end{verbatim} +$B$3$NL>A0$NL>$O(B ``Per'' $B$N(B1$B$D$N%H!<%/%s$+$i$J$j!$(B +$B@+$O(B ``Brinch'' $B$H(B ``Hansen'' $B$N(B2$B$D$N%H!<%/%s$+$i$J$j!$(B +von, Jr$B$NItJ,$O$J$$!%(B +$B$b$7<!$N$h$&$K%?%$%W$7$?$H$9$k$H!$(B +\begin{verbatim} + "Per Brinch Hansen" +\end{verbatim} +\BibTeX\ $B$O(B($B8m$C$F(B)$B!$(B``John~Paul Jones'' $B$NL>%H!<%/%s$,(B ``Paul'' $B$G$"$k$N$H(B +$BF1$8$h$&$K(B ``Brinch'' $B$,L>$N%H!<%/%s$G$"$k$H9M$(!$(B2$B$D$NL>%H!<%/%s$H(B +1$B$D$N@+%H!<%/%s$+$i$J$k$b$N$H$9$k!%(B + +$B$b$&(B1$B$DNc$r<($=$&!%(B +\begin{verbatim} + "Charles Louis Xavier Joseph de la Vall{\'e}e Poussin" +\end{verbatim} +$B$3$NL>A0$K$O(B4$B$D$NL>%H!<%/%s$H!$(B2$B$D$N(Bvon$B%H!<%/%s$H!$(B2$B$D$N@+%H!<%/%s$,$"$k!%(B +von$B%Q!<%H$O>.J8;z$G;O$^$k$3$H$+$i!$(B\BibTeX\ $B$O3F!9$NItJ,$,$I$3$+$i;O$^$j!$(B +$B$I$3$G=*$k$+$,$o$+$k!%(B + +$B0lHL$KCf3g8L$N%l%Y%k$,(B0$B$N$H$3$m$G>.J8;z$G;O$^$k$b$N$O(Bvon$B%H!<%/%s$H$5$l$k!%(B +$B5;=QE*$K$O!VFC<lJ8;z!W$OCf3g8L$N%l%Y%k(B0$B$G$"$k$+$i!$(B\TeX\ $B$N%3%^%s%I(B +$BJ8;zNs$NBgJ8;z!$>.J8;z$rJ]$D$h$&$J%@%_!<$NFC<lJ8;z$r;H$&$3$H$G!$(B +\BibTeX\ $B$,(Bvon$B%H!<%/%s$H$7$F07$&$h$&$K(B/$B07$o$J$$$h$&$K$G$-$k!%(B + +$B$^$H$a$k$H!$(B\BibTeX\ $B$OL>A0$N=q$-J}$H$7$F<!$N(B3$B$D$N7A<0$r5v$9!%(B +\begin{verbatim} + "First von Last" + "von Last, First" + "von Last, Jr, First" +\end{verbatim} +Jr$B%Q!<%H$,$"$k>l9g!$$"$k$$$O@+$,J#?t$N9=@.MWAG$+$i$J$k>l9g0J30$G$O(B +$B0lHV:G=i$N=q$-J}$r;H$&$N$,IaDL$G$"$k!%(B + +\item +\JBibTeX\ $B$G$O4A;z%3!<%IL>$N>l9g$K$O@+$HL>$N4V$K%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$r(B +$BCV$/$3$H$rI8=`$H$9$k$,!$%9%Z!<%9$,$J$/$F$b!$(B{\tt jabbrv}$B%9%?%$%k$J$I$G=PNO(B +$B$5$l$kL>A0$,@+$N$_$K$J$i$J$$$J$I$NLdBj$7$+@8$8$J$$!%$^$?!$J#?t$N;aL>$rJB$Y$k(B +$B;~$K$O(B \verb*| and | $B$NBe$o$j$K!$A43Q$N6gE@(B ``$B!$(B'' $B$"$k$$$O(B ``$B!"(B'' $B$r;H$&(B +$B$3$H$b$G$-$k!%(B + +\item $B%"%k%U%!%Y%C%H=g$G$J$/!$8^==2;=g$K%=!<%H$7$?$1$l$P(B{\tt yomi}$B%U%#!<%k%I$K(B +$B!V$R$i$,$J!W$G!VFI$_!W$r=q$$$F$*$1$P$h$$!%(B +{\tt jplain}, {\tt jabbrv}$B$G%"%k%U%!%Y%C%HI=5-$NCx<T$O%"%k%U%!%Y%C%H=g$K(B +$BJB$Y!$$=$N8e$KF|K\8lCx<TL>$N$b$N$r8^==2;=g$KJB$Y$?$$>l9g$J$I$K!$(B +$B$R$i$,$JI=5-$NFI$_$r;H$($P$h$$!%(B + +$B$?$@$7(B{\tt jalpha}$B%9%?%$%k$G$O%i%Y%k$r$&$^$/:n$j=P$9$K$O9)IW$,I,MW$G$"$k!%(B +{\tt jalpha}$B%9%?%$%k$r;H$C$?;~$K$O!$8^==2;=g$K%=!<%H$9$k$3$H$O$J$$$G$"$m$&$,!$(B +$B<!$NNc$N$h$&$K$9$l$P$h$$!%(B + +{\baselineskip=11pt +\begin{verbatim} + @preamble{ "\newcommand{\noop}[1]{}" } + @BOOK{sym, + editor="Janusz S. Kowalik", + title="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{goto, + author="$B8eF#1Q0l(B", title="$B7W;;5!$K$h$k?t<0=hM}$H$O(B", + yomi="{\noop{$B$4$H$&(B}$B8e(B}$BF#(B", + crossref="reduce", pages="4--6", year=1986 } + @UNPUBLISHED{$B0k:j(B, + author="$B0k:j(B $B=(<y(B",title="How To Use {\JLaTeX}", + yomi="{\noop{$B$$$=$6$-(B}$B0k(B}$B:j(B", + note="memo for {\JLaTeX}", year=1987} +\end{verbatim} +} + +$B$3$&$7$F$*$1$P!$3F!9$N%i%Y%k$O(B[Kow86], [HW87], +[$B8eF#(B86], [$B0k:j(B87]$B$H$J$j!$%"%k%U%!%Y%C%H=g$K(B[HW87], [Kow86]$B$HJB$s$@8e$K!$(B +$B8^==2;=g$K(B[$B0k:j(B87], [$B8eF#(B86]$B$HJB$V!%(B +\end{enumerate} + +\bibliography{jbtxdoc} +\bibliographystyle{jplain} +\end{document} diff --git a/biblio/pbibtex/base/jbtxhak.pdf b/biblio/pbibtex/base/jbtxhak.pdf Binary files differnew file mode 100644 index 0000000000..9637eb38f8 --- /dev/null +++ b/biblio/pbibtex/base/jbtxhak.pdf diff --git a/biblio/pbibtex/base/jbtxhak.tex b/biblio/pbibtex/base/jbtxhak.tex new file mode 100644 index 0000000000..4c795f80d5 --- /dev/null +++ b/biblio/pbibtex/base/jbtxhak.tex @@ -0,0 +1,692 @@ +\documentstyle{jarticle} +\def\dg{\gt} +\def\dm{\mc} +\voffset=-2.3cm +\hoffset=-2.3cm +\textwidth=16.6cm +\textheight=25cm + +\def\JTeX{\leavevmode\lower .5ex\hbox{J}\kern-.17em\TeX} +\def\JLaTeX{\leavevmode\lower.5ex\hbox{J}\kern-.17em\LaTeX} +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\def\JBibTeX{\leavevmode\lower .5ex\hbox{{\rm J}}\kern-0.15em\BibTeX} +\def\trnote#1{\footnote{\parindent=16pt\hskip-15pt\hang\indent $BLuCm!'(B#1\parindent=10pt}} + + +\title{Designing B\kern-.05em{\large I}\kern-.025em{\large B}\kern-.08em\TeX\ + Styles\\ +B\kern-.05em{\large I}\kern-.025em{\large B}\kern-.08em\TeX $B%9%?%$%k(B +$B$N:n$jJ}(B +\footnote{$BK]Lu$NItJ,$O86Cx<T$N5v2D$rF@$FG[I[$9$k$b$N$G$"$j(B,$BK]Lu$K$D$$$F(B, +\JBibTeX $B$K4X$9$k5-=R$K$D$$$F$O>>0f$KLd$$9g$o$;$i$l$?$$!%(B} +\ $^,$\footnote{\JBibTeX (version 0.30)\cite{jbibtex}$B$N@bL@$b4^$`!%(B} +} + +\author{Oren Patashnik($BLu!'>>0f@50l(B)} +\date{January 31, 1988($BK]LuHG!'(B1991$BG/(B1$B7n(B1$BF|(B)} +\def\orig#1{} +\begin{document} +\baselineskip=17pt + +\maketitle + +\setcounter{section}{4} +\section{$B;29MJ88%%9%?%$%k$r%O%C%/$9$k(B} +\label{style} +$BK\9F$O!$<B:]$K$O(B +\BibTeX $B$N0lHLE*$J%I%-%e%a%s%H$G$"$k(B``\BibTeX ing''~\cite{btxdoc}$B$N:G=*@a(B +$B$G$"$j!$(B +$BBh(B\ref{style} $B@a$+$i$O$8$^$k(B($B$=$7$F$3$N@a$@$1$G=*$k(B)$B!%(B +$B$7$+$7@h$N%I%-%e%a%s%H$O(B\BibTeX $B$NMxMQ<T8~$1$G$"$j!$K\9F$O%9%?%$%k(B +$B:n@.<T8~$1$G$"$k$N$G!$J*M}E*$KJ,N%$7$?$b$N$H$J$C$F$$$k!%(B +$B$H$O$$$(!$$3$NJ8=q$NFI<T$O(B``\BibTeX ing''$B$K@:DL$7$F$$$kI,MW$,$"$j!$K\9F$G(B +$B;2>H$7$F$$$k@a!$@aHV9f$O(B2$B$D$NJ8=q$,(B1$B$D$N$b$N$H2>Dj$7$F$$$k!%(B + +$BK\@a$HI8=`%9%?%$%k%U%!%$%k$N%I%-%e%a%s%H$G$"$k(B{\tt btxbst.doc}$B$G(B\trnote{$BF|K\(B +$B8lBP1~HG$O(B{\tt jbtxbst.doc}$B$G$"$k!%(B} +$B4{B8$N%9%?%$%k%U%!%$%k$N=$@5J}K!!$?7$?$J%9%?%$%k%U%!%$%k$N:n@.(B +$BJ}K!$r@bL@$9$k!%(B +$B$b$7$A$c$s$H$7$?%9%?%$%k%U%!%$%k$r:n$m$&$H;W$C$F$$$k$N$G$"$l$P!$(B +$B%9%?%$%k$K4X$7$F(Bvan~Leunen~\cite{van-leunen}$B$K!$(B +$B%?%$%W%;%C%H$K4X$7$F(BLamport~\cite{latex}$B$H(BKnuth~\cite{texbook}$B$K!$(B +$B$5$i$K>l9g$K$h$C$F$O!$(B +$B:Y$+$J8_49@-$NLdBj$+$i(B{\em Scribe\/}~\cite{scribe}$B$K@:DL$7$F$$$J$1$l$P(B +$B$J$i$J$$!%(B +$B$;$C$;$H;E;v$r$9$k9g4V$K!$(BStrunk and White$B$K$h$kL>>.:};R(B +\cite{strunk-and-white}$B$rFI$`$3$H$rA&$a$k$,!$FI$^$J$$$N$G$"$l$P!$(B +$B>/$J$/$F$b%G!<%?%Y!<%9Cf$N%(%s%H%j$H;29MJ88%%j%9%H$r8+$F!$(B\BibTeX $B$,J#?t$N(B +$BL>A0$r$I$&07$C$F$$$k$+$rD4$Y$k$3$H(B\trnote{$BF|K\8lBP1~HG$G$N4A;z%3!<%ICx<TL>$N(B +$B07$$J}$K$D$$$F$bD4$Y$k$3$H!%(B}$B!%(B + +$B?7$?$J%9%?%$%k$r:n$k>l9g$K$O!$K>$_$N$b$N$K6a$$4{B8$N%9%?%$%k$r=$@5$9$k(B +$B$N$,$h$$(B\trnote{$B?7$?$J%9%?%$%k$r:n$k;~$@$1$G$J$/!$4{B8$N%9%?%$%k$r(B +$B=$@5$9$k;~$G$b!$D>@\(B{\tt .bst}$B%U%!%$%k$r=$@5$9$k$N$G$O$J$/(B{\tt btxbst.doc, +jbtxbst.doc}$B$r=$@5$9$kJ}$,!$:FMxMQ2DG=@-$,9b$/$J$k!$1?$,NI$1$l$P(B1$B$D$N=$@5$G(B +$BJ#?t$N%9%?%$%k$r=$@5$G$-$k!$$J$I$NMxE@$,$"$k!%(B}$B!%(B +$B$3$l$O8E$$%9%?%$%k$r(B\BibTeX\ version 0.99$BMQ$K=$@5$9$k>l9g$K$b$"$F$O$^$k!%(B +($B;d<+?H$,(B4$B$D$NHsI8=`%9%?%$%k$r=$@5$7$?7P83$+$i$NCi9p$G$"$k(B)$B!%(B +$B8E$$(B(version 0.98i)$B%9%?%$%k$N$?$a$K:n$C$?4X?t$r?7$7$$%9%?%$%k%U%!%$%k$K(B +$BF~$l$k;~$K$O!$BeF~4X?t(B({\tt :=})$B$N0z?t$N=gHV$,JQ99$5$l$?$3$H$KCm0U(B +$B$7$J$$$H$$$1$J$$!%(B +$B%9%?%$%k%U%!%$%k$,40@.$7$?$i!$(B{\tt XAMPL.BIB}$B%G!<%?%Y!<%9$NA4$F$r(B +$B;H$C$F(B\trnote{{\tt \char"5Cnocite\{*\}}$B$G9T$($k!%(B}$B!$I8=`%(%s%H%j$NA4$F$N(B +$B7?$KBP$7$FK>$_$N7k2L$K$J$k$3$H$r3NG'$9$l$P$h$$!%(B + +$BI8=`%9%?%$%k$NCn!$$d$j$?$$$3$H$,$G$-$J$$>l9g$K$O(BOren Patashnik$B$K(B +$BJ86g$r8@$&$3$H(B\trnote{$BF|K\8lMQ$N$b$N$K$D$$$F$O(B +$B>>0f@50l(B{\tt (matsui@denken.or.jp)}$B$KCN$i$;$k$3$H!%(B}$B!%(B + +\subsection{$B35MW(B} + +$B;29MJ88%%9%?%$%k$O%9%?%C%/%^%7%s$KBP$9$kL?Na$r8eCV1i;;;R7A<0$G5-=R$9$k!%(B +$BI8=`%9%?%$%k$N%I%-%e%a%s%H$r8+$l$P!$$I$&=q$/$+$rCN$k$N$OFq$7$$$3$H$G$O(B +$B$J$$$,!$K\9F$G$O$b$C$H>\$7$/@bL@$9$k(B($B4uK>$,$"$l$P$5$i$K>\$7$/$9$k(B)$B!%(B + +$B4pK\E*$K$O%9%?%$%k%U%!%$%k$O!$(B +$BL>A0$N$J$$8@8l$G!$%W%m%0%i%`$r5-=R$9$k$3$H$K$h$j!$(B +$B$I$N$h$&$K$7$F%G!<%?%Y!<%9$N%(%s%H%j(B +$B$+$i;29MJ88%%j%9%H$r:n$k$+$r(B\BibTeX $B$K65$($k$b$N$G$"$k(B($BF|K\8lBP1~%9%?%$%k(B +$B$G$O(B\JBibTeX $B$K65$($k$3$H$G$"$k!%0J2<(B\BibTeX $B$KEv$F$O$^$k$3$H$O(B\JBibTeX $B$K$b(B +$BEv$F$O$^$k$N$G!$$$$A$$$A$3$H$o$i$J$$(B)$B!%(B +($B0J2<$G$O!V%(%s%H%j!W$O!V%(%s%H%j!&%j%9%H!W$N$3$H$G$"$j!$J8L.$+$iL@$i$+$J(B +$B>l9g$K$OC1$K!V%j%9%H!W$H$9$k(B)$B!%(B +$B$3$N%W%m%0%i%`8@8l$K$O!$<!$N:Y@a(B(subsection)$B$G@bL@$9$k(B10$B8D$N%3%^%s%I$,$"$k!%(B +$B$3$l$i$N%3%^%s%I$O8@8l$N%*%V%8%'%/%H!'Dj?t!$JQ?t!$4X?t!$%9%?%C%/!$(B +$B%(%s%H%j!&%j%9%H$rA`:n$9$k$b$N$G$"$k!%(B +($BCm0U!'$3$NJ8=qCf$NMQ8l$O@bL@$r4JC1$K$9$k$?$a$KA*$s$@$b$N$G$"$j!$(B +\BibTeX $BK\Mh$NMQ8l$H$O<c430[$J$k!%Nc$($P$3$NJ8=qCf$N!VJQ?t!W!$!V4X?t!W(B +$B$O$I$A$i$b(B\BibTeX $B$K$H$C$F$O4X?t$G$"$k!%(B\BibTeX $B$N%(%i!<%a%C%;!<%8$r(B +$B2r<a$9$k;~$K$O$3$N$3$H$rG0F,$K$*$/$3$H(B)$B!%(B + +\BibTeX $B$N4X?t$K$O(B{\dg $BAH$_9~$_(B}$B$N$b$N(B($BBh(B\ref{built-in-fns}$B@a$G@bL@$9$k(B) +$B$H(B{\tt MACRO}$B$+(B{\tt FUNCTION}$B$GDj5A$9$k$b$N$N(B2$B<oN`$,$"$k!%(B + +$B%9%?%$%k:n@.$G:G$b;~4V$N$+$+$k:n6H$O(B{\tt FUNCTION}$B%3%^%s%I$r;H$C$F(B +$B4X?t$r:n@.$9$k!$$"$k$$$O4{B8$N$b$N$rJQ99$9$k$3$H$G$"$k!%(B +($B<B:]$K$O!$A0=R$N;29MJ88%$K@:DL$9$k$N$KMW$9$k;~4V$NJ}$,D9$$$,!$(B +$B$=$l$,=*$C$?8e$NOC$7$G$"$k(B)$B!%(B + +$BNc$H$7$F4X?t$N0lIt$r<h$j=P$7$?$b$N$r8+$F$_$h$&!%(B +$BJ8;zNs7?JQ?t(B{\tt label}$B!$@0?t7?JQ?t(B{\tt lab.width}$B$,$"$j!$(B +{\tt label}$B$N8e$m$K$K(B`{\tt a}'$B$rO"7k$7!$(B{\tt lab.width}$B$r(B1$BA}$d$7$?$$$H$7$h$&!%(B +\begin{verbatim} + . . . + label "a" * 'label := % label := label * "a" + lab.width #1 + 'lab.width := % lab.width := lab.width + 1 + . . . +\end{verbatim} +1$B9TL\$G@h$:(B{\tt label}$B$O$=$NCM$r%9%?%C%/$K%W%C%7%e$9$k!%(B +$B<!$K(B {\tt "a"} $B$,J8;zNsDj?t(B `{\tt a}' $B$r%9%?%C%/$KCV$/!%(B +$BB3$$$FAH$_9~$_4X?t(B {\tt *} $B$,%9%?%C%/%H%C%W$N(B2$B$D$NJ8;zNs$r%]%C%W$7!$(B +$B$=$l$i$rO"7k$7$?$b$N$r%W%C%7%e$9$k!%(B +{\tt 'label}$B$O$=$NJQ?tL>$r%W%C%7%e$9$k!%(B +$B:G8e$KAH$_9~$_4X?t(B {\tt :=} $B$,JQ?tL>$HO"7k7k2L$r%]%C%W$7!$BeF~$r(B +$B<B9T$9$k!%(B +\BibTeX $B$O%9%?%$%k%U%!%$%kCf$N(B {\tt \%} $B0J9_$O%3%a%s%H$H$7$F07$&!%(B +2$B9TL\$bF1MM$G$"$k$,!$%W%C%7%e$9$k@0?tDj?t(B +$B$H$7$F(B`{\tt \#}'$B$H(B`{\tt 1}'$B$N4V$K%9%Z!<%9$N$J$$(B {\tt \#1} $B$r;H$C$F$$$k!%(B + +$B%9%Z!<%9$N?t$O$$$/$D$G$b$h$/!$%9%Z!<%9!$%?%V!$2~9T$O$$$/$D$"$C$F$b(B +1$B$D$H$_$J$5$l$k(B($B8e$G4JC1$K@bL@$9$k$h$&$K!$(B +$B%3%^%s%I$NESCf$G$O2~9T$7$J$$$[$&$,$h$$(B)$B!%(B + +$BJ8;zNsDj?t$H$7$F$O!$%@%V%k%/%)!<%H$G0O$C$?Cf$K$O0u;z2DG=J8;z$J$i(B +$B2?$r=q$$$F$b$h$$(B\trnote{$BF|K\8lBP1~HG$G$O4A;z%3!<%I$G$b$h$$!%(B}$B!%(B +$BJ8;zNsDj?t$K8B$C$F(B\BibTeX $B$OBgJ8;z$H>.J8;z$N(B +$B6hJL$r$9$k!%$5$i$KJ8;zNsDj?t$NCf$N%9%Z!<%9$N?t$O0UL#$,(B{\dg $B$"$k(B}$B!%(B +$B$^$?J8;zNsDj?t$O9T$r$^$?$,$C$F$O$J$i$J$$(B($B$9$J$o$AJ8;zNs$N(B +$B;O$a$H=*$j$N%@%V%k%/%)!<%H$OF1$89T$K$J$1$l$P$J$i$J$$(B)$B!%(B + +$BJQ?t!$4X?t$NL>A0$O?t;z$G;O$^$C$F$O$J$i$:!$(B\LaTeX~book$B$N(B143$B%Z!<%8$K(B +$B$"$k(B10$B8D$N6X;_J8;z$r4^$s$G$O$J$i$J$$$,!$$=$l0J30$N0u;z2DG=J8;z$J$i(B +$B2?$r;H$C$F$b$h$$(B\trnote{$BF|K\8lBP1~HG$G$O4A;z%3!<%I$G$b$h$$!%F|K\8l(B +$B%W%m%0%i%_%s%0$G$-$k(B{\tt :-)}$B!%(B}$B!%(B +$B$5$i$K(B(ASCII$B%3!<%I$N(B)$BBgJ8;z$H>.J8;z$N6hJL$O$7$J$$!%(B + +$BJQ?t!$Dj?t$N7?$H$7$F$O@0?t7?$HJ8;zNs7?$7$+$J$$(B +($BO@M}CM$O@0?t$N(B0($B56(B)$B$H(B1($B??(B)$B$H$7$F<B8=$7$F$$$k(B)$B!%(B +$BJQ?t$N<oN`$H$7$F$O(B3$B<oN`$"$k!%(B +\begin{description} + +\item[$BBg0hJQ?t(B\hfill] {\tt INTEGERS}$B$"$k$$$O(B{\tt STRINGS}$B%3%^%s%I$G@k8@(B +$B$5$l$?@0?t7?$"$k$$$OJ8;zNs7?$NJQ?t!%(B + +\item[$B%(%s%H%jJQ?t(B\hfill] {\tt ENTRY}$B%3%^%s%I$G@k8@(B +$B$5$l$?@0?t7?$"$k$$$OJ8;zNs7?$NJQ?t!%%(%s%H%j%j%9%H$N%(%s%H%jKh$K(B +$BJL!9$NCM$r;}$D(B($BNc$($P(B{\tt label}$B$K%(%s%H%j$N%i%Y%k$r;}$?$;$k$3$H$,(B +$B$G$-$k(B)$B!%(B + +\item[$B%U%#!<%k%I(B\hfill] $BFI$_$@$7@lMQ$NJ8;zNs7?$NJQ?t$G$"$j!$%G!<%?%Y!<%9$N(B +$B>pJs$,3JG<$5$l$k!%CM$O(B{\tt READ}$B%3%^%s%I$G%G!<%?%Y!<%9$,FI$_9~$^$l$k(B +$B$3$H$G@_Dj$5$l$k!%(B +$B%(%s%H%jJQ?tF1MM$K3F!9$N%(%s%H%jKh$KJL!9$NCM$r;}$D!%(B +\end{description} + + +\subsection{$B%3%^%s%I(B} + +10$B8D$N%3%^%s%I$,$"$k!%(B +\hbox{\tt ENTRY}, \hbox{\tt FUNCTION}, \hbox{\tt INTEGERS}, +\hbox{\tt MACRO}, \hbox{\tt STRINGS}$B$N(B5$B8D$OJQ?t$N@k8@!$(B +$B4X?t$NDj5A$N$?$a$G$"$j!$(B +\hbox{\tt READ}$B$O%G!<%?%Y!<%9$N>pJs$rFI$_9~$_!$(B +\hbox{\tt EXECUTE}, \hbox{\tt ITERATE}, \hbox{\tt REVERSE}, +\hbox{\tt SORT})$B$N(B4$B8D$O%(%s%H%j$rA`:n$7!$=PNO$r:n$j=P$9!%(B +$B$9$Y$F$N%3%^%s%I$rBgJ8;z$G<($7$?$,!$(B +\BibTeX $B$O%3%^%s%IL>$NBgJ8;z$H>.J8;z$N6hJL$r$7$J$$!%(B + +$B$$$/$D$+$N@)8B!'(B{\tt ENTRY}$B$H(B{\tt READ}$B$N?t$O(B1$B$D$G$J$1$l$P$i$J$$!%(B +{\tt ENTRY}$B%3%^%s%I(B, $B$9$Y$F$N(B{\tt MACRO}$B%3%^%s%I!$(B{\tt FUNCTION}$B%3%^%s%I(B +$B$N$$$/$D$+(B($B<!@a(B{\tt call.type\$} $B;2>H(B)$B$O(B{\tt READ}$B%3%^%s%I$NA0$K(B +$B$J$1$l$P$J$i$J$$!%$^$?(B{\tt READ}$B%3%^%s%I$O%(%s%H%jA`:n!$=PNO$N(B +4$B$D$N%3%^%s%I$h$jA0$K$J$1$l$P$J$i$J$$!%(B + +($BK\<AE*$G$O$J$$$,(B)$B%3%^%s%I$N4V$K$O(B1$B$D0J>e$N%V%i%s%/9T$rCV$-!$(B +$B4X?tDj5A$NCf$K$O%V%i%s%/9T$rCV$+$J$$$h$&$K$9$k$H$h$$!%(B +$B$3$l$K$h$C$F(B\BibTeX $B$N9=J8%(%i!<$+$i$N2sI|$r=u$1$k$3$H$,$G$-$k!%(B + +$B%3%^%s%I$N0z?t$OCf3g8L(B(\verb|{ }|)$B$KF~$l$k!%(B +$BK\@a$G=R$Y$i$l$F$$$J$$9=J8$K4X$9$k;v9`$OI8=`%U%!%$%k$N%I%-%e%a%s%H(B\trnote{ +{\tt btxbst.doc, jbtxbst.doc}$B$N$3$H!%(B}$B$r;2>H$5$l$?$$!%(B +$B0J2<$G(B10$B8D$N%3%^%s%I$N@bL@$r9T$&!%(B + +\begin{description} + +\item[\hbox{\tt ENTRY}\hfill] +$B%U%#!<%k%I$H%(%s%H%jJQ?t$r@k8@$9$k!%(B +3$B0z?t$G$"$j!$3F!9$N0z?t$O(B($B6u$+$b$7$l$J$$$,(B)$BJQ?tL>$N%j%9%H$G$"$k!%(B +$B$=$l$i$O%U%#!<%k%I!$@0?t7?$N%(%s%H%jJQ?t!$J8;zNs7?$N%(%s%H%jJQ?t$G$"$k!%(B +$B$^$?(B\BibTeX $B$,Aj8_;2>H$G;H$&$?$a$K<+F0E*$K@k8@$9$k(B +{\tt crossref}$B%U%#!<%k%I$H!$(B +{\tt SORT}$B%3%^%s%I$G;H$&%=!<%H%-!<$H$7$F(B{\tt sort.key\$} $B$,!$J8;zNs7?$N(B +$B%(%s%H%jJQ?t$H$7$F<+F0E*$K@k8@$5$l$k!%(B +$B0J>e$NJQ?t$O%(%s%H%j!&%j%9%H$N%(%s%H%jKh$KJL!9$NCM$r;}$D!%(B + +\item[\hbox{\tt EXECUTE}\hfill] +$B4X?t$r(B1$B$D<B9T$9$k!%0z?t$O4X?tL>(B1$B$D$G$"$k!%(B + +\item[\hbox{\tt FUNCTION}\hfill] +$B?7$?$J4X?t$rDj5A$9$k!%(B +2$B0z?t$G$"$j!$:G=i$,L>A0$G(B2$BHVL\$,Dj5A$G$"$k!%(B +$B4X?t$O;H$&A0$KDj5A$7$J$1$l$P$J$i$J$$!%$7$?$,$C$F:F5"4X?t$O5v$5$l$J$$!%(B + +\item[\hbox{\tt INTEGERS}\hfill] +$B@0?t7?$NBg0hJQ?t$r@k8@$9$k!%(B +$B0z?t$OJQ?tL>$N%j%9%H(B1$B$D$G$"$k!%(B +$BJ8;zNsJQ?t$ND9$5$r@)8B$9$kBg0hE*JQ?t$H$7$F(B{\tt entry.max\$} $B$H(B +{\tt global.max\$} $B$,<+F0E*$K@k8@$5$l$k!%(B +$B$3$N%3%^%s%I$O%9%?%$%k%U%!%$%kCf$K$$$/$D$"$C$F$b$h$$$,!$JQ?t$O;H$&A0$K(B +$B@k8@$7$J$1$l$P$J$i$J$$!%(B + +\item[\hbox{\tt ITERATE}\hfill] +$B8=:_$N%j%9%H$N=gHV$K%j%9%H$N%(%s%H%j$KBP$7$F(B1$B$D$N4X?t$r<B9T$9$k(B +($B:G=i$O%j%9%H$O0zMQ=g$KJB$s$G$$$k$,!$(B{\tt SORT}$B$K$h$C$F=gHV$OJQ$o$k(B)$B!%(B +$B0z?t$O4X?tL>(B1$B$D$G$"$k!%(B + +\item[\hbox{\tt MACRO}\hfill] +$BJ8;zNs%^%/%m$rDj5A$9$k!%(B +$B0z?t$O(B2$B$D$G!$:G=i$,JQ?tL>!$4X?tL>$HF1$8$h$&$K07$o$l$k%^%/%mL>$G!$(B +$B<!$,%@%V%k%/%)!<%H$G0O$^$l$?J8;zNs$G$"$j!$$=$NDj5A$G$"$k!%(B +$B7nL>$N(B3$BJ8;z$N>JN,7A$H$h$/;H$o$l$kO@J8;o$N>JN,7A$rDj5A$7$F$*$/$3$H!%(B +$B$3$NDj5A$OMxMQ<T$N%G!<%?%Y!<%9Cf$NDj5A$GCV$-49$($k$3$H$,$G$-$k$+$i!$(B +$BMxMQ<T$KJQ99$7$F$b$i$$$?$/$J$$$b$N$O!$F1$89=J8$N(B{\tt FUNCTION}$B$r(B +$B;H$C$FDj5A$9$l$P$h$$!%(B + +\item[\hbox{\tt READ}\hfill] +$B%(%s%H%j!&%j%9%HCf$N%(%s%H%j$N%U%#!<%k%I$NCM$r%G!<%?%Y!<%9(B +$B$+$iC5:w$7$F@_Dj$9$k!%(B +$B0z?t$O$J$$!%(B +$B%G!<%?%Y!<%9Cf$N%(%s%H%j$K!$BP1~$9$k%U%#!<%k%I$NCM$,$J$$>l9g$K$O(B +($BI,$:$7$b%G!<%?%Y!<%9Cf$K$9$Y$F$N%U%#!<%k%I$,=q$+$l$F$$$k$o$1$G$O$J$$(B) +$B$=$N%U%#!<%k%I$NCM$K$O7gB,CM$N%^!<%/$,IU$/!%(B + +\item[\hbox{\tt REVERSE}\hfill] +{\tt ITERATE}$B%3%^%s%I$H$^$C$?$/F1$8$3$H$r%(%s%H%j%j%9%H$N5U=g$K<B9T$9$k!%(B + +\item[\hbox{\tt SORT}\hfill] +$BJ8;zNs7?$N%(%s%H%jJQ?t(B{\tt sort.key\$} $B$r;H$C$F%(%s%H%j%j%9%H$r(B +$B%=!<%H$9$k!%(B +$B0z?t$O$J$$!%(B + +\item[\hbox{\tt STRINGS}\hfill] +$BJ8;zNs7?$NBg0hJQ?t$r@k8@$9$k!%(B +$B0z?t$OJQ?tL>$N%j%9%H(B1$B$D$G$"$k!%(B +$B$3$N%3%^%s%I$O%9%?%$%k%U%!%$%kCf$K$$$/$D$"$C$F$b$h$$$,!$JQ?t$O;H$&A0$K(B +$B@k8@$7$J$1$l$P$J$i$J$$!%(B +\end{description} + +\subsection{$BAH$_9~$_4X?t(B} +\label{built-in-fns} + +$BAH$_9~$_4X?t$N@bL@$NA0$K!$AH$_9~$_%*%V%8%'%/%H$D$$$F>/$7@bL@$7$F$*$/!%(B +$BAH$_9~$_$N%(%s%H%jJ8;zNsJQ?t$H$7$F(B{\tt sort.key\$} $B$,$"$j!$(B +$B%=!<%H$r9T$&%9%?%$%k$G$OCM$r@_Dj$7$J$1$l$P$J$i$J$$!%(B +$BAH$_9~$_$N%U%#!<%k%I$H$7$F!$Bh(B4$B@a$G=R$Y$?Aj8_;2>H5!G=$N$?$a$N(B +{\tt crossref}$B$,$"$k!%(B +$B$5$i$K@0?t7?$NBg0hJQ?t(B +{\tt entry.max\$} $B$H(B{\tt global.max\$} $B$,$"$j!$$=$NCM$O(B\BibTeX $B$NFbItDj?t(B +$B$K@_Dj$5$l$F$$$k!%(B +\BibTeX $B$+$i7Y9p%a%C%;!<%8$,=P$J$$$h$&!$(B +$BJ8;zNs$X$NBeF~$NA0$K!$BeF~$9$kJ8;zNsD9$r$3$l$i$NCM$h$jC;$/$7$F(B +$B$*$+$M$P$J$i$J$$!%(B + +$B8=:_AH$_9~$_4X?t$O(B37$B8D$"$k(B\trnote{$BF|K\8lBP1~HG$G$O!$AH$_9~$_4X?t$r(B1$B$D(B +$BDI2C$7$F$$$k$N$G!$(B38$B8D$"$k!%(B}$B!%(B +$B$9$Y$F$NAH$_9~$_4X?t$NL>A0$O:G8e$,(B `{\tt \$}' $B$G=*$k!%(B +$B0J2<$G$O!V(B1$BHVL\!W!$!V(B2$BHVL\!W$H$$$&$N$O%9%?%C%/$+$i%]%C%W$5$l$?=gHV$r0UL#$9$k!%(B +$B!V%j%F%i%k!W$O%9%?%C%/$NMWAG$G$"$j!$@0?tCM!$J8;zNs!$JQ?tL>!$(B +$B4X?tL>!$$"$k$$$O7gB,%U%#!<%k%I$rI=$9FCJL$NCM$N$$$:$l$+$G$"$k!%(B +$B%]%C%W$5$l$?%j%F%i%k$N7?$,8m$C$F$$$k$H(B\BibTeX $B$OJ86g$r$$$C$?8e!$(B +$B4X?t$NJV$9CM$N7?$KBP1~$7$F!$@0?tCM$N(B0$B$"$k$$$O6uJ8;zNs$r%W%C%7%e$9$k!%(B + +\begin{description} + +\item[\hbox{\tt >}\hfill] +2$B$D$N(B($B@0?t(B)$B%j%F%i%k$r%]%C%W$7!$Hf3S$r9T$$!$(B2$BHVL\$,(B1$BHVL\$h$jBg$-$1$l$P(B1$B$r(B +$B$=$&$G$J$1$l$P(B0$B$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt <}\hfill] +$B>e$HF1MM(B($B>.$5$1$l$P(B)$B!%(B + +\item[\hbox{\tt =}\hfill] +$B%9%?%C%/%H%C%W$N(B($B$H$b$K@0?t$"$k$$$OJ8;zNs$N(B) 2$B$D$N%j%F%i%k$r(B +$B%]%C%W$7$FHf3S$7!$Ey$7$1$l$P(B1$B$r!$$=$&$G$J$1$l$P(B0$B$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt +}\hfill] +($B@0?t$N(B)2$B$D$N%j%F%i%k$r%]%C%W$7$=$NOB$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt -}\hfill] +($B@0?t$N(B)2$B$D$N%j%F%i%k$r%]%C%W$7$=$N:9$r%W%C%7%e$9$k!%(B +(2$BHVL\$+$i(B1$BHVL\$r0z$/(B)$B!%(B + +\item[\hbox{\tt *}\hfill] +2$B$D$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$$=$l$i$rO"7k$7$?$b$N$r%W%C%7%e$9$k(B +($B5U=g!$(B2$BHVL\$N8e$K(B1$BHVL\$rO"7k$9$k(B)$B!%(B + +\item[\hbox{\tt :=}\hfill] +2$B$D$N%j%F%i%k$r%]%C%W$7(B1$BHVL\(B($BBg0hJQ?t$+%(%s%H%jJQ?t(B)$B$K(B2$BHVL\$N%j%F%i%k$N(B +$BCM$rBeF~$9$k!%(B + +\item[\hbox{\tt add.period\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$(B`{\tt \}}' $B$G$J$$:G8e$NJ8;z$,(B +`{\tt .}'$\!$, `{\tt ?}'$\!$, `{\tt !}'$B$N$$$:$l$G$b$J$1$l$P(B +`{\tt .}'$B$r:G8e$K2C$($?7k2L$r%W%C%7%e$9$k!%$$$:$l$+$G$"$l$P85$NJ8;zNs$r(B +$B%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$BA43Q$N(B`$B!%(B'$B!$(B`$B!#(B'$B!$(B`$B!)(B'$B!$(B`$B!*(B'$B$N8e$K$b(B `{\tt .}' $B$O2C$($J$$!%(B + +\item[\hbox{\tt call.type\$}\hfill] +$B$=$NL>A0$,%(%s%H%j$N%(%s%H%j7?$NL>A0$G$"$k4X?t$r<B9T$9$k!%(B +$BNc$($P!$%(%s%H%j$N7?$,(B{\tt book}$B$G$"$l$P(B{\tt book}$B$H$$$&4X?t$,<B9T$5$l$k!%(B +{\tt ITERATE}$B%3%^%s%I$N0z?t$H$7$F;XDj$5$l$?>l9g$K$O!$(B{\tt call.type\$} $B$O(B +$B%(%s%H%j$N>pJs$r(B{\tt .bbl}$B%U%!%$%k$K=PNO$9$k!%(B +$BITL@$J%(%s%H%j7?(B($BL$Dj5A$N7?(B)$B$KBP$7$F$O(B{\tt default.type}$B$r<B9T$9$k!%(B +$B$7$?$,$C$F3F!9$NI8=`%(%s%H%j7?$KBP1~$9$k$b$N0J30$K(B{\tt default.type}$B$H$$$&7?$K(B +$BBP1~$9$k4X?t$r(B{\tt READ}$B%3%^%s%I$NA0$KDj5A$7$F$*$+$M$P$J$i$J$$!%(B + +\item[\hbox{\tt change.case\$}\hfill] +2$B$D$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$(B1$BHVL\$N%j%F%i%k$N;XDj$K$7$?$,$C$F!$(B +$B0J2<$K@bL@$9$k7A<0$G!$(B2$BHVL\$NJ8;zNs$NBgJ8;z(B/$B>.J8;zJQ49$r9T$&(B +($BCm0U!'<!J8$G!VJ8;z!W$H$OCf3g8L$N%l%Y%k(B0$B!$:G$b30B&$NCf3g8L$N%l%Y%k$NJ8;z$N(B +$B$3$H$G$"$j!$Bh(B4$B@a$G@bL@$7$?!VFC<lJ8;z!W$r=|$/$=$l0J30$NJ8;z$OJQ49$5$l$J$$(B)$B!%(B +1$BHVL\$N%j%F%i%k$,(B`{\tt t}'$B$G$"$l$P!$J8;zNs$N(B1$BHV;O$a$NJ8;z$*$h$S%3%m%s$N8e$K(B +$B%9%Z!<%9$,(B1$B8D0J>eB3$/J8;zNs$N:G=i$NJ8;z$O$=$N$^$^$G!$$=$l0J30$r>.J8;z$K(B +$BJQ49$9$k!%(B +1$BHVL\$N%j%F%i%k$,(B`{\tt l}'$B$G$"$l$P!$$9$Y$F$NJ8;z$r>.J8;z$KJQ49$9$k!%(B +1$BHVL\$N%j%F%i%k$,(B`{\tt u}'$B$G$"$l$P!$$9$Y$F$NJ8;z$rBgJ8;z$KJQ49$9$k!%(B +$B$=$7$FJQ497k2L$NJ8;zNs$r%W%C%7%e$9$k!%(B +2$B$D$N%j%F%i%k$N7?$,J8;zNs7?$G$J$$>l9g$K$OJ86g$r8@$$!$6uJ8;zNs$r%W%C%7%e$9$k!%(B +$B%j%F%i%k$N7?$O9g$C$F$$$k$,!$JQ49;XDj$,>e5-$N2?$l$G$b$J$$>l9g$K$O!$J86g$r(B +$BIU$1$?8e!$C1$K(B2$BHVL\$NJ8;zNs$r$=$N$^$^$N7A$G%W%C%7%e$9$k(B +($B$b$&(B1$B$D$NCm0U!'JQ49;XDjJ8;z$NBgJ8;z(B/$B>.J8;z$O6hJL$5$l$J$$!%$9$J$o$A(B +{\tt t}$B$H(B{\tt T}$B$OF1$8$b$N$H$5$l$k(B)$B!%(B + +\item[\hbox{\tt chr.to.int\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$$=$ND9$5$,(B1$BJ8;z$G$"$k$3$H(B +$B$r3NG'$7$?8e!$$=$N(BASCII$B%3!<%I$N@0?t$r%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B4A;z%3!<%IJ8;z$KBP1~$9$k$?$a$K!$%j%F%i%k$,4A;z%3!<%IJ8;z$N>l9g$K$O(B +2$B%P%$%H$r(B1$BJ8;z$H?t$(!$CM$H$7$F$O(B1$B%P%$%HL\$N%3!<%ICM(B(EUC$B%3!<%ICM(B)$B$r(B +$B%W%C%7%e$9$k!%$?$@$7(B +$B$3$l$O(B\JBibTeX\ version 0.10$B$H$N8_49@-$N$?$a$K;D$7$?$b$N$G$"$j!$;EMMJQ99(B +$B$5$l$k2DG=@-$,9b$$!%(B + +\item[\hbox{\tt cite\$}\hfill] +$B%(%s%H%j$KBP1~$9$k(B {\verb|\cite|}$B%3%^%s%I$N0z?t$NJ8;zNs$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt duplicate\$}\hfill] +$B%9%?%C%/%H%C%W$N%j%F%i%k$r%]%C%W$7$=$N%3%T!<$r(B2$B$D%W%C%7%e$9$k!%(B + +\item[\hbox{\tt empty\$}\hfill] +$B%9%?%C%/%H%C%W$N%j%F%i%k$r%]%C%W$7!$$=$l$,7gB,%U%#!<%k%I$G$"$k$+!$$"$k$$$O(B +$BJ8;zNsCf$K6uGrJ8;z0J30$,L5$$>l9g$K!$@0?t$N(B1$B$r%W%C%7%e$7!$$=$l0J30$N>l9g$K$O(B +0$B$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt format.name\$}\hfill] +$B%9%?%C%/%H%C%W$N(B3$B$D$N%j%F%i%k(B($B=g$KJ8;zNs!$@0?t!$J8;zNs(B)$B$r%]%C%W$9$k!%(B +$B:G8e$NJ8;zNs%j%F%i%k$,L>A0%j%9%H(B($BMWAG$,8D?ML>$KBP1~(B)$B$G$"$j!$@0?t%j%F%i%k$,(B +$B%j%9%H$N2?HVL\$r<h$j=P$9$N$+$N;XDj$G$"$j!$:G=i$NJ8;zNs%j%F%i%k$,L>A0$r(B +$B$I$NMM$K%U%)!<%^%C%H$9$k$N$+(B($B<!@a$G@bL@$9$k(B)$B$N;XDj$G$"$k!%(B +$B%U%)!<%^%C%H$5$l$?L>A0$NJ8;zNs$r%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B$3$N4X?t$G$OA43Q$N%9%Z!<%9$OH>3Q$N%9%Z!<%9$HF1$8$H$_$J$9(B($B$h$j@53N$K(B +$B$$$&$HA43Q$N%9%Z!<%9$OH>3Q$N%9%Z!<%9$KJQ49$5$l$F=hM}$5$l$k(B)$B!%$^$?!$A43Q$N(B +$B6gE@(B ``$B!$(B'' $B$H(B ``$B!"(B'' $B$b(B ``\verb*| and |'' $B$HF1MM$K07$&$N$G!$(B +$B4A;z%3!<%I;aL>$O6gE@$G6h@Z$C$FJB$Y$k$3$H$,$G$-$k!%(B + + +\item[\hbox{\tt if\$}\hfill] +3$B$D$N%j%F%i%k(B($B=g$K(B2$B$D$N4X?t%j%F%i%k!$@0?t%j%F%i%k(B)$B$r%]%C%W$7!$(B +$B:G8e$N%j%F%i%kCM$N@0?tCM$,(B0$B$h$jBg$-$$;~$K$O(B2$BHVL\$N%j%F%i%k$r<B9T$7!$(B +$B$=$&$G$J$1$l$P(B1$BHVL\$N%j%F%i%k$r<B9T$9$k!%(B + +\item[\hbox{\tt int.to.chr\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($B@0?t(B)$B%j%F%i%k$r%]%C%W$7!$$=$l$r(BASCII$B%3!<%I$H$7$F!$(B +$BBP1~$9$kJ8;z$r(B1$BJ8;z$NJ8;zNs$KJQ49$7$?$b$N$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt int.to.str\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($B@0?t(B)$B%j%F%i%k$r%]%C%W$7!$$=$l$r(B($B0l0U$KDj$^$k(B)$BJ8;zNs$K(B +$BJQ49$7$F%W%C%7%e$9$k!%(B + +\item[\hbox{\tt missing\$}\hfill] +$B%9%?%C%/%H%C%W$r%]%C%W$7!$$=$l$,7gB,%U%#!<%k%I$G$"$l$P@0?t$N(B1$B$r!$$=$&$G(B +$B$J$1$l$P(B0$B$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt newline\$}\hfill] +$B=PNO%P%C%U%!$KC_@Q$5$l$F$$$k>pJs$r(B{\tt bbl}$B%U%!%$%k$K=q$-=P$9!%(B +$B=PNO%P%C%U%!$,6u$G$"$k>l9g$K8B$j6u9T$r=q$-=P$9!%(B +{\tt write\$} $B$OE,Ev$K2~9T$r9T$J$&$+$i!$6u9T$r=q$-=P$9;~!$$"$k$$$O(B +$BL@<(E*$K2~9T$7$?$$;~$@$1$K!$$3$N4X?t$r;H$&$N$,$h$$!%(B + +\item[\hbox{\tt num.names\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7J8;zNsCf$NL>A0$N?t!$(B +$B$9$J$o$A!$BgJ8;z(B/$B>.J8;z$rL5;k$7$F!$Cf3g8L$N%l%Y%k(B0$B$N0LCV$K$"$j!$A08e$,(B +$B6uGrJ8;z$G$"$k(B``and''$BItJ,J8;zNs$N?t$K(B1$B$r2C$($?CM!$(B +$B$r%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B$3$N4X?t$G$OA43Q$N%9%Z!<%9$OH>3Q$N%9%Z!<%9$HF1$8$H$_$J$9(B($B$h$j@53N$K(B +$B$$$&$HA43Q$N%9%Z!<%9$OH>3Q$N%9%Z!<%9$KJQ49$5$l$F=hM}$5$l$k(B)$B!%$^$?!$A43Q$N(B +$B6gE@(B ``$B!$(B'' $B$H(B ``$B!"(B'' $B$b(B ``\verb*| and |'' $B$HF1MM$K07$&$N$G!$(B +$B4A;z%3!<%I;aL>$O6gE@$G6h@Z$C$FJB$Y$k$3$H$,$G$-$k!%(B + +\item[\hbox{\tt pop\$}\hfill] +$B%9%?%C%/%H%C%W$r%]%C%W$9$k$,%W%j%s%H$O$7$J$$!%ITI,MW$J%j%F%i%k$r(B +$B<h$j=|$/$N$K;H$&!%(B + +\item[\hbox{\tt preamble\$}\hfill] +$B%G!<%?%Y!<%9%U%!%$%k$+$iFI$_9~$s$@(B{\tt @PREAMBLE}$B$9$Y$F$rO"7k$7$?J8;zNs$r(B +$B%W%C%7%e$9$k!%(B + +\item[\hbox{\tt purify\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$(B +$B6uGrJ8;z!$%O%$%U%s(B`\verb|-|'$B$H%?%$(B`\verb|~|' +($B$3$l$i$O%9%Z!<%9$KJQ49$5$l$k(B)$B$N$$$:$l$G$b$J$$%"%k%U%!%Y%C%H(B +$B0J30$NJ8;z!$!VFC<lJ8;z!W$KIU?o$7$?@)8fJ8;zNs(B($B%3%^%s%I(B; control sequence)$B$K(B +$B4^$^$l$k%"%k%U%!%Y%C%HJ8;z$r=|5n$7$?J8;zNs$r%W%C%7%e$9$k(B\trnote{$B4A;z%3!<%I(B +$BJ8;zNs$J$iJQ2=$7$J$$!%(B}$B!%(B + +\item[\hbox{\tt quote\$}\hfill] +$B%@%V%k%/%)!<%HJ8;z(B(`\verb|"|')1$BJ8;z$+$i$J$kJ8;zNs$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt skip\$}\hfill] +$B2?$b$7$J$$!%(B + +\item[\hbox{\tt stack\$}\hfill] +$B%9%?%C%/$NFbMF$rA4It%]%C%W$7$F%W%j%s%H$9$k!%%9%?%$%k:n@.;~$N%G%P%C%0MQ!%(B + +\item[\hbox{\tt substring\$}\hfill] +$B%9%?%C%/%H%C%W$N(B3$B$D$N%j%F%i%k(B($B=g$KD9$5(B{\it len}$B!$3+;O0LCV(B{\it start}$B$N(B +2$B$D$N@0?t%j%F%i%k!$J8;zNs%j%F%i%k(B)$B$r%]%C%W$9$k!%(B +{\it start}$B$,@5$J$i$PJ8;zNs$N@hF,$+$i?t$($F!$(B +($B:G=i$,(B1$BJ8;zL\$H$7$F(B){\it start}$BJ8;zL\$+$i$N!$(B +{\it start}$B$,Ii$J$i$PJ8;zNs$N=*$j$+$i?t$($F(B($B:G8e$NJ8;z$,(B1$BJ8;zL\$H$7$F(B)$B!$(B +$-${\it start}$BJ8;zL\$+$i$N!$(B +$BO"B3$9$k(B($B9b!9(B){\it len}$BJ8;z$NItJ,J8;zNs$r%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B$3$N4X?t$O(B1$BJ8;z$O(B1$B%P%$%H$+$i$J$k$b$N$H$7$F=hM}$9$k$N$G!$4A;z%3!<%I(B +$BJ8;zNs$G$O;XDj$7$?(B +$BJ8;z?t$NH>J,$N?t$N4A;z%3!<%I(B +$B$,F@$i$l$k!%$^$?4A;z%3!<%I$N(B1$BJ8;z$N4V$G@Z$i$l$J$$$h$&$K(B +$B3+;O0LCV!$J8;z?t(B($B%P%$%H?t(B)$B$ND4@0$r9T$J$&!%D4@0$O3+;O0LCV$,4A;z%3!<%I$N(B1$B%P%$%HL\(B +$B$K0lCW$7$F$$$l$P!%3+;O0LCV$O$=$N$^$^!$(B2$B%P%$%HL\$G$"$l$P(B1$B%P%$%HL\$+$i<h$j=P$9(B +$B$h$&$KD4@0$9$k!%=*N;0LCV$,4A;z%3!<%I$N(B1$B%P%$%HL\$G$"$l$P(B2$B%P%$%HL\$^$G<h$j=P$9(B +$B$h$&$KD4@0$9$k!%$7$?$,$C$F;XDj$7$?D9$5$h$j:GBg(B2$B%P%$%HD9$$J8;zNs$H$J$k!%(B +$B$3$l$OF|K\8lMQ$G$J$$%9%?%$%k%U%!%$%k$r;H$C$?>l9g$G$b$=$l$J$j$N=PNO$,F@$i$l$k(B +$B$h$&$K$9$k$?$a$G$"$k!%(B + +\item[\hbox{\tt swap\$}\hfill] +$B%9%?%C%/%H%C%W$N(B2$B$D$N%j%F%i%k$N=g=x$rF~$lBX$($k!%(B + +\item[\hbox{\tt text.length\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$(B +$B%"%/%;%s%HIU$-J8;z(B($B@53N$K$OBh(B4$B@a$GDj5A$5$l$F$$$k!VFC<lJ8;z!W(B)$B$O!$(B +($BBP1~$9$k1&Cf3g8L$,7g$1$F$$$F$b(B)$B!$(B +1$BJ8;z$H$7$F?t$($?;~$NJ8;z?t$r%W%C%7%e$9$k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B4A;z%3!<%I(B1$BJ8;z$O(B2$BJ8;z$H?t$($k!%(B + +\item[\hbox{\tt text.prefix\$}\hfill] +2$B$D$N%j%F%i%k(B($B=g$K@0?t%j%F%i%k(B{\it len}$B!$J8;zNs%j%F%i%k(B)$B$r%]%C%W$7!$(B +$BJ8;zNs$N@hF,$+$i(B($B9b!9(B){\it len}$BJ8;z$NO"B3$7$?J8;zNs$r%W%C%7%e$9$k!%(B +{\tt substring\$} $B$K;w$F$$$k$,!$$3$N4X?t$G$O!$!VFC<lJ8;z!W$O(B +$BBP1~$9$k1&Cf3g8L$,7g$1$F$$$F$b!$J#?t$N(BASCII$BJ8;z$+$i9=@.$5$l$F$$$F$b!$(B +1$BJ8;z$H$7$F?t$($k!%(B + +{\dg \JBibTeX $B$G$NCm0U(B}$B!'(B +$B$3$N4X?t$G$OFC<lJ8;z0J30$NJ8;z$O!$(B1$BJ8;z$O(B1$B%P%$%H$+$i$J$k$b$N$H$7$F(B +$B=hM}$9$k$N$G!$4A;z%3!<%IJ8;zNs$G$O;XDj$7$?J8;z?t$NH>J,$N?t$N4A;z$+$i$J$k(B +$BJ8;zNs$,F@$i$l$k!%(B +$B$^$?4A;z%3!<%I$N(B1$BJ8;z$N4V$G@Z$i$l$J$$$h$&$K!$=*N;0LCV$,4A;z%3!<%I$N(B +1$B%P%$%HL\$G$"$l$P(B2$B%P%$%HL\$^$G<h$j=P$9$h$&$KD4@0$9$k!%(B +$B$7$?$,$C$F;XDj$7$?D9$5$h$j:GBg(B1$B%P%$%HD9$$J8;zNs$H$J$k!%(B +$B$3$l$OF|K\8lMQ$G$J$$%9%?%$%k%U%!%$%k$r;H$C$?>l9g$G$b$=$l$J$j$N=PNO$,F@$i$l$k(B +$B$h$&$K$9$k$?$a$G$"$k(B($BNc$($P(B{\tt alpha}$B$G$O%i%Y%k$rCx<TL>$N@+$N@hF,(B3$BJ8;z(B +$B$rMQ$$$F:n@.$9$k$,!$4A;z%3!<%I$NCf4V$G=*$i$J$$$h$&$K(B2$BJ8;z$K$7$F$7$^$&$H(B +$B>pJsNL$,>/$J$/$J$k!$$^$?4A;z%3!<%I$OFC<lJ8;z$H9M$($F=hM}$9$k$H%i%Y%k$,D9$/(B +$B$J$j2a$.$k$N$G$3$N$h$&$J;EMM$H$7$?(B)$B!%(B + +\item[\hbox{\tt top\$}\hfill] +$B%9%?%C%/%H%C%W$r%]%C%W$7$=$NFbMF$rC<Kv$H%m%0%U%!%$%k(B{\tt blg}$B$K%W%j%s%H$9$k!%(B +$B%G%P%C%0$KLrN)$D!%(B + +\item[\hbox{\tt type\$}\hfill] +$B8=:_$N%(%s%H%j$N7?(B({\tt book, article}$B$J$I(B)$B$NJ8;zNs$r%W%C%7%e$9$k!%(B +$BCN$i$J$$7?$"$k$$$OL$Dj5A$N7?$G$"$l$P6uJ8;zNs$r%W%C%7%e$9$k!%(B + +\item[\hbox{\tt warning\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs7?(B)$B%j%F%i%k$r%]%C%W$7!$(B +$B7Y9p%a%C%;!<%8$G$"$k$3$H$r<($7$F%W%j%s%H$9$k!%(B +$B$^$?!$=PNO$7$?7Y9p%a%C%;!<%8$N?t$r(B1$BA}$d$9!%(B + +\item[\hbox{\tt while\$}\hfill] +2$B$D$N(B($B4X?t(B)$B%j%F%i%k$r%]%C%W$7!$:G=i$N4X?t$r<B9T$7$?7k2L$G$"$k%9%?%C%/%H%C%W(B +$B$NCM$,(B0$B$h$jBg$-$$4V!$(B2$BHVL\$N4X?t$r7+JV$7<B9T$9$k!%(B + +\item[\hbox{\tt width\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs7?(B)$B%j%F%i%k$r%]%C%W$7!$$=$N0u;zI}$r$"$kAjBPC10L$K(B +$B4p$E$$$F7W;;$7$?@0?tCM$r%W%C%7%e$9$k(B +($B8=:_$O(B1987$BG/(B6$B7n%P!<%8%g%s$N(B$cmr10$$B%U%)%s%H$K4p$E$$$F!$(B1/100$B%]%$%s%H$r(B +1$B$H$7$F7W;;$9$k(B\trnote{$B4A;z%3!<%I$NI}>pJs$O@53N$G$J$$$N$GCm0U$,I,MW!%(B})$B!%(B +$B$3$N4X?t$OJ8;zNs$rJ8;zDL$j$K07$&!$$9$J$o$A!$(B($BBP1~$9$k1&Cf3g8L$,7g$1$F$$$F$b(B) +$B!VFC<lJ8;z!W$OFCJL$K07$&0J30$O!$(B +$B$?$H$($"$kJ8;z$,(B\TeX $B$GFCJL$J0UL#$r;}$C$F$$$F$b!$(B +$BJ8;z$O$=$N$^$^$N7A$G%W%j%s%H$5$l$k$b$N$H$7$FI}$r7W;;$9$k!%(B +$B%i%Y%kJ8;zNs$NI}$rHf3S$9$k$?$a$N$b$N$G$"$k!%(B + +\item[\hbox{\tt write\$}\hfill] +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$=PNO%P%C%U%!$K=q$-=P$9(B($B$=$N7k2L!$(B +$B%P%C%U%!$,0lGU$K$J$l$P(B{\tt bbl}$B%U%!%$%k$K$b=q$-=P$5$l$k(B)$B!%(B + +\item[\hbox{\tt is.kanji.str\$}\hfill] +\JBibTeX $B$N$_$GDj5A$5$l$F$$$kAH9~$_4X?t$G$"$j!$(B +$B%9%?%C%/%H%C%W$N(B($BJ8;zNs(B)$B%j%F%i%k$r%]%C%W$7!$J8;zNsCf$KF|K\8lJ8;z(B($BA43QJ8;z(B)$B$,(B +$B4^$^$l$F$$$l$P(B($B@0?t$N(B)1$B$r!$$=$&$G$J$1$l$P(B0$B$r%W%C%7%e$9$k!%(B + +\end{description} + +$BAH9~$_4X?t(B{\tt while\$} $B$H(B{\tt if\$} $B$G$O%9%?%C%/>e$K(B2$B$D$N4X?t%j%F%i%k$,(B +$BI,MW$G$"$k!%(B +$B$3$l$i$O4X?tL>$NA0$K%7%s%0%k%/%)!<%H$rIU$1$k$+!$(B +{\tt FUNCTION}$B%3%^%s%I$r;H$C$F4X?t$rDj5A$7$?$/$J$1$l$P!$$=$NDj5A$r(B +({\tt FUNCTION}$B%3%^%s%I$N(B2$BHVL\$N0z?t$rCf3g8L$G0O$s$G(B)$B$=$N$^$^=q$1$P$h$$!%(B +$BNc$($P<!$K<($94X?t$N0lItJ,$O!$(B{\tt label}$B$,6uJ8;zNs$G$J$1$l$P!$(B +$B$=$N:G8e$KJ8;z(B`{\tt a}'$B$rIU$12C$($k!%(B + +\begin{verbatim} + . . . + label "" = + 'skip$ + { label "a" * 'label := } + if$ + . . . +\end{verbatim} + +$BL>A0$r%/%)!<%H$9$k4X?t$O!$(B{\tt skip\$} $B$N$h$&$JAH9~$_4X?t$G$"$kI,MW$O$J$/!$(B +$BNc$($P!$%U%#!<%k%I$G$b!$<+J,$GDj5A$7$?4X?t$G$b$h$$!%(B + + +\subsection{$BL>A0$N%U%)!<%^%C%H(B} + +$BL>A0$K$O2?$,F~$C$F$$$k$N$+(B? $B$3$l$K$D$$$F$OBh(B4$B@a$G>/$7>\$7$/@bL@$7$?!%(B +$BL>A0$O!VL>(B(first)$B!W%Q!<%H(B, von$B%Q!<%H(B, $B!V@+(B(last)$B!W%Q!<%H$H(BJr$B%Q!<%H$+$i(B +$B$J$j!$$=$l$>$l$OL>A0%H!<%/%s$N%j%9%H$+$i$J$j!$$=$l$>$l$N%Q!<%H$O(B +$B6u$+$b$7$l$J$$$,!$L>A0$,6u$G$J$1$l$P@+%Q!<%H$OI,$:6u$G$O$J$$!%(B +$B$3$N>.@a$G$OAH9~$_4X?t$N(B{\tt format.name\$} $B$K;XDj$9$k%U%)!<%^%C%H;XDjJ8;z(B +$B$r@bL@$9$k!%(B + +$BNc$H$7$F!$Hs>o$KD9$$L>A0$r9M$($F$_$h$&!%(B +$B%G!<%?%Y!<%9$N%(%s%H%j(B~\cite{prime-number-theorem}$B$K<!$N%U%#!<%k%I$,(B +$B$"$k$H$7$h$&!%(B +\begin{verbatim} + author = "Charles Louis Xavier Joseph de la Vall{\'e}e Poussin" +\end{verbatim} +$B$^$?!V@+(B $B%+%s%^(B $B%$%K%7%c%k!W(B(``last name comma initials'')$B$N=g$GL>A0$r(B +$B%U%)!<%^%C%H$7$?$$$H$7$h$&!%(B +$B<!$N$h$&$J%U%)!<%^%C%H;XDjJ8;zNs$r;H$&$H!$(B +\begin{verbatim} + "{vv~}{ll}{, jj}{, f}?" +\end{verbatim} +\BibTeX $B$O%U%)!<%^%C%H$5$l$?J8;zNs$H$7$F<!$r:n$j=P$9!%(B +\begin{verbatim} + de~la Vall{\'e}e~Poussin, C.~L. X.~J? +\end{verbatim} + +$B$3$NNc$r$b$C$H>\$7$/8+$F$_$h$&!%(B +$B$3$N%U%)!<%^%C%H;XDjJ8;zNs$K$O!$L>A0$N$=$l$>$l$N9=@.MWAG$K(B +$BBP1~$9$k!$Cf3g8L%l%Y%k$,(B1$B$N(B4$B$D$N(B{\dg $BCGJR(B}({\em pieces\/})$B$,$"$k!%(B +$BBP1~$9$k9=@.MWAG$,$J$1$l$P(B($B$3$NL>A0$G$O(BJr$BMWAG(B)$B!$$=$NCGJR$NCf$N$9$Y$F$,(B +$BL5;k$5$l$k!%(B +$BCf3g8L$N%l%Y%k(B0$B$K$"$k$b$N$O(B($B$3$NNc$G$O!$$?$V$s%?%$%W%_%9$G$"$m$&$,!$(B +`{\tt ?}'$B$NJ8;z$O(B)$B$=$N$^$^$N7A$G=PNO$5$l$k$,!$(B +$B$3$N5!G=$O$"$^$j;H$o$J$$$G$"$m$&!%(B + +$B%U%)!<%^%C%H;XDj$NItJ,Cf$G$OFs=EJ8;z(B(double letter)$B$O(B +$B9=@.MWAG$N$9$Y$F$r;H$&$3$H$r!$(B +$BC1J8;z(B(single letter)$B$O>JN,7A$K$7$?$b$N$r;H$&$3$H$r(B\BibTeX $B$K;XDj$9$k!%(B +$B$3$l$i$N;XDjJ8;z$OCf3g8L$N%l%Y%k(B1$B$K$J$1$l$P$J$i$:!$$=$l0J30$NJ8;z$O(B( +$B8e$G@bL@$7$F$"$kJ8;z0J30$N$[$H$s$I$9$Y$F$NJ8;z$O(B)$B$=$N$^$^$N7A$G;H$o$l$k!%(B +von$B%Q!<%H$N:G8e$K$"$k%?%$(B(\verb|~|)$B$OG$0U%?%$$G$"$j!$(B\BibTeX $B$,I,MW$HH=CG(B +$B$7$?>l9g$K$N$_=PNO$5$l!$$=$&$G$J$1$l$P%9%Z!<%9$H$7$F=PNO$5$l$k!%(B +$BK\Ev$K%?%$$r=PNO$7$?$$$N$G$"$l$P(B2$B$D=q$$$F$*$1$P!$$D$^$j(B{\verb|{vv~~}|}$B$H(B +$B$7$F$*$1$P(B(1$B$D$@$1(B)$B=PNO$5$l$k!%(B +$BCGJR$N:G8e$NJ8;z$G$"$k%?%$$OG$0U%?%$$H$5$l$k$,!$$=$l0J30$ODL>o$N(B +$BJ8;z$H$7$F07$o$l$k!%(B + +\BibTeX $B$OL>A0%H!<%/%s$N(B{\dg $B4V$K(B}$B%G%U%)!<%k%H$N6h@Z$jJ8;zNs$r=q$-=P$9!%(B +$B$3$l$O%9%Z!<%9$+%?%$$N$I$A$i$+E,$7$?J}!$$"$k$$$O>JN,7A%H!<%/%s$G$O(B +$B%T%j%*%I$N8e$K%9%Z!<%9$+%?%$$NE,$7$?J}$rIU$1$?$b$N$G$"$k!%(B +$B$7$+$7%U%)!<%^%C%H;XDj$N:G8e$N%H!<%/%s$N8e$K$O(B +$B%G%U%)!<%k%H6h@Z$jJ8;zNs$r=q$-=P$5$J$$$+$i!$(B +$B@h$NNc$G8@$($P(B`J'$B$N8e$K$O%T%j%*%I$OIU$+$J$$!%(B +$B$7$?$,$C$F<!$N$h$&$K;XDj$7$F!$(B +\begin{verbatim} + "{vv~}{ll}{, jj}{, f.}" +\end{verbatim} +$BA0$N=PNONc$N5?LdId$r%T%j%*%I$KCV$-49$($?%U%)!<%^%C%H7k2L$rF@$k$3$H$,$G$-$k!%(B +$BL>A0$K!VL>!W%Q!<%H$,$J$$>l9g$KBP1~$9$k$h$&$K!$%T%j%*%I$O(B +$B5?LdId$N0LCV$G$J$/!VL>!WCGJR$NCf$KCV$+$M$P$J$i$J$$$3$H$KCm0U$7$h$&!%(B + +\BibTeX $B$N%G%U%)!<%k%H$N6h@Z$jJ8;z$rCV$-49$($?$$$N$J$i!$L@<(E*$K;XDj(B +$B$9$kI,MW$,$"$k!%(B +$BNc$($P(Bvon$B%Q!<%H$H@+%Q!<%H$N$9$Y$F$N%H!<%/%s$N@hF,J8;z$r!$4V$K%9%Z!<%9$r(B +$BCV$+$:$KO"7k$7$?%i%Y%k$r:n$j$?$$$N$G$"$l$P!$(B +$B<!$N$h$&$K;XDj$7$J$1$l$P$J$i$J$$!%(B +\begin{verbatim} + "{v{}}{l{}}" +\end{verbatim} +$B$3$&$9$l$P%U%)!<%^%C%H7k2L$NJ8;zNs$H$7$F(B`{\tt dlVP}'$B$,F@$i$l$k!%(B +$BCV$-49$($?$$$9$Y$F$NItJ,Kh$K;XDj$,I,MW$G$"$j(B($B$3$NNc$G$ON>J}$K6uJ8;zNs$,(B +$B;XDj$5$l$F$$$k(B)$B!$;XDj$OC1J8;z!$Fs=EJ8;z$N$9$08e$K$J$1$l$P$J$i$J$$!%(B +$B%U%)!<%^%C%H;XDjJ8;zNs$NCf3g8L$N%l%Y%k(B1$B$NCf$G$O!$(B +$B0J>e$G=R$Y$?J8;z0J30$r=q$/$3$H$O$G$-$J$$!%(B + +{\dg\noindent\JBibTeX $B$G$NCm0UE@(B}$B!'(B + +\begin{itemize} +\item $B4A;z%3!<%II=5-$5$l$?L>A0$G$O!$@+$HL>$N4V$K(B +$B%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$rF~$l$F$*$1$P!$(B`{\tt f}'$B$O(BFamily name($B@+(B)$B$K!$(B +`{\tt l}'$B$O(BLast-token($BL>(B)$B$KBP1~$9$k$3$H$K$J$k$N$G!$DL>o$N(B +$BI=5-=g$KL>A0$,=q$1$k!%$7$+$7%9%?%$%k$N:n@.$G$OCm0U$,I,MW$G$"$k!%(B +$B$3$l$O(B{\tt format.name\$} $B$r40A4$JF|K\8lBP1~HG$H$7$F$$$J$$$+$i$G$"$k$,!$(B +$B<B:]$KF|K\8lBP1~$N%9%?%$%k%U%!%$%k$r:n@.$7$?7P83$+$i$$$&$H!$4A;z%3!<%II=5-(B +$B$5$l$?L>A0$H$=$l0J30$NL>A0$KBP$7$F!$F1$8%U%)!<%^%C%H;XDj$G(B +{\tt format.name\$} $B$r8F$S=P$9$3$H$OKX$I$J$$$N$G!$$"$($F$3$N$^$^$K(B +$B$7$F$"$k!%$7$+$7:.Mp$N<o$+$b$7$l$J$$!%(B + +\item {\tt jabbrv}$B$G@+$N$_$r=PNO$G$-$k$h$&$K$J$I$NL\E*$G!$(B +\JBibTeX\ ver. 0.20$B0J9_$G$O(B +$B@+$HL>$N4V$K%9%Z!<%9(B($BH>3Q$G$bA43Q$G$b(B)$B$rCV$/$3$H$rI8=`$H$7$F$$$k!%(B +$B$7$+$7%9%Z!<%9$,$J$$>l9g$K$b7k2L$,$*$+$7$/$J$i$J$$$h$&$K!$%U%)!<%^%C%H;XDj(B +$B$K$OCm0U$,I,MW$G$"$k!%Nc$($PF|K\8l%9%?%$%k$NCf$G$O<!$N$h$&$J%3!<%G%#%s%0$r(B +$B9T$J$C$F$$$k!%(B + +{\baselineskip=11pt +\begin{verbatim} +editor is.kanji.str$ % $B4A;z%3!<%I$NJT=8<T(B? + {editor #1 "{ff}" format.name$ duplicate$ % $B@+$r<h$j=P$9(B + empty$ % $B6u(B?($B@+$HL>$N4V$K6uGr$,$J$$(B) + {pop$ editor #1 "{ll}" format.name$} % Last token$B$r<h$j=P$9(B + 'skip$ % noop + if$ + } + {editor #1 "{vv~}{ll}" format.name$} % $B1QJ8JT=8<T(B +if$ +\end{verbatim} +} +\end{itemize} + +\subsection{\JBibTeX $B$NI8=`%9%?%$%k(B} + +\JBibTeX $B$NI8=`%9%?%$%k$H$7$F$O(B{\tt plain, alpha, abbrv, unsrt}$B$KBP1~$7$F(B +{\tt jplain, jalpha,jabbrv,\linebreak junsrt}$B$,:n@.$5$l$F$$$k!%(B +$B$5$i$K>pJs=hM}3X2qO@J8;o(B{\tt tipsj}$B!$>pJs=hM}3X2q2$J8O@J8;o(B{\tt jipsj}$B!$(B +$BEE;R>pJsDL?.3X2qO@J8;o(B{\tt tieic}$B!$F|K\%*%Z%l!<%7%g%s%:%j%5!<%A3X2qO@J8;o(B +{\tt jorsj}$B!$?M9)CNG=3X2q;o(B{\tt jsai}$B!$%=%U%H%&%'%"2J3X2q;o(B{\tt jssst}$BMQ$N(B +$B%9%?%$%k$b:n@.$5$l$F$$$k!%$3$l$i$N%9%?%$%k$G(B +$B9T$J$C$F$$$kF|K\8lBP1~$N<g$JJQ99$O0J2<$NDL$j$G$"$k!%>\$7$/$O(B{\tt jbtxbst.doc} +$B$r;2>H$5$l$?$$!%(B + +\begin{enumerate} +\item $BCx<TL>$,F|K\8l$+$I$&$+$r(B{\tt is.kanji.str\$} $B$r;H$C$FH=Dj$7!$(B +$BL>A0$N%U%)!<%^%C%H$NJ}K!$rJQ$($k!%(B + +\item $BCx:nL>$KF|K\8l$,4^$^$l$k>l9g$K$O6/D4;XDj$rIU$1$J$$!%(B + +\item $B%Z!<%8HO0O;XDj$r(B{\tt Pages}$B$+$i(B{\tt pp.\ }$B$KJQ99$7$?!%(B + +\item {\tt yomi}$B%U%#!<%k%I$,$"$l$P!$$=$N>pJs$r%=!<%F%#%s%0%-!<$r:n$k;~$K(B +$BCx<TL>!$JT=8<TL>$NBe$j$K;H$&!%(B +\end{enumerate} + +\baselineskip=16pt +\bibliography{jbtxdoc} +\bibliographystyle{jalpha} +\end{document} diff --git a/biblio/pbibtex/base/jipsj.bst b/biblio/pbibtex/base/jipsj.bst new file mode 100644 index 0000000000..abdb85040e --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jname.bst b/biblio/pbibtex/base/jname.bst new file mode 100644 index 0000000000..29d5b050ff --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jorsj.bst b/biblio/pbibtex/base/jorsj.bst new file mode 100644 index 0000000000..266016e8ec --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jplain.bst b/biblio/pbibtex/base/jplain.bst new file mode 100644 index 0000000000..7fa9f8f74e --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/junsrt.bst b/biblio/pbibtex/base/junsrt.bst new file mode 100644 index 0000000000..51619ad423 --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/jxampl.bib b/biblio/pbibtex/base/jxampl.bib new file mode 100644 index 0000000000..3ae16ef588 --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/tieice.bst b/biblio/pbibtex/base/tieice.bst new file mode 100644 index 0000000000..b6731d3c46 --- /dev/null +++ b/biblio/pbibtex/base/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/biblio/pbibtex/base/tipsj.bst b/biblio/pbibtex/base/tipsj.bst new file mode 100644 index 0000000000..84d69a7cf6 --- /dev/null +++ b/biblio/pbibtex/base/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} |