summaryrefslogtreecommitdiff
path: root/Build/source/extra/bibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-12-14 18:06:52 +0000
committerKarl Berry <karl@freefriends.org>2010-12-14 18:06:52 +0000
commitd4169644c581342b4c05a04b0c6b6ce02c83336a (patch)
treedde112c4bafe508c19ed840762b7850e4efe8aee /Build/source/extra/bibtex
parenta5490576b8d9310bacaad84ac54b91ed6c1192be (diff)
8-Dec-2010 update of all bibtex files to clarify license
git-svn-id: svn://tug.org/texlive/trunk@20740 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/extra/bibtex')
-rw-r--r--Build/source/extra/bibtex/Makefile67
-rw-r--r--Build/source/extra/bibtex/README36
-rw-r--r--Build/source/extra/bibtex/abbrv.bst16
-rw-r--r--Build/source/extra/bibtex/acm.bst376
-rw-r--r--Build/source/extra/bibtex/alpha.bst16
-rw-r--r--Build/source/extra/bibtex/apalike.bst388
-rw-r--r--Build/source/extra/bibtex/apalike.doc60
-rw-r--r--Build/source/extra/bibtex/apalike.sty61
-rw-r--r--Build/source/extra/bibtex/apalike.tex38
-rw-r--r--Build/source/extra/bibtex/bibtex.174
-rw-r--r--Build/source/extra/bibtex/bibtex.cms-changes253
-rw-r--r--Build/source/extra/bibtex/bibtex.ins52
-rw-r--r--Build/source/extra/bibtex/bibtex.tops20-changes113
-rw-r--r--Build/source/extra/bibtex/bibtex.vms-changes277
-rw-r--r--Build/source/extra/bibtex/bibtex.web16
-rw-r--r--Build/source/extra/bibtex/btxbst.doc22
-rw-r--r--Build/source/extra/bibtex/btxdoc.aux41
-rw-r--r--Build/source/extra/bibtex/btxdoc.bbl23
-rw-r--r--Build/source/extra/bibtex/btxdoc.bib5
-rw-r--r--Build/source/extra/bibtex/btxdoc.pdfbin0 -> 187656 bytes
-rw-r--r--Build/source/extra/bibtex/btxdoc.tex7
-rw-r--r--Build/source/extra/bibtex/btxdoc.xua28
-rw-r--r--Build/source/extra/bibtex/btxhak.pdfbin0 -> 166659 bytes
-rw-r--r--Build/source/extra/bibtex/btxhak.tex5
-rw-r--r--Build/source/extra/bibtex/btxmac.tex842
-rw-r--r--Build/source/extra/bibtex/ieeetr.bst286
-rw-r--r--Build/source/extra/bibtex/plain.bst16
-rw-r--r--Build/source/extra/bibtex/siam.bst310
-rw-r--r--Build/source/extra/bibtex/unsrt.bst16
-rw-r--r--Build/source/extra/bibtex/xampl.bib5
30 files changed, 930 insertions, 2519 deletions
diff --git a/Build/source/extra/bibtex/Makefile b/Build/source/extra/bibtex/Makefile
new file mode 100644
index 00000000000..44a6e34a4e5
--- /dev/null
+++ b/Build/source/extra/bibtex/Makefile
@@ -0,0 +1,67 @@
+# (Public domain. Originally written by Karl Berry, 2010.)
+# This is just about creating the derived bst files, checking for
+# changes, making the distribution for CTAN, etc. It does not actually
+# build a BibTeX executable. So we keep it in the source repository.
+# We're using the TL repo (source/extra/bibtex) purely for convenience.
+
+all: pdf bst
+
+#############################################################################
+# documentation
+#
+pdflatex = pdflatex --file-line-error
+bibtex = bibtex
+
+%.pdf: %.tex %.bbl
+ $(pdflatex) '\nonstopmode \input $<'
+
+%.bbl: %.tex %.aux btxdoc.bib
+ $(bibtex) $*
+ $(pdflatex) '\nonstopmode \input $<'
+
+%.aux: %.tex
+ $(pdflatex) '\nonstopmode \input $<'
+
+pdf: btxdoc.pdf btxhak.pdf
+
+.PRECIOUS: %.bbl
+
+#############################################################################
+#
+# bst files
+#
+bst: plain.bst unsrt.bst alpha.bst abbrv.bst
+
+%.bst: btxbst.doc
+# First line, substitute in bare style name.
+ echo "% BibTeX standard bibliography style \``basename $@ .bst`'" >$@
+#
+# About this cpp invocation:
+# -traditional so bst integers #1, etc., don't get preprocessed away.
+# -w since we know that we have unterminated ', ec.
+# -P since we don't want #line in the output.
+# -DBSTNAME taken from the target.
+#
+# Then we grep away the comments without leading whitespace,
+# and fold multiple blank lines into one.
+ cpp -traditional -w -P -D`basename $@ .bst|tr a-z A-Z` btxbst.doc \
+ | grep -v '^%' \
+ | uniq \
+ >>$@
+#
+# For diff purposes, expand the original (which might have tabs)
+# to the result (which shouldn't have any).
+ -grep ' ' $@
+ -expand ORIG/$@ | diff - $@
+
+#############################################################################
+check:
+ -grep ' ' [a-z]*
+
+dist: all
+ rm -f *.blg *.log bibtex.tar.gz
+ tar --exclude=\*.aux --exclude=\*.bbl -cvzf bibtex.tar.gz README *.*
+
+clean:
+ rm -f *.blg *.log *.aux *.bbl bibtex.tar.gz
+ rm -f abbrv.bst alpha.bst plain.bst unsrt.bst
diff --git a/Build/source/extra/bibtex/README b/Build/source/extra/bibtex/README
new file mode 100644
index 00000000000..53e7cdb4d9f
--- /dev/null
+++ b/Build/source/extra/bibtex/README
@@ -0,0 +1,36 @@
+The intent is for the BibTeX program to be distributed under the same
+terms as Knuth's TeX program, and for the BibTeX support files
+to be distributed under the same terms as Knuth's support files.
+
+If questions or problems, please write to biblio@tug.org, the general
+mailing list for BibTeX (and other TeX/bibliography systems). For
+archives and subscription information, see http://lists.tug.org/biblio.
+
+Files distributed here:
+bibtex.web the source file for BibTeX
+btxdoc.tex documentation, and also sample input for BibTeX implementors
+btxdoc.pdf generated output for browsing
+btxhak.tex documentation for style designers
+btxdoc.bib the bibliography database file for btxdoc.tex
+btxhak.pdf generated output for browsing
+xampl.bib a database file with an example of every standard entry type
+
+btxbst.doc the documentation and template for the four standard
+ bibliography styles:
+abbrv.bst abbreviated
+alpha.bst alphabetic
+plain.bst plain
+unsrt.bst unsorted
+
+The four semi-standard bibliography styles:
+acm.bst ACM Transactions
+apalike.bst APA-like
+ieeetr.bst IEEE Transactions
+siam.bst SIAM
+
+Support files for apalike:
+apalike.sty LaTeX support for apalike.bst
+apalike.tex Plain TeX support for apalike.bst (uses btxmac.tex)
+
+--Karl Berry and Oren Patashnik (written 2010).
+(This file is public domain.)
diff --git a/Build/source/extra/bibtex/abbrv.bst b/Build/source/extra/bibtex/abbrv.bst
index 740f569f860..23fae1a28cc 100644
--- a/Build/source/extra/bibtex/abbrv.bst
+++ b/Build/source/extra/bibtex/abbrv.bst
@@ -1,12 +1,12 @@
% BibTeX standard bibliography style `abbrv'
- % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
+ % Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
+ % Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+ % Unlimited copying and redistribution of this file are permitted as long as
+ % it is unmodified. Modifications (and redistribution of modified versions)
+ % are also permitted, but only if the resulting file is renamed to something
+ % besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
ENTRY
{ address
diff --git a/Build/source/extra/bibtex/acm.bst b/Build/source/extra/bibtex/acm.bst
index 1750daa7a17..5e52a0d6382 100644
--- a/Build/source/extra/bibtex/acm.bst
+++ b/Build/source/extra/bibtex/acm.bst
@@ -1,13 +1,19 @@
-% ACM Transactions bibliography style (24-Jan-88 version)
+% Copyright (C) 1986, 1988, 2010 Howard Trickey and Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
+%
+% ACM Transactions bibliography style (8-Dec-10 version)
% A lot like abbrv.bst, but names come out "Last, initials", and in \sc.
% Some dates are parenthesized.
%
% History
-% 2/ 6/86 (HWT) Original version, by Howard Trickey.
-% 3/ 5/86 (HWT) Put in pp. everywhere but articles, as per ACM style.
-% 1/24/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
-% corrected the abbreviations to "Mar." and "Sept.";
-% THIS `acm' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 2/ 6/86 (HWT) Original version, by Howard Trickey.
+% 3/ 5/86 (HWT) Put in pp. everywhere but articles, as per ACM style.
+% 1/24/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% corrected the abbreviations to "Mar." and "Sept.";
+% THIS `acm' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 12/ 8/10 (OP&HWT) Clarify license.
ENTRY
{ address
@@ -52,15 +58,15 @@ FUNCTION {output.nonnull}
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -110,8 +116,8 @@ FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
+ 'skip$
+ { after.sentence 'output.state := }
if$
}
if$
@@ -189,16 +195,16 @@ FUNCTION {format.names}
{ namesleft #0 > }
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { t "others" =
- { ", et~al." * }
- { ", and " * t * }
- if$
- }
- if$
- }
- 't
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", et~al." * }
+ { ", and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -216,20 +222,20 @@ FUNCTION {format.innames}
{ namesleft #0 > }
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " et~al." * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -249,8 +255,8 @@ FUNCTION {format.editors}
{ "" }
{ editor format.names scapify
editor num.names$ #1 >
- { ", Eds." * }
- { ", Ed." * }
+ { ", Eds." * }
+ { ", Ed." * }
if$
}
if$
@@ -261,8 +267,8 @@ FUNCTION {format.ineditors}
{ "" }
{ editor format.innames
editor num.names$ #1 >
- { ", Eds." * }
- { ", Ed." * }
+ { ", Eds." * }
+ { ", Ed." * }
if$
}
if$
@@ -280,21 +286,21 @@ FUNCTION {n.dashify}
""
{ 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 :=
- }
+ { 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$
@@ -303,15 +309,15 @@ FUNCTION {n.dashify}
FUNCTION {format.date}
{ year empty$
{ month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- month
- }
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
if$
}
{ month empty$
- 'year
- { month " " * year * }
+ 'year
+ { month " " * year * }
if$
}
if$
@@ -341,8 +347,8 @@ FUNCTION {format.bvolume}
{ "" }
{ "vol.~" volume *
series empty$
- 'skip$
- { " of " * series emphasize * }
+ 'skip$
+ { " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -352,17 +358,17 @@ FUNCTION {format.bvolume}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "no.~" }
- { "No.~" }
- if$
- number *
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
if$
}
{ "" }
@@ -373,8 +379,8 @@ FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
- { edition "l" change.case$ "~ed." * }
- { edition "t" change.case$ "~ed." * }
+ { edition "l" change.case$ "~ed." * }
+ { edition "t" change.case$ "~ed." * }
if$
}
if$
@@ -401,8 +407,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -413,8 +419,8 @@ FUNCTION {format.pp.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pp.~" pages n.dashify * }
- { "p.~" pages * }
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
if$
}
if$
@@ -427,16 +433,16 @@ FUNCTION {format.journal.vol.num.date}
}
{ journal
volume empty$
- 'skip$
- { " " * volume * }
+ 'skip$
+ { " " * volume * }
if$
number empty$
- 'emphasizeic
- { emphasize ", " * number * }
+ 'emphasizeic
+ { emphasize ", " * number * }
if$
year empty$
- { "empty year in " cite$ * warning$ }
- { " (" * format.date * ")" * }
+ { "empty year in " cite$ * warning$ }
+ { " (" * format.date * ")" * }
if$
}
if$
@@ -446,12 +452,12 @@ FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pp.pages
{ type empty$
- { "ch.~" chapter * }
- { type "l" change.case$ chapter tie.or.space.connect }
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
if$
pages empty$
- 'skip$
- { ", " * format.pp.pages * }
+ 'skip$
+ { ", " * format.pp.pages * }
if$
}
if$
@@ -462,8 +468,8 @@ FUNCTION {format.in.ed.booktitle}
{ "" }
{ "In " booktitle emphasize *
editor empty$
- 'skip$
- { ", " * format.ineditors * }
+ 'skip$
+ { ", " * format.ineditors * }
if$
}
if$
@@ -474,23 +480,23 @@ FUNCTION {format.proc.date}
{ duplicate$ empty$
{ pop$ "" }
{ year empty$
- { "empty year in " cite$ * warning$
- address empty$
- 'emphasize
- { emphasizeic
- " (" * address * ")" *
- }
- if$
- }
- { emphasizeic
- " (" *
- address empty$
- 'skip$
- { address * ", " * }
- if$
- format.date *
- ")" *
- }
+ { "empty year in " cite$ * warning$
+ address empty$
+ 'emphasize
+ { emphasizeic
+ " (" * address * ")" *
+ }
+ if$
+ }
+ { emphasizeic
+ " (" *
+ address empty$
+ 'skip$
+ { address * ", " * }
+ if$
+ format.date *
+ ")" *
+ }
if$
}
if$
@@ -536,11 +542,11 @@ FUNCTION {format.tr.number}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "In {\em " journal * "\/}" * }
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
if$
}
{ "In " key * }
@@ -554,12 +560,12 @@ FUNCTION {format.crossref.editor}
#2 >
{ pop$ " et~al." * }
{ #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
if$
}
if$
@@ -578,15 +584,15 @@ FUNCTION {format.book.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "{\em " * series * "\/}" * }
- if$
- }
- { key * }
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
if$
}
{ format.crossref.editor * }
@@ -599,15 +605,15 @@ FUNCTION {format.incoll.inproc.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In {\em " booktitle * "\/}" * }
- if$
- }
- { "In " key * }
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
if$
}
{ "In " format.crossref.editor * }
@@ -640,8 +646,8 @@ FUNCTION {book}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -686,8 +692,8 @@ FUNCTION {inbook}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -966,13 +972,13 @@ FUNCTION {sort.format.names}
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
- { " " * }
- 'skip$
+ { " " * }
+ 'skip$
if$
s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
+ { "et al" * }
+ { t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -994,10 +1000,10 @@ FUNCTION {sort.format.title}
FUNCTION {author.sort}
{ author empty$
{ key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
if$
}
{ author sort.format.names }
@@ -1007,14 +1013,14 @@ FUNCTION {author.sort}
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 }
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
if$
}
{ author sort.format.names }
@@ -1024,14 +1030,14 @@ FUNCTION {author.editor.sort}
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 }
+ { 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 }
@@ -1041,14 +1047,14 @@ FUNCTION {author.organization.sort}
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 }
+ { 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 }
@@ -1061,12 +1067,12 @@ FUNCTION {presort}
or
'author.editor.sort
{ type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
if$
}
if$
diff --git a/Build/source/extra/bibtex/alpha.bst b/Build/source/extra/bibtex/alpha.bst
index f8d5c5d3411..e59a2ebb7f9 100644
--- a/Build/source/extra/bibtex/alpha.bst
+++ b/Build/source/extra/bibtex/alpha.bst
@@ -1,12 +1,12 @@
% BibTeX standard bibliography style `alpha'
- % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
+ % Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
+ % Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+ % Unlimited copying and redistribution of this file are permitted as long as
+ % it is unmodified. Modifications (and redistribution of modified versions)
+ % are also permitted, but only if the resulting file is renamed to something
+ % besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
ENTRY
{ address
diff --git a/Build/source/extra/bibtex/apalike.bst b/Build/source/extra/bibtex/apalike.bst
index dbd41afafc1..15df7f7668d 100644
--- a/Build/source/extra/bibtex/apalike.bst
+++ b/Build/source/extra/bibtex/apalike.bst
@@ -1,9 +1,11 @@
-% BibTeX `apalike' bibliography style (24-Jan-88 version)
-% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
-% Copyright (C) 1988, all rights reserved.
-% Copying of this file is allowed, provided that if you make any changes at all
-% you name it something other than `apalike.bst'.
-% This restriction helps ensure that all copies are identical.
+% BibTeX `apalike' bibliography style (version 0.99a, 8-Dec-10), adapted from
+% the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+%
+% Copyright (C) 1988, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
+%
% Differences between this style and `alpha' are generally heralded by a `%'.
% The file btxbst.doc has the documentation for alpha.bst.
%
@@ -29,12 +31,14 @@
% numbers in both text references and list." LaTeX sidesteps the disadvantage.
%
% History:
-% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
-% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
-% in bib.sort.order to eliminate error message.
-% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
-% apalike now sorts by author, then year, then title;
-% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 15-sep-86 (OP) Original version by Oren Patashnik, ideas from Susan King.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 8-dec-10 (OP) Still version 0.99a, as the code itself was unchanged;
+% this release clarified the license.
ENTRY
{ address
@@ -47,7 +51,7 @@ ENTRY
institution
journal
key
-% month not used in apalike
+% month not used in apalike
note
number
organization
@@ -79,15 +83,15 @@ FUNCTION {output.nonnull}
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -110,9 +114,9 @@ FUNCTION {output.check}
if$
}
-% apalike needs this function because
-% the year has special punctuation;
-% apalike ignores the month
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
FUNCTION {output.year.check}
{ year empty$
{ "empty year in " cite$ * warning$ }
@@ -152,8 +156,8 @@ FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
+ 'skip$
+ { after.sentence 'output.state := }
if$
}
if$
@@ -210,20 +214,20 @@ FUNCTION {format.names}
{ namesleft #0 > }
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " et~al." * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -238,7 +242,7 @@ FUNCTION {format.authors}
if$
}
-FUNCTION {format.key} % this function is just for apalike
+FUNCTION {format.key} % this function is just for apalike
{ empty$
{ key field.or.null }
{ "" }
@@ -250,8 +254,8 @@ FUNCTION {format.editors}
{ "" }
{ editor format.names
editor num.names$ #1 >
- { ", editors" * }
- { ", editor" * }
+ { ", editors" * }
+ { ", editor" * }
if$
}
if$
@@ -269,21 +273,21 @@ FUNCTION {n.dashify}
""
{ 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 :=
- }
+ { 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$
@@ -313,8 +317,8 @@ FUNCTION {format.bvolume}
{ "" }
{ "volume" volume tie.or.space.connect
series empty$
- 'skip$
- { " of " * series emphasize * }
+ 'skip$
+ { " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -324,17 +328,17 @@ FUNCTION {format.bvolume}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "number" }
- { "Number" }
- if$
- number tie.or.space.connect
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
if$
}
{ "" }
@@ -345,8 +349,8 @@ FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
if$
}
if$
@@ -366,8 +370,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -378,8 +382,8 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pages" pages n.dashify tie.or.space.connect }
- { "page" pages tie.or.space.connect }
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
if$
}
if$
@@ -391,16 +395,16 @@ FUNCTION {format.vol.num.pages}
'skip$
{ "(" number * ")" * *
volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
- { pop$ format.pages }
- { ":" * pages n.dashify * }
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
if$
}
if$
@@ -410,13 +414,13 @@ FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
- { "chapter" }
- { type "l" change.case$ }
+ { "chapter" }
+ { type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
- 'skip$
- { ", " * format.pages * }
+ 'skip$
+ { ", " * format.pages * }
if$
}
if$
@@ -426,8 +430,8 @@ FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
- { "In " booktitle emphasize * }
- { "In " format.editors * ", " * booktitle emphasize * }
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
if$
}
if$
@@ -454,7 +458,7 @@ FUNCTION {format.tr.number}
}
FUNCTION {format.article.crossref}
-{ "In" % this is for apalike
+{ "In" % this is for apalike
" \cite{" * crossref * "}" *
}
@@ -467,19 +471,19 @@ FUNCTION {format.book.crossref}
" of " *
}
if$
- "\cite{" * crossref * "}" * % this is for apalike
+ "\cite{" * crossref * "}" * % this is for apalike
}
FUNCTION {format.incoll.inproc.crossref}
-{ "In" % this is for apalike
+{ "In" % this is for apalike
" \cite{" * crossref * "}" *
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -504,12 +508,12 @@ FUNCTION {book}
}
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
- output.year.check % special for apalike
+ output.year.check % special for apalike
new.block
format.btitle "title" output.check
crossref missing$
@@ -533,8 +537,8 @@ FUNCTION {book}
FUNCTION {booklet}
{ output.bibitem
format.authors output
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -553,12 +557,12 @@ FUNCTION {inbook}
}
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
- output.year.check % special for apalike
+ output.year.check % special for apalike
new.block
format.btitle "title" output.check
crossref missing$
@@ -584,8 +588,8 @@ FUNCTION {inbook}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -611,8 +615,8 @@ FUNCTION {incollection}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -621,10 +625,10 @@ FUNCTION {inproceedings}
format.bvolume output
format.number.series output
format.pages output
- address output % for apalike
- new.sentence % there's no year
- organization output % here so things
- publisher output % are simpler
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
@@ -640,8 +644,8 @@ FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.btitle "title" output.check
organization address new.block.checkb
@@ -656,8 +660,8 @@ FUNCTION {manual}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -672,8 +676,8 @@ FUNCTION {mastersthesis}
FUNCTION {misc}
{ output.bibitem
format.authors output
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title output
new.block
@@ -686,8 +690,8 @@ FUNCTION {misc}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.btitle "title" output.check
new.block
@@ -702,16 +706,16 @@ FUNCTION {phdthesis}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
- editor format.key output % special for
- output.year.check % apalike
+ editor format.key output % special for
+ output.year.check % apalike
new.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
- address output % for apalike
- new.sentence % we always output
- organization output % a nonempty organization
- publisher output % here
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
new.block
note output
fin.entry
@@ -720,8 +724,8 @@ FUNCTION {proceedings}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -736,8 +740,8 @@ FUNCTION {techreport}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
- author format.key output % special for
- output.year.check % apalike
+ author format.key output % special for
+ output.year.check % apalike
new.block
format.title "title" output.check
new.block
@@ -830,9 +834,9 @@ FUNCTION {chop.word}
if$
}
-% There are three apalike cases: one person (Jones),
-% two (Jones and de~Bruijn), and more (Jones et~al.).
-% This function is much like format.crossref.editors.
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
%
FUNCTION {format.lab.names}
{ 's :=
@@ -841,12 +845,12 @@ FUNCTION {format.lab.names}
#2 >
{ pop$ " et~al." * }
{ #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * s #2 "{vv~}{ll}" format.name$ * }
- if$
- }
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
if$
}
if$
@@ -855,8 +859,8 @@ FUNCTION {format.lab.names}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
- { cite$ #1 #3 substring$ }
- 'key % apalike uses the whole key
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
if$
}
{ author format.lab.names }
@@ -866,12 +870,12 @@ FUNCTION {author.key.label}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key % apalike uses the whole key
- if$
- }
- { editor format.lab.names }
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
if$
}
{ author format.lab.names }
@@ -881,8 +885,8 @@ FUNCTION {author.editor.key.label}
FUNCTION {editor.key.label}
{ editor empty$
{ key empty$
- { cite$ #1 #3 substring$ }
- 'key % apalike uses the whole key, no organization
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
if$
}
{ editor format.lab.names }
@@ -895,14 +899,14 @@ FUNCTION {calc.label}
or
'author.editor.key.label
{ type$ "proceedings" =
- 'editor.key.label % apalike ignores organization
- 'author.key.label % for labeling and sorting
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
if$
}
if$
- ", " % these three lines are
- * % for apalike, which
- year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
*
'label :=
}
@@ -915,13 +919,13 @@ FUNCTION {sort.format.names}
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
- { " " * }
- 'skip$
- if$ % apalike uses initials
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
+ { "et al" * }
+ { t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -943,10 +947,10 @@ FUNCTION {sort.format.title}
FUNCTION {author.sort}
{ author empty$
{ key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
if$
}
{ author sort.format.names }
@@ -956,14 +960,14 @@ FUNCTION {author.sort}
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 }
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
if$
}
{ author sort.format.names }
@@ -973,21 +977,21 @@ FUNCTION {author.editor.sort}
FUNCTION {editor.sort}
{ editor empty$
{ key empty$
- { "to sort, need editor or key in " cite$ * warning$
- ""
- }
- { key sortify }
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
if$
}
{ editor sort.format.names }
if$
}
-% apalike uses two sorting passes; the first one sets the
-% labels so that the `a's, `b's, etc. can be computed;
-% the second pass puts the references in "correct" order.
-% The presort function is for the first pass. It computes
-% label, sort.label, and title, and then concatenates.
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
FUNCTION {presort}
{ calc.label
label sortify
@@ -998,14 +1002,14 @@ FUNCTION {presort}
or
'author.editor.sort
{ type$ "proceedings" =
- 'editor.sort
- 'author.sort
+ 'editor.sort
+ 'author.sort
if$
}
if$
- #1 entry.max$ substring$ % for
- 'sort.label := % apalike
- sort.label % style
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
*
" "
*
@@ -1018,13 +1022,13 @@ FUNCTION {presort}
ITERATE {presort}
-SORT % by label, sort.label, title---for final label calculation
+SORT % by label, sort.label, title---for final label calculation
-STRINGS { last.label next.extra } % apalike labels are only for the text;
+STRINGS { last.label next.extra } % apalike labels are only for the text;
-INTEGERS { last.extra.num } % there are none in the bibliography
+INTEGERS { last.extra.num } % there are none in the bibliography
-FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
@@ -1057,9 +1061,9 @@ ITERATE {forward.pass}
REVERSE {reverse.pass}
-% Now that the label is right we sort for real,
-% on sort.label then year then title. This is
-% for the second sorting pass.
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
FUNCTION {bib.sort.order}
{ sort.label
" "
@@ -1077,14 +1081,14 @@ FUNCTION {bib.sort.order}
ITERATE {bib.sort.order}
-SORT % by sort.label, year, title---giving final bibliography order
+SORT % by sort.label, year, title---giving final bibliography order
FUNCTION {begin.bib}
-{ preamble$ empty$ % no \etalchar in apalike
+{ preamble$ empty$ % no \etalchar in apalike
'skip$
{ preamble$ write$ newline$ }
if$
- "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
}
EXECUTE {begin.bib}
diff --git a/Build/source/extra/bibtex/apalike.doc b/Build/source/extra/bibtex/apalike.doc
deleted file mode 100644
index 8861e11e21c..00000000000
--- a/Build/source/extra/bibtex/apalike.doc
+++ /dev/null
@@ -1,60 +0,0 @@
-% apalike.sty style, used in conjunction with apalike.bst,
-% will produce an apa-like bibliography style:
-%
-% 1) Bibliography entries formatted alphabetically, last name
-% first, each entry having a hanging indentation and no label.
-% 2) References in the following formats:
-% (Author, 1986)
-% (Author and Author, 1986)
-% (Author et al., 1986).
-% 3) Multiple references in the form (Author1, 1986; Author2, 1987)
-%
-% To be used as an optional argument to the \documentstyle command; for example
-% \documentstyle[11pt,apalike]{book}
-%
-% 16-Sep-86, original version by Susan King and Oren Patashnik.
-% 13-Oct-87 changes:
-% Fixed bug in last line by adding the {} that disappeard when
-% the \hbox{} was removed from the pre-APALIKE definition;
-% added club and widow penalties;
-% patched the \newblock LaTeX bug from `-.07em' to simply `.07em';
-% and made this work for document styles that don't define `chapter'.
-%
-%
-% Use parens instead of brackets for \cite, and no label in the bibliography
-%
-\def\@cite#1#2{(#1\if@tempswa , #2\fi)}
-\def\@biblabel#1{}
-
-% Set length of hanging indentation for bibliography entries
-%
-\newlength{\bibhang}
-\setlength{\bibhang}{2em}
-
-% \thebibliography environment depends on whether or not `chapter's can exist
-%
-\@ifundefined{chapter}{\def\thebibliography#1{\section*{References\@mkboth
- {REFERENCES}{REFERENCES}}\list
- {\relax}{\setlength{\labelsep}{0em}
- \setlength{\itemindent}{-\bibhang}
- \setlength{\leftmargin}{\bibhang}}
- \def\newblock{\hskip .11em plus .33em minus .07em}
- \sloppy\clubpenalty4000\widowpenalty4000
- \sfcode`\.=1000\relax}}%
-{\def\thebibliography#1{\chapter*{Bibliography\@mkboth
- {BIBLIOGRAPHY}{BIBLIOGRAPHY}}\list
- {\relax}{\setlength{\labelsep}{0em}
- \setlength{\itemindent}{-\bibhang}
- \setlength{\leftmargin}{\bibhang}}
- \def\newblock{\hskip .11em plus .33em minus .07em}
- \sloppy\clubpenalty4000\widowpenalty4000
- \sfcode`\.=1000\relax}}
-
-% `; ' goes between cites, and there's no \hbox around individual cites
-%
-\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
- \def\@citea{}\@cite{\@for\@citeb:=#2\do
- {\@citea\def\@citea{; }\@ifundefined
- {b@\@citeb}{{\bf ?}\@warning
- {Citation `\@citeb' on page \thepage \space undefined}}%
-{\csname b@\@citeb\endcsname}}}{#1}}
diff --git a/Build/source/extra/bibtex/apalike.sty b/Build/source/extra/bibtex/apalike.sty
index 9c83ceb0d84..e6b6d88bb0e 100644
--- a/Build/source/extra/bibtex/apalike.sty
+++ b/Build/source/extra/bibtex/apalike.sty
@@ -1,26 +1,69 @@
+% apalike.sty style, used in conjunction with apalike.bst,
+% will produce an apa-like bibliography style.
+%
+% Copyright (C) 1986, 1987, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
+%
+% 1) Bibliography entries formatted alphabetically, last name
+% first, each entry having a hanging indentation and no label.
+% 2) References in the following formats:
+% (Author, 1986)
+% (Author and Author, 1986)
+% (Author et al., 1986).
+% 3) Multiple references in the form (Author1, 1986; Author2, 1987)
+%
+% To be used as an optional argument to the \documentstyle command; for example
+% \documentstyle[11pt,apalike]{book}
+%
+% History:
+% 16-Sep-86, original version by Oren Patashnik, ideas from Susan King.
+% 13-Oct-87 changes:
+% Fixed bug in last line by adding the {} that disappeard when
+% the \hbox{} was removed from the pre-APALIKE definition;
+% added club and widow penalties;
+% patched the \newblock LaTeX bug from `-.07em' to simply `.07em';
+% and made this work for document styles that don't define `chapter'.
+% Undated changes by Karl Berry and/or Oren Patashnik:
+% 1) use \refname and \bibname instead of hardwiring
+% the strings "References" and "Bibliography"; this change was first
+% made in the apalike.sty in the germbib package.
+% 2) do not define \bibhang if it is already defined.
+% Karl Berry contributes his changes to the public domain.
+% 8-Dec-10, clarify license.
+
+% Use parens instead of brackets for \cite, and no label in the bibliography
+%
\def\@cite#1#2{(#1\if@tempswa , #2\fi)}
\def\@biblabel#1{}
-\newlength{\bibhang}
+% Set length of hanging indentation for bibliography entries
+%
+\ifx\bibhang\@thisisundefined \newlength{\bibhang} \fi
\setlength{\bibhang}{2em}
-\@ifundefined{chapter}{\def\thebibliography#1{\section*{References\@mkboth
- {REFERENCES}{REFERENCES}}\list
+% \thebibliography environment depends on whether or not `chapter's can exist
+%
+\@ifundefined{chapter}{\def\thebibliography#1{\section*{\refname\@mkboth
+ {\sl\uppercase{\refname}}{\sl\uppercase{\refname}}}\list
{\relax}{\setlength{\labelsep}{0em}
- \setlength{\itemindent}{-\bibhang}
- \setlength{\leftmargin}{\bibhang}}
+ \setlength{\itemindent}{-\bibhang}
+ \setlength{\leftmargin}{\bibhang}}
\def\newblock{\hskip .11em plus .33em minus .07em}
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax}}%
-{\def\thebibliography#1{\chapter*{Bibliography\@mkboth
- {BIBLIOGRAPHY}{BIBLIOGRAPHY}}\list
+{\def\thebibliography#1{\chapter*{\bibname\@mkboth
+ {\sl\uppercase{\bibname}}{\sl\uppercase{\bibname}}}\list
{\relax}{\setlength{\labelsep}{0em}
- \setlength{\itemindent}{-\bibhang}
- \setlength{\leftmargin}{\bibhang}}
+ \setlength{\itemindent}{-\bibhang}
+ \setlength{\leftmargin}{\bibhang}}
\def\newblock{\hskip .11em plus .33em minus .07em}
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax}}
+% `; ' goes between cites, and there's no \hbox around individual cites
+%
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
\def\@citea{}\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{; }\@ifundefined
diff --git a/Build/source/extra/bibtex/apalike.tex b/Build/source/extra/bibtex/apalike.tex
index d8bfb87b6d6..9ff4ec8bce4 100644
--- a/Build/source/extra/bibtex/apalike.tex
+++ b/Build/source/extra/bibtex/apalike.tex
@@ -1,34 +1,17 @@
-%% @texfile{
-%% author = "Oren Patashnik",
-%% version = "0.99b",
-%% date = "29 Feb 1992",
-%% filename = "apalike.tex",
-%% address = "Please use electronic mail",
-%% checksum = "103 854 5370",
-%% email = "opbibtex@cs.stanford.edu",
-%% codetable = "ISO/ASCII",
-%% supported = "yes",
-%% docstring = "Defines macros that make apalike work with plain TeX",
-%% }
-% apalike.tex, version 0.99b, for btxmac 0.99i, BibTeX 0.99c, TeX 3.0 or later.
-% Copyright (C) 1990--92; all rights reserved.
-% You may copy this file provided: that it's accompanied by btxmac.tex;
-% and that either you make absolutely no changes to your copy, or if you
-% do make changes, (1) you name the file something other than
-% `apalike.tex' and you remove all occurrences of `apalike.tex' from the
-% file, (2) you put, somewhere in the first twenty lines of the file,
-% your name, along with an electronic address at which others who might
-% use the file may reach you, and (3) you remove each occurrence of
-% Oren's name and electronic address from this file. These restrictions
-% help ensure that all standard versions of these macros are identical,
-% and that Oren doesn't get deluged with inappropriate e-mail.
+% apalike.tex, version 0.99b (8-Dec-10), for btxmac 0.99i, BibTeX 0.99c,
+% TeX 3.0 or later.
+%
+% Copyright (C) 1990, 1991, 1992, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
%
% This file, apalike.tex, contains TeX macros that let you use the
% apalike bibliography style with plain TeX. In essence, this file
% provides the TeX counterpart to apalike.sty, the LaTeX style file
% required for using the apalike bibliography style. Please report any
-% bugs (outright goofs, misfeatures, or unclear documentation) to Oren
-% Patashnik (opbibtex@cs.stanford.edu). These macros will become frozen
+% bugs (outright goofs, misfeatures, or unclear documentation) to
+% biblio@tug.org. These macros will become frozen
% shortly after BibTeX version 1.00 is released.
%
% AMS-TEX WARNING: This style (apalike) doesn't work with AmS-TeX's
@@ -82,7 +65,8 @@
% 12-Dec-90 Version 0.99a, first general release.
% 29-Feb-92 0.99b, changed `\biblabelextrahang' to `\biblabelextraspace',
% to keep up with btxmac.tex version 0.99i.
-%
+% 8-Dec-10 Still version 0.99b, as the code itself was unchanged;
+% this release clarified the license.
%
% Here, finally (I swear, I thought he was never gonna stop), are the
% macros. The first bunch makes the label empty and sets 2em of
diff --git a/Build/source/extra/bibtex/bibtex.1 b/Build/source/extra/bibtex/bibtex.1
deleted file mode 100644
index 23b0676ddb1..00000000000
--- a/Build/source/extra/bibtex/bibtex.1
+++ /dev/null
@@ -1,74 +0,0 @@
-.TH BIBTEX 1
-.SH NAME
-bibtex \- make a (La)TeX bibliography
-.SH SYNOPSIS
-.B bibtex auxname
-.SH DESCRIPTION
-BibTeX reads the top-level auxiliary
-.I (.aux)
-file that was output during the running of
-.BR (la)tex (1)
-and creates a bibliography
-.I (.bbl)
-file that will be incorporated into the document on subsequent runs of (La)TeX.
-The auxname on the command line must be given without the
-.I .aux
-extension.
-.PP
-BibTeX looks up, in the bibliographic database
-.I (.bib)
-files,
-the entries specified by the \\cite and \\nocite commands
-in the (La)TeX source file.
-It formats the information from those entries
-according to instructions in the style
-.I (.bst)
-file,
-and it outputs the results to the
-.I .bbl
-file.
-.PP
-The LaTeX manual (aka
-.I LaTeX - A Document Preparation System,
-by Leslie Lamport)
-explains what a LaTeX source file must contain to work with BibTeX.
-Appendix B of the LaTeX manual describes the format of the
-.I .bib
-files.
-The "BibTeXing" document describes extensions and details of that format,
-and it gives other useful hints for using BibTeX.
-
-BibTeX on Unix incorporates the path-searching mechanism
-described in the man page for
-.BR tex (1).
-As of the August 1988 web2c version,
-BibTeX searches the TEXINPUTS path for
-.I .bst
-files, and the BIBINPUTS path for
-.I .bib
-files.
-.PP
-.SH FILES
-.TP 20
-btxdoc.tex
-"BibTeXing" \- LaTeXable documentation for general BibTeX users
-.TP
-btxhak.tex
-"Designing BibTeX Styles" \- LaTeXable documentation for style designers
-.TP
-btxmac.tex
-macros for using BibTeX with plain TeX
-.TP
-btxdoc.bib
-database file for those two documents
-.TP
-xampl.bib
-database file giving examples of all standard entry types
-.TP
-btxbst.doc
-template file and documentation for the standard styles
-.PP
-All those files should be available somewhere on the system.
-.SH "SEE ALSO"
-.BR latex (1),
-.BR tex (1).
diff --git a/Build/source/extra/bibtex/bibtex.cms-changes b/Build/source/extra/bibtex/bibtex.cms-changes
deleted file mode 100644
index 5e7cdd7549e..00000000000
--- a/Build/source/extra/bibtex/bibtex.cms-changes
+++ /dev/null
@@ -1,253 +0,0 @@
-This is BIBTEX.CMS-CHANGES in text format, as of June 9, 1988.
-
-BIBTEX change file for VM/CMS and MVS.
-Created by Nhut Nguyen, IBM Japan. Ltd., Tokyo, Japan. (1986).
-
-
-Mar 14, 1986 made it working
-Mar 14, 1986 changed filetype of the log file to BIBLOG
-Mar 14, 1986 eliminate the prompt for input file
-Jul 14, 1986 made the initialize routine shorter, to avoid
- overflow during compilation
-Jul 30, 1986 Alan Spragens broke up |x_format_name| procedure; changed
- extensions on aux and bbl files; cleaned up
- VM/CMS declarations and procedures at end
-Oct 29, 1986 Agnes Hsu leave extensions on aux, bib, and bst as in
- Web; add '.*' extension before opening those
- files
-June 9, 1988 Dean Guenther Removed a few unecessary changes and did
- some others for version .99
- Note that all tabs (x'05') in BIBTEX.WEB
- were replaced by two blanks (x'4040').
-
-@x banner line
-@d banner=='This is BibTeX, Version 0.99c' {printed when the program starts}
-@y
-@d banner=='This is BibTeX, VM/CMS Version 0.99c'
-@z
-
-@x term
-@d term_out == tty
-@d term_in == tty
-@y
-@d term_in==tty_in
-@d term_out==tty_out
-@z
-
-@x otherwise
-@d othercases == others: {default for cases not listed explicitly}
-@y
-@d othercases == otherwise {default for cases not listed explicitly}
-@z
-
-@x
-begin
-initialize;
-print_ln(banner);@/
-@y
-begin
- termin(term_in); termout(term_out);
- initialize;
- print_ln(banner);@/
-@z
-
-@x compiler directives
-@{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug overhead}
-@!debug @{@&$C+,D+@}@+ gubed {but turn everything on when debugging}
-@y
-{It seems impossible to turn CHECK and DEBUG on and off easily given
- how Tangle and VS/PASCAL work}
-@z
-
-@x
-@!ASCII_code=0..127; {seven-bit numbers}
-@y
-@!ASCII_code=packed 0..127; {seven-bit numbers}
-@z
-
-@x
-@d last_text_char=127 {ordinal number of the largest element of |text_char|}
-@y
-@d last_text_char=255 {ordinal number of the largest element of |text_char|}
-@d ccat==@=||@>
-@z
-
-@x
-@!alpha_file=packed file of text_char; {files that contain textual data}
-@y
-@!alpha_file=text; {files that contain textual data}
-@z
-
-@x
-function erstat(var f:file):integer; extern; {in the runtime library}
-@#@t\2@>
-@y
-@z
-
-@x
-begin reset(f,name_of_file,'/O'); a_open_in:=reset_OK(f);
-@y
-begin okstatus; pack_file_name;
- reset(f,'NAME='ccat trim(str(name_of_file)));
- a_open_in:=status;
-@z
-
-@x
-begin rewrite(f,name_of_file,'/O'); a_open_out:=rewrite_OK(f);
-@y
-begin okstatus; pack_file_name;
- rewrite(f,'NAME='ccat trim(str(name_of_file)));
- a_open_out:=status;
-@z
-
-
-@x
-function input_ln(var f:alpha_file) : boolean;
-@y
-@<VM/CMS stuff@>
-@#
-function input_ln(var f:alpha_file) : boolean;
-@z
-
-@x
-while (p_ptr < str_start[file_name+1]) do
- begin
- name_of_file[name_ptr] := chr (str_pool[p_ptr]);
-@y
-while (p_ptr < str_start[file_name+1]) do
- begin
- name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
-@z
-
-@x
-while (p_ptr < str_start[ext+1]) do
- begin
- name_of_file[name_ptr] := chr (str_pool[p_ptr]);
- incr(name_ptr); incr(p_ptr);
-@y
-while (p_ptr < str_start[ext+1]) do
- begin
- name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
- incr(name_ptr); incr(p_ptr);
-@z
-
-@x
-p_ptr := str_start[area];
-while (p_ptr < str_start[area+1]) do
- begin
- name_of_file[name_ptr] := chr (str_pool[p_ptr]);
- incr(name_ptr); incr(p_ptr);
-@y
-p_ptr := str_start[area];
-while (p_ptr < str_start[area+1]) do
- begin
- name_of_file[name_ptr] := xchr[str_pool[p_ptr]];
- incr(name_ptr); incr(p_ptr);
-@z
-
-@x
-@!s_bst_area : str_number; {\.{texinputs:}}
-@y
-@!s_aux_area : str_number; {\.{.*}}
-@!s_bst_area : str_number; {\.{texinputs:}}
-@z
-
-@x
-pre_define('.blg ',4,file_ext_ilk);
-s_log_extension := hash_text[pre_def_loc];
-pre_define('.bst ',4,file_ext_ilk);
-s_bst_extension := hash_text[pre_def_loc];
-pre_define('.bib ',4,file_ext_ilk);
-s_bib_extension := hash_text[pre_def_loc];
-pre_define('texinputs: ',10,file_area_ilk);
-s_bst_area := hash_text[pre_def_loc];
-pre_define('texbib: ',7,file_area_ilk);
-s_bib_area := hash_text[pre_def_loc];
-@y
-pre_define('.biblog ',7,file_ext_ilk);
-s_log_extension := hash_text[pre_def_loc];
-pre_define('.bst ',4,file_ext_ilk);
-s_bst_extension := hash_text[pre_def_loc];
-pre_define('.bib ',4,file_ext_ilk);
-s_bib_extension := hash_text[pre_def_loc];
-pre_define('.* ',2,file_area_ilk);
-s_aux_area := hash_text[pre_def_loc];
-pre_define('.* ',2,file_area_ilk);
-s_bst_area := hash_text[pre_def_loc];
-pre_define('.* ',2,file_area_ilk);
-s_bib_area := hash_text[pre_def_loc];
-@z
-
-@x
- write (term_out,'Please type input file name (no extension)--');
- if (eoln(term_in)) then {so the first |read| works}
- read_ln (term_in);
-@y
- get (term_in) ; {so the first |get| works to clear EOL}
-@z
-
-
-
-@x At line 2563
-@<Add extensions and open files@>=
-begin
-name_length := aux_name_length; {set to last used position}
-add_extension (s_aux_extension); {this also sets |name_length|}
-@y
-@<Add extensions and open files@>=
-begin
-name_length := aux_name_length; {set to last used position}
-add_extension (s_aux_extension); {this also sets |name_length|}
-add_extension (s_aux_area); {this also sets |name_length|}
-@z
-
-@x
-add_extension (s_bib_extension);
-@y
-add_extension (s_bib_extension);
-add_extension (s_bib_area);
-@z
-
-@x
-add_extension (s_bst_extension);
-@y
-add_extension (s_bst_extension);
-add_extension (s_bst_area);
-@z
-
-@x
-This section should be replaced, if necessary, by changes to the program
-that are necessary to make \BibTeX\ work at a particular installation.
-It is usually best to design your change file so that all changes to
-previous sections preserve the section numbering; then everybody's version
-will be consistent with the printed program. More extensive changes,
-which introduce new sections, can be inserted here; then only the index
-itself will get a new section number.
-
-@y
-This section contains procedures particular to VM/CMS.
-
-@ Here are extra global variables for VM/CMS routines
-@<Glob...@>=
-
-@!status: boolean; {did the last |reset| or |rewrite| succede?}
-
-@!tty_in, tty_out: text;
-@ @<VM/CMS...@>=
-procedure okstatus; begin status:=true; end;
-procedure pack_file_name;
-var buff : packed array[1..file_name_size] of char;
- i, j : 1..file_name_size;
-begin j := 1;
- for i := 1 to file_name_size do buff[i] := ' ';
- for i := 1 to file_name_size do
- begin
- if name_of_file[i] <> ' ' then
- begin
- buff[j] := name_of_file[i];
- incr(j);
- end;
- end;
- for i := 1 to file_name_size do name_of_file[i] := buff[i];
-end;
-@z
diff --git a/Build/source/extra/bibtex/bibtex.ins b/Build/source/extra/bibtex/bibtex.ins
deleted file mode 100644
index 9a9b4ecedd6..00000000000
--- a/Build/source/extra/bibtex/bibtex.ins
+++ /dev/null
@@ -1,52 +0,0 @@
-To get BibTeX running you should: make sure you have all files listed
-below, read the overview section (the first page) of BTXDOC.TEX, and
-(if needed) create or procure a BibTeX change file for your system so
-you can Tangle and compile BibTeX. To test your implementation,
-follow these simple steps (note: in what follows, the word `match' is
-used loosely, because lines longer than 80 characters have been
-broken manually in BTXDOC.AUX; thus, your system's file-compare
-program may say the files are different even though they match):
-
-(A) Run BTXDOC.TEX through LaTeX. You'll get a bunch of LaTeX warning
-messages, and LaTeX will produce a BTXDOC.AUX file that will NOT match
-the supplied file of that name. NOTE: Don't let LaTeX "see" a copy of
-the supplied BTXDOC.AUX or BTXDOC.BBL during this run.
-
-(B) Run BibTeX on the BTXDOC.AUX file created in step (A). BibTeX
-will read in the supplied file BTXDOC.BIB. This run should produce
-a BTXDOC.BBL file that matches the suppled file of the same name;
-BibTeX will give one warning message (about chicago).
-
-(C) Run BTXDOC.TEX through LaTeX. Again, you'll get some LaTeX
-warning messages, but this time LaTeX will produce a new BTXDOC.AUX
-file that DOES match the supplied file of that name. This run will
-read in the BTXDOC.AUX file produced in (A) and the BTXDOC.BBL file
-produced in step (B).
-
-(D) Run BTXDOC.TEX through LaTeX. By reading the new BTXDOC.AUX file,
-LaTeX will produce no warning messages, and you should get another
-matching copy of the BTXDOC.AUX file.
-
-IMPORTANT NOTE: After you get BibTeX running you should make sure that
-all the documentation files listed below are available on your system,
-and you should state in the _Local Guide_ exactly how to access them.
-
-Here are BibTeX-related files in this directory:
-
-
-BIBTEX.INS this file
-BIBTEX.WEB the WEB source file for BibTeX
-BTXDOC.TEX documentation, and also sample input for BibTeX implementors
-BTXHAK.TEX documentation for style designers
-BTXDOC.BIB the bibliography database file for BTXDOC.TEX
-BTXDOC.BBL a file for comparing your implementation's output
-BTXDOC.AUX another
-XAMPL.BIB a database file with an example of every standard entry type
-
-
-BTXBST.DOC the documentation and template for the four standard
- bibliography styles:
-ABBRV.BST abbreviated
-ALPHA.BST alphabetic
-PLAIN.BST plain
-UNSRT.BST unsorted
diff --git a/Build/source/extra/bibtex/bibtex.tops20-changes b/Build/source/extra/bibtex/bibtex.tops20-changes
deleted file mode 100644
index ef77bcc61bc..00000000000
--- a/Build/source/extra/bibtex/bibtex.tops20-changes
+++ /dev/null
@@ -1,113 +0,0 @@
-BibTeX change file for TOPS-20, culled from Dave Fuchs's
-TeX change file, with his permission.
-Copyright (C) 1988 by Oren Patashnik. All rights reserved.
-
-History:
-January 1988---The original version of the TOPS-20 change file, for
- BibTeX version 0.99a. The only substantive feature allowed
- specifying the top-level .AUX file in a command line argument.
-February 1988---Changed for BibTeX's new version numbers, 0.99b,c.
-
-
-@x Tell WEAVE to print only the changes:
-\pageno=\contentspagenumber \advance\pageno by 1
-@y
-\pageno=\contentspagenumber \advance\pageno by 1
-\let\maybe=\iffalse
-\def\ttw{{\mc TOPS-20}}
-\def\title{\BibTeX\ changes for \ttw}
-@z
-
-
-@x TOPS-20's banner:
-@d banner=='This is BibTeX, Version 0.99c' {printed when the program starts}
-@y
-@d banner=='This is BibTeX, TOPS-20 Version 0.99c'
-@z
-
-
-@x Compiler directives:
-@{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug overhead}
-@!debug @{@&$C+,D+@}@+ gubed {but turn everything on when debugging}
-@y The space after the B is due to a compiler bug.
-@{@&$C-,A+,D-,P:520000@&B@= @>@}
- {no range check, catch arithmetic overflow, no debug overhead,
- move the code up to make room for the global data in production}
-@!debug @{@&$C+,D+,P:520000@&B@= @>@}@+ gubed
- {we turn everything on when debugging}
-@z
-
-
-@x Define the compile-time constant |max_rescan| for command-line processing
-@!lit_stk_size=100; {maximum number of literal functions on the stack}
-@y
-@!lit_stk_size=100; {maximum number of literal functions on the stack}
-@!max_rescan=500; {maximum length of the rescan buffer}
-@z
-
-
-@x Set the command-line switch
-check_cmnd_line := false; {many systems will change this}
-@y
-check_cmnd_line := true;
-@z
-
-
-@x
-@<Variables for possible command-line processing@>=
-@!check_cmnd_line : boolean; {|true| if we're to check the command line}
-@y
-
-@d RSCAN=@'500 {ReSCAN buffer JSYS}
-
-@<Variables for possible command-line processing@>=
-@!check_cmnd_line : boolean; {|true| if we're to check the command line}
-@!ac1: integer; {AC1 from Rescan}
-@!rescan: packed array[1..max_rescan] of char; {rescan buffer}
-@!rescan_len: integer; {amount of |rescan| used}
-@!i: integer; {temporary}
-@z
-
-
-@x And finally, here's the code that handles the command line argument.
-@<Process a possible command line@>=
-begin
-do_nothing; {the ``default system'' doesn't use the command line}
-end
-@y
-\ttw\ puts the user command line into the so-called rescan buffer
-(actually, we have to use a real hack to see if it's a bogus Execute,
-Start, Continue, Debug, etc.\ command, in which case we should pretend
-there was no command line, since the command line that was there was
-not intended for \BibTeX). We copy the command line into the input
-buffer, and once we've isolated the (\.{.aux} file-name) argument we
-copy that into the |name_of_file| array.
-
-@<Process a possible command line@>=
-begin
-jsys(RSCAN,1,i;0;ac1); {put the command line into the |TTY| input buffer}
-if (i<>2) or (ac1<=0) then goto aux_not_found; {RSCAN failed, somehow}
-if eoln(term_in) then read_ln(term_in); {for some TOPS-20's}
-read(term_in,rescan:rescan_len); {read in rescan buffer}
-if rescan_len>max_rescan then begin
- write_ln(term_out,'Command line longer than ',max_rescan:0,
- ' characters, so I''m ignoring it');
- read_ln(term_in); goto aux_not_found; end;
-@/{The following line is based upon experimentation with \ttw!}
-if rescan_len=ac1-2 then goto aux_not_found; {EX, ST, DEB commands}
-@#
-i:=1; while rescan[i]>' ' do incr(i); {skip command name, presumably BibTeX}@/
-while (i<=rescan_len) and (rescan[i]=' ') do incr(i); {skip spaces}@/
-if i>rescan_len then goto aux_not_found; {there was no argument}
-@#
-aux_name_length := 0;
-while (rescan[i]>' ') do {copy the argument into |name_of_file|}
- begin
- if (aux_name_length = file_name_size) then
- sam_you_made_the_file_name_too_long;
- incr(aux_name_length);
- name_of_file[aux_name_length] := rescan[i];
- incr(i);
- end;
-end
-@z
diff --git a/Build/source/extra/bibtex/bibtex.vms-changes b/Build/source/extra/bibtex/bibtex.vms-changes
deleted file mode 100644
index 6fb4a808d27..00000000000
--- a/Build/source/extra/bibtex/bibtex.vms-changes
+++ /dev/null
@@ -1,277 +0,0 @@
-BIBTeX change file for Vax/VMS
-Modified, 12-Feb-88 by Jerry Leichter for Version .99b
-Modified, 15-Apr-88 by Jerry Leichter for Version .99c
-Modified, 27-May-88 by Nelson Beebe. Fixed some spelling errors and typos
- that showed up when the code was woven. Added support for specifying
- the file name on the command line.
-@x
-\def\title{\BibTeX\ }
-@y
-\pageno=\contentspagenumber \advance\pageno by 1
-\let\maybe=\iffalse
-\def\title{\BibTeX changes for Vax/VMS}
-@z
-
-@x
-@d banner=='This is BibTeX, Version 0.99c' {printed when the program starts}
-@y
-@d banner=='This is BibTeX, Vax/VMS Version 0.99c'
-@z
-
-@x
-@d term_out == tty
-@d term_in == tty
-@y
-@d term_out == output
-@d term_in == input
-@z
-
-@x
-@d print(#) == begin write(log_file,#); write(term_out,#); end
-@d print_ln(#) == begin write_ln(log_file,#); write_ln(term_out,#); end
-@d print_newline == print_a_newline
- {making this a procedure saves a little space}
-@#
-@d trace_pr(#) == begin write(log_file,#); end
-@d trace_pr_ln(#) == begin write_ln(log_file,#); end
-@d trace_pr_newline == begin write_ln(log_file); end
-
-@<Procedures and functions for all file I/O, error messages, and such@>=
-procedure print_a_newline;
-begin
-write_ln(log_file);
-write_ln(term_out);
-end;
-@y
-@d print(#) == begin write(log_file,#); write(term_out,#); end
-@d print_ln(#) == begin write_ln(log_file,#,chr(13),chr(10));
- write_ln(term_out,#,chr(13),chr(10)); end
-@d print_newline == print_a_newline
- {making this a procedure saves a little space}
-@#
-@d trace_pr(#) == begin write(log_file,#); end
-@d trace_pr_ln(#) == begin write_ln(log_file,#,chr(13),chr(10)); end
-@d trace_pr_newline == begin write_ln(log_file,chr(13),chr(10)); end
-
-@<Procedures and functions for all file I/O, error messages, and such@>=
-procedure print_a_newline;
-begin
-write_ln(log_file,chr(13),chr(10));
-write_ln(term_out,chr(13),chr(10));
-end;
-@z
-
-@x
-@d othercases == others: {default for cases not listed explicitly}
-@y
-@d othercases == otherwise {Vax/VMS default for cases not listed
- explicitly}
-@z
-
-@x
-program BibTEX; {all files are opened dynamically}
-@y
-program BibTEX(input,output);
- {all files are opened dynamically}
-@z
-
-@x
-@<Compiler directives@>=
-@{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug overhead}
-@!debug @{@&$C+,D+@}@+ gubed {but turn everything on when debugging}
-@y
-On Vax/VMS, there are no compiler directives that can be introduced in this
-way, but we take this opportunity to include a few system-dependent goodies.
-
-@d VAX_text==@= text @>
-@d VAX_new==@= new @>
-@d VAX_none==@= none @>
-@d VAX_word==@= word @>
-@d VAX_error==@= error @>
-@d VAX_length==@= length @>
-@d VAX_syi_sid==@= syi$_sid @>
-@d VAX_continue==@= continue @>
-@d VAX_external==@= external @>
-@d VAX_readonly==@= readonly @>
-@d VAX_volatile==@= volatile @>
-@d VAX_aligned==@= aligned @>
-@d VAX_unsigned==@= unsigned @>
-@d VAX_carriage_control==@= carriage_control @>
-@d VAX_io_setmode==@= io$_setmode @>
-@d VAX_iom_ctrlcast==@= io$m_ctrlcast @>
-@d VAX_immed==@= %immed @>
-@d VAX_stdescr==@= %stdescr @>
-@d VAX_ref==@= %ref @>
-@d VAX_qiow==@= $qiow @>
-@d VAX_assign==@= $assign @>
-@d VAX_numtim==@= $numtim @>
-@d VAX_getsyi==@= $getsyi @>
-@d VAX_lib_get_foreign==@= lib$get_foreign @>
-@d VAX_disposition==@= disposition @>
-@d VAX_delete==@= delete @>
-@d VAX_save==@= save @>
-@d VAX_varying==@= varying @>
-@d VAX_substr==@= substr @>
-@d VAX_trnlog==@= $trnlog @>
-@d VAX_ss_normal==@= ss$_normal @>
-
-@<Compiler directives@>=
-@=[check(none)]@> {no debug overhead, but...}
-debug @=[check(all)]@> gubed {turn everything on when debugging}
-@z
-
-@x Define the compile-time constant |max_rescan| for command-line processing
-@!lit_stk_size=100; {maximum number of literal functions on the stack}
-@y
-@!lit_stk_size=100; {maximum number of literal functions on the stack}
-@!max_cmdline=500; {maximum length of the rescan buffer}
-@z
-
-@x
-@<Types in the outer block@>=
-@y
-@<Types in the outer block@>=
-@!word_type = [word]-32768..32767; {16-bit integers}
-@z
-
-@x
-@!alpha_file=packed file of text_char; {files that contain textual data}
-@y
-@!alpha_file=text; {files that contain textual data}
-@z
-
-@x
-@d reset_OK(#)==erstat(#)=0
-@d rewrite_OK(#)==erstat(#)=0
-
-@<Procedures and functions for file-system interacting@>=
-function erstat(var f:file):integer; extern; {in the runtime library}
-@#@t\2@>
-function a_open_in(var f:alpha_file):boolean; {open a text file for input}
-begin reset(f,name_of_file,'/O'); a_open_in:=reset_OK(f);
-end;
-@#
-function a_open_out(var f:alpha_file):boolean; {open a text file for output}
-begin rewrite(f,name_of_file,'/O'); a_open_out:=rewrite_OK(f);
-end;
-@y
-@<Procedures and functions for file-system interacting@>=
-function a_open_in(var f:alpha_file):boolean; {open a text file for input}
-begin
-open(f,name_of_file,VAX_readonly,VAX_error:=VAX_continue);
-if status(f)>0 then a_open_in:=false
-else begin
- reset(f,VAX_error:=VAX_continue);
- a_open_in:=status(f)<=0;
- end;
-end;
-@#
-function a_open_out(var f:alpha_file):boolean; {open a text file for output}
-begin
-open(f,name_of_file,VAX_new,16383,{VAX\_disposition:=VAX\_delete,}
- VAX_error:=VAX_continue);
-if status(f)>0 then a_open_out:=false
-else begin
- rewrite(f,VAX_error:=VAX_continue);
- a_open_out:=status(f)<=0;
- end;
-end;
-@z
-
-@x
-pre_define('texinputs: ',10,file_area_ilk);
-s_bst_area := hash_text[pre_def_loc];
-pre_define('texbib: ',7,file_area_ilk);
-s_bib_area := hash_text[pre_def_loc];
-@y
-pre_define('tex$inputs: ',11,file_area_ilk);
-s_bst_area := hash_text[pre_def_loc];
-pre_define('tex$bib: ',8,file_area_ilk);
-s_bib_area := hash_text[pre_def_loc];
-@z
-
-@x
-check_cmnd_line := false; {many systems will change this}
-@y
-check_cmnd_line := true; {many systems will change this}
-@z
-
-@x And finally, here's the code that handles the command line argument.
-@<Process a possible command line@>=
-begin
-do_nothing; {the ``default system'' doesn't use the command line}
-end
-@y
-On VAX/VMS, we can make a program runnable by name by defining a foreign
-command symbol for it; the command line is then accessible via a call to
-\.{lib\$get\_foreign()}. Since all we need is a single word off the
-command line, and since prompting for the input of that word is both a
-nuisance, and precludes use of nice utilities like \.{Make}, it seems
-simplest to pick up the name from the command line.
-
-The Kellerman and Smith VMS \TeX{} implementation takes this notion a
-step further, and adds code to support running the program in native
-mode, complete with command line switches and fancy parsing; they have
-more ambition than I do just now.
-
-@<Process a possible command line@>=
-begin
- get_cmdline;
- if (aux_name_length = file_name_size) then
- sam_you_made_the_file_name_too_long
- else if (aux_name_length = 0) then
- goto aux_not_found
-end
-@
-@<Procedures and functions for all file I/O, error messages, and such@>=
-function VAX_lib_get_foreign(VAX_stdescr s :
- packed array [a..b : integer] of char;
- %immed p2 : integer;
- var p3 : word_type) : integer;
- fortran;
-@#
-procedure get_cmdline;
-label exit;
-var
- cmdline : packed array [1..max_cmdline] of char;
- cmdlength : word_type;
- i : integer;
-@#
-begin
- aux_name_length := 0;
- if not odd (VAX_lib_get_foreign(cmdline,0,cmdlength)) then
- begin
- print_ln('Cannot get command line; use "bibtex file"');
- return
- end;
-@#
- i:=1;
- while (i<=cmdlength) and (cmdline[i]=' ') do incr(i); {skip spaces}@/
- if i>cmdlength then return; {there was no argument}
-@#
- while (cmdline[i]>' ') do {copy the argument into |name_of_file|}
- begin
- if (aux_name_length = file_name_size) then
- return;
- incr(aux_name_length);
- name_of_file[aux_name_length] := cmdline[i];
- incr(i)
- end;
-exit:
-end;
-@
-@z
-
-@x
-This section should be replaced, if necessary, by changes to the program
-that are necessary to make \BibTeX\ work at a particular installation.
-It is usually best to design your change file so that all changes to
-previous sections preserve the section numbering; then everybody's version
-will be consistent with the printed program. More extensive changes,
-which introduce new sections, can be inserted here; then only the index
-itself will get a new section number.
-@y
-Here are the remaining changes to the program
-that are necessary to make \.{TeX} work on Vax/VMS.
-
-@z
diff --git a/Build/source/extra/bibtex/bibtex.web b/Build/source/extra/bibtex/bibtex.web
index 3dec37a90d9..543467df4c4 100644
--- a/Build/source/extra/bibtex/bibtex.web
+++ b/Build/source/extra/bibtex/bibtex.web
@@ -1,8 +1,12 @@
% This program is copyright (C) 1985, 1988, 2010 by Oren Patashnik;
-% all rights reserved.
-% Copying of this file is authorized only if (1) you are Oren Patashnik, or if
-% (2) you make absolutely no changes to your copy. (The WEB system provides
-% for alterations via an auxiliary file; the master file should stay intact.)
+% all rights are reserved.
+%
+% This program, BibTeX, is available under the same terms as
+% Donald Knuth's TeX program.
+%
+% (Request to implementors: The WEB system provides for alterations via
+% an auxiliary file; the master file should stay intact.)
+%
% See Appendix H of the WEB manual for hints on how to install this program.
% Version 0.98f was released in March 1985.
@@ -36,6 +40,8 @@
% Version 0.99d was released in March 2010. It made output lines breakable
% only at white_space (so that, for example, URLs would not be broken).
% Other known bugs (all minor) will be fixed in a subsequent release.
+% Updated bibtex.web was released on 8 December 2010. Still version
+% 0.99d; this release clarified the license.
% Please report any bugs to biblio@@tug.org
@@ -85,7 +91,7 @@
\def\topofcontents{\null\vfill
\def\titlepage{F}
\centerline{\:\titlefont The {\:\ttitlefont \BibTeX} preprocessor}
- \vskip 15pt \centerline{(Version 0.99c---\today)} \vfill}
+ \vskip 15pt \centerline{(Version 0.99d---\today)} \vfill}
\pageno=\contentspagenumber \advance\pageno by 1
diff --git a/Build/source/extra/bibtex/btxbst.doc b/Build/source/extra/bibtex/btxbst.doc
index 7ea413e8915..8cb9709de08 100644
--- a/Build/source/extra/bibtex/btxbst.doc
+++ b/Build/source/extra/bibtex/btxbst.doc
@@ -1,16 +1,16 @@
% BibTeX `plain' family
- % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
-% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+ % Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
+ % Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+ % Unlimited copying and redistribution of this file are permitted as long as
+ % it is unmodified. Modifications (and redistribution of modified versions)
+ % are also permitted, but only if the resulting file is renamed to something
+ % besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify biblio@tug.org of any bugs in
% these standard styles or in this documentation file.
%
-% This is file btxbxt.doc; it helps document bibliography styles,
+% This is file btxbst.doc; it helps document bibliography styles,
% and is also a template file that you can use to make
% several different style files, if you have access to a C preprocessor.
% For example, the standard styles were made by doing something like
@@ -181,6 +181,8 @@
% erroneous occurrences of `cite ' to `cite$ '; this
% change didn't affect the four standard styles, so the
% 0.99a versions of those styles are still current.
+% 12/ 8/10 (OP) Still version 0.99b, as the code itself was unchanged;
+% this release clarified the license.
%
% The ENTRY declaration
% Like Scribe's (according to pages 231-2 of the April '84 edition),
diff --git a/Build/source/extra/bibtex/btxdoc.aux b/Build/source/extra/bibtex/btxdoc.aux
deleted file mode 100644
index 708293d1c71..00000000000
--- a/Build/source/extra/bibtex/btxdoc.aux
+++ /dev/null
@@ -1,41 +0,0 @@
-% WARNING: This file has been manually edited to split lines that are longer
-% than 80 characters!
-
-\relax
-\citation{btxhak}
-\citation{latex}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space
- {1}Overview}{1}}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space
- {2}Changes}{2}}
-\newlabel{differences}{{2}{2}}
-\@writefile{toc}{\string\contentsline\space
- {subsection}{\string\numberline\space {2.1}New {\string\prm\space B\kern
- -.05em{\string\psc\space i\kern -.025em b}\kern -.08em T\kern -.1667em\lower
- .7ex\hbox {E}\kern -.125emX}\ features}{2}}
-\newlabel{features}{{2.1}{2}}
-\newlabel{concat}{{2}{2}}
-\newlabel{preamble}{{6}{4}}
-\citation{btxhak}
-\@writefile{toc}{\string\contentsline\space
- {subsection}{\string\numberline\space {2.2}Changes to the standard styles}{5}}
-\citation{latex}
-\@writefile{toc}{\string\contentsline\space
- {section}{\string\numberline\space {3}The Entries}{7}}
-\newlabel{latex-appendix}{{3}{7}}
-\@writefile{toc}{\string\contentsline\space
- {subsection}{\string\numberline\space {3.1}Entry Types}{7}}
-\citation{van-leunen}
-\@writefile{toc}{\string\contentsline\space
- {subsection}{\string\numberline\space {3.2}Fields}{9}}
-\citation{van-leunen}
-\citation{chicago}
-\@writefile{toc}{\string\contentsline\space
- {section}{\string\numberline\space {4}Helpful Hints}{11}}
-\newlabel{odds-and-ends}{{4}{11}}
-\bibdata{btxdoc}
-\bibcite{chicago}{1}
-\bibcite{latex}{2}
-\bibcite{btxhak}{3}
-\bibcite{van-leunen}{4}
-\bibstyle{plain}
diff --git a/Build/source/extra/bibtex/btxdoc.bbl b/Build/source/extra/bibtex/btxdoc.bbl
deleted file mode 100644
index 9d25371c069..00000000000
--- a/Build/source/extra/bibtex/btxdoc.bbl
+++ /dev/null
@@ -1,23 +0,0 @@
-\begin{thebibliography}{1}
-
-\bibitem{chicago}
-{\em The Chicago Manual of Style}, pages 400--401.
-\newblock University of Chicago Press, thirteenth edition, 1982.
-
-\bibitem{latex}
-Leslie Lamport.
-\newblock {\em {\LaTeX \rm:} {A} Document Preparation System}.
-\newblock Addison-Wesley, 1986.
-
-\bibitem{btxhak}
-Oren Patashnik.
-\newblock Designing {\BibTeX} styles.
-\newblock The part of \BibTeX's documentation that's not meant for general
- users, 8~February 1988.
-
-\bibitem{van-leunen}
-Mary-Claire van Leunen.
-\newblock {\em A Handbook for Scholars}.
-\newblock Knopf, 1979.
-
-\end{thebibliography}
diff --git a/Build/source/extra/bibtex/btxdoc.bib b/Build/source/extra/bibtex/btxdoc.bib
index ad5329829ef..5a30c68d693 100644
--- a/Build/source/extra/bibtex/btxdoc.bib
+++ b/Build/source/extra/bibtex/btxdoc.bib
@@ -1,4 +1,7 @@
-Copyright (C) 1988, all rights reserved.
+% Copyright (C) 1988, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted if it
+% is unmodified. Modifications (and their redistribution) are also
+% permitted, as long as the resulting file is renamed.
@COMMENT(You may put a comment in a `comment' command,
the way you would with SCRIBE.)
diff --git a/Build/source/extra/bibtex/btxdoc.pdf b/Build/source/extra/bibtex/btxdoc.pdf
new file mode 100644
index 00000000000..1b5227d76a3
--- /dev/null
+++ b/Build/source/extra/bibtex/btxdoc.pdf
Binary files differ
diff --git a/Build/source/extra/bibtex/btxdoc.tex b/Build/source/extra/bibtex/btxdoc.tex
index 52723e08b69..b41318fa1c1 100644
--- a/Build/source/extra/bibtex/btxdoc.tex
+++ b/Build/source/extra/bibtex/btxdoc.tex
@@ -1,4 +1,7 @@
-% Copyright (C) 1988, all rights reserved.
+% Copyright (C) 1988, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted if it
+% is unmodified. Modifications (and their redistribution) are also
+% permitted, as long as the resulting file is renamed.
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
@@ -17,7 +20,7 @@
[This document will be expanded when \BibTeX\ version 1.00 comes out.
Please report typos, omissions, inaccuracies,
and especially unclear explanations
-to me ({\tt patashnik@SCORE.STANFORD.EDU}).
+to {\tt biblio@tug.org} ({\tt http://lists.tug.org/biblio}).
Suggestions for improvements are wanted and welcome.]
This documentation, for \BibTeX\ version 0.99b,
diff --git a/Build/source/extra/bibtex/btxdoc.xua b/Build/source/extra/bibtex/btxdoc.xua
deleted file mode 100644
index 4f0e0bbce2e..00000000000
--- a/Build/source/extra/bibtex/btxdoc.xua
+++ /dev/null
@@ -1,28 +0,0 @@
-\relax
-\citation{btxhak}
-\citation{latex}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1}Overview}{1}}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2}Changes}{2}}
-\newlabel{differences}{{2}{2}}
-\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.1}New {\string\prm\space B\kern -.05em{\string\psc\space i\kern -.025em b}\kern -.08em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ features}{2}}
-\newlabel{features}{{2.1}{2}}
-\newlabel{concat}{{2}{2}}
-\newlabel{preamble}{{6}{4}}
-\citation{btxhak}
-\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.2}Changes to the standard styles}{5}}
-\citation{latex}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3}The Entries}{7}}
-\newlabel{latex-appendix}{{3}{7}}
-\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.1}Entry Types}{7}}
-\citation{van-leunen}
-\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.2}Fields}{9}}
-\citation{van-leunen}
-\citation{chicago}
-\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Helpful Hints}{11}}
-\newlabel{odds-and-ends}{{4}{11}}
-\bibdata{btxdoc}
-\bibcite{chicago}{1}
-\bibcite{latex}{2}
-\bibcite{btxhak}{3}
-\bibcite{van-leunen}{4}
-\bibstyle{plain}
diff --git a/Build/source/extra/bibtex/btxhak.pdf b/Build/source/extra/bibtex/btxhak.pdf
new file mode 100644
index 00000000000..1b825c3cdcf
--- /dev/null
+++ b/Build/source/extra/bibtex/btxhak.pdf
Binary files differ
diff --git a/Build/source/extra/bibtex/btxhak.tex b/Build/source/extra/bibtex/btxhak.tex
index ce620544811..e91c8a81ab4 100644
--- a/Build/source/extra/bibtex/btxhak.tex
+++ b/Build/source/extra/bibtex/btxhak.tex
@@ -1,4 +1,7 @@
-% Copyright (C) 1988, all rights reserved.
+% Copyright (C) 1988, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted if it
+% is unmodified. Modifications (and their redistribution) are also
+% permitted, as long as the resulting file is renamed.
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
diff --git a/Build/source/extra/bibtex/btxmac.tex b/Build/source/extra/bibtex/btxmac.tex
deleted file mode 100644
index b45b7e591ec..00000000000
--- a/Build/source/extra/bibtex/btxmac.tex
+++ /dev/null
@@ -1,842 +0,0 @@
-%% @texfile{
-%% author = "Karl Berry and Oren Patashnik",
-%% version = "0.99k",
-%% date = "13 Nov 1995",
-%% filename = "btxmac.tex",
-%% address = "Please use electronic mail",
-%% checksum = "842 4571 33524",
-%% email = "opbibtex@cs.stanford.edu",
-%% codetable = "ISO/ASCII",
-%% supported = "yes",
-%% docstring = "Defines macros that make BibTeX work with plain TeX",
-%% }
-% BibTeX-for-TeX macros, version 0.99k, for BibTeX 0.99c, TeX 3.0 or later.
-% Copyright (C) 1990-92,95 by Karl Berry & Oren Patashnik; all rights reserved.
-% You may copy this file provided: that it's accompanied by the
-% "BibTeXing" document, whose text is contained in the file `btxdoc.tex';
-% that any documentation you write for these macros also gives a
-% reference for "BibTeXing"; and that either you make absolutely no
-% changes to your copy, or if you do make changes, (1) you name the file
-% something other than `btxmac.tex' and you remove all occurrences of
-% `btxmac.tex' from the file, (2) you put, somewhere in the first twenty
-% lines of the file, your name, along with an electronic address at which
-% others who might use the file may reach you, and (3) you remove each
-% occurrence of Oren's name and electronic address from this file. These
-% restrictions help ensure that all standard versions of these macros are
-% identical, and that Oren doesn't get deluged with inappropriate e-mail.
-%
-% This file, btxmac.tex, contains TeX macros that allow BibTeX, a
-% bibliography program that was originally designed for use with LaTeX,
-% to work with plain TeX. Please report any bugs (outright goofs,
-% improvable macros, misfeatures, or unclear documentation) to Oren
-% Patashnik (opbibtex@cs.stanford.edu). These macros will become frozen
-% shortly after BibTeX version 1.00 is released.
-%
-% AMS-TEX WARNING: We tried very hard, for version .99i of these macros,
-% to make them compatible with AmS-TeX. We succeeded to the extent
-% that, if you use one of the standard bibliography styles, you probably
-% won't notice any problems with version 0.99i of btxmac.tex. But
-% ultimately we failed, in that the inherent incompatibilities between
-% plain TeX and AmS-TeX kept making these macros break, for certain
-% inputs or certain styles. Examples: (1) AmS-TeX treats at-signs as
-% special, in ways that plain TeX and LaTeX don't, so that, for example,
-% you can't have any `@' characters in an argument to the \cite command,
-% the way you can in TeX or LaTeX; (2) AmS-TeX decided that plain TeX's
-% and LaTeX's macron-accent control sequence `\=' should be undefined;
-% so you'll need to define `\=' to be `\B' to get the xampl.bib example
-% suggested below to work with AmS-TeX; (3) AmS-TeX redefines the tie
-% character `~' of plain TeX, and AmS-TeX's `amsppt' style redefines
-% plain TeX's `\nobreak' macro, so that if you use an author-date style
-% like `apalike' and you have a multiple-author reference for which the
-% author-date style automatically produces a citation in the text like
-% `(Jones et~al., 1992)' you will throw AmS-TeX's `amsppt' style into
-% an infinite loop, exceeding its input stack size. In practice, such
-% incompatibilities surface infrequently; but it is now clear to us that
-% it's not worth the effort (perhaps it's not even possible) to make the
-% btxmac.tex macros robust when used both with plain TeX and Ams-TeX.
-% If the BibTeX/AmS-TeX results attainable with the current btxmac.tex
-% macros are sufficient, fine. But if there's a demand for more robust
-% BibTeX/AmS-TeX behavior, then someone who's very familiar with the
-% AmS-TeX package should probably make an amsbtxmc.tex version of the
-% macros (remembering to follow the copyright restrictions above).
-% Until then, if you're an AmS-TeX user, or a LaTeX or plain TeX user
-% sharing files with an AmS-TeX user, beware.
-% END OF AMS-TEX WARNING.
-%
-% To use these macros you should be familiar with how BibTeX interacts
-% with LaTeX, since BibTeX's interaction with TeX is very similar; that
-% interaction is explained in the LaTeX manual. It also helps to
-% have read "BibTeXing", the documentation that accompanies BibTeX.
-% Then, if you want, you should redefine any of the macros that begin
-% with `\bbl' or `\biblabel' or `\print' that you need to get formatting
-% different from the default (the default settings are designed to
-% accompany a bibliography style like BibTeX's standard style `plain').
-% The macros you might want to change are described briefly a few
-% paragraphs hence. [To get started without reading any documentation,
-% try running the nine-line .tex file below through TeX and BibTeX.
-% Remember the general scheme: Running (La)TeX writes information on
-% the .aux (auxiliary) file; then running BibTeX reads information from
-% the .aux, .bst (style), and .bib (database) files, and writes
-% information (the bibliography) on a .bbl file; then running (La)TeX
-% incorporates the bibliography; then running (La)TeX once more fixes
-% the remaining forward references into the bibliography. Thus, to get
-% everything incorporated into your output, you'll have to run (La)TeX,
-% BibTeX, (La)TeX, (La)TeX. (Standup, sitdown, fight, fight, fight.)]
-%
-% These macros can stand alone or they can be \input into a macro
-% package, like Eplain, that is sufficiently compatible with plain TeX.
-% To use these macros to format the 0.99 version of the xampl.bib file
-% that's distributed with BibTeX (that version of the file has no
-% self-identification), you'll need to define \mbox, which is a LaTeX
-% command, to be \hbox, as in the example below.
-%
-% Here's a nine-line plain TeX file for trying out btxmac.tex; of course
-% you'll have to remove the comment characters at the beginning of each
-% line, and, depending on your system, you might have to take steps so
-% that BibTeX can "see" the files xampl.bib and plain.bst (BibTeX will
-% give you two empty-field warning messages that you should ignore).
-%
-% \def\mbox#1{\leavevmode\hbox{#1}}
-% \input btxmac
-% \noindent This cites Aamport's gnominious article~\cite{article-full}.
-% \medskip
-% \leftline{\bf References}
-% \nocite{*} % put all database entries into the reference list
-% \bibliography{xampl} % specify the database files; here, just xampl.bib
-% \bibliographystyle{plain} % specify plain.bst as the style file
-% \bye
-%
-%
-% HISTORY
-%
-% Karl Berry wrote the original version of these macros in 1989 and
-% 1990, for use in his `Eplain' package. Oren Patashnik modified them
-% slightly in July 1990, as part of the official BibTeX distribution.
-%
-% 1-Aug-90 Version 0.99a, not released to the general public.
-% 14-Aug-90 0.99b, first general release.
-% 26-Aug-90 0.99c, made \@undefinedmessage work with other macro packages.
-% 6-Sep-90 0.99d, allowed for general formatting of bibliography labels,
-% for general formatting of (in-text) citations, and for
-% changing certain catcodes while reading the .aux file.
-% 14-Nov-90 0.99e, changed the way \@setletters works, made some \new...'s
-% non-outer, and changed the way Eplain reads this file.
-% 12-Dec-90 0.99f, made \@resetnumerals change the `,' and `.' catcodes; and
-% added \biblabelextrahang, \@getoptionalarg, and \bblsc.
-% 11-Mar-91 0.99g, made a few minor changes required by the way Eplain reads
-% this file, but no functional changes.
-% 24-Apr-91 0.99h, inhibited the reading and writing of the .aux file if it
-% isn't used or if the \noauxfile macro is defined, and
-% removed some .aux-file-opening detritus; printed the
-% cite-key of undefined citations in \tt font; changed the
-% catcode of `_' inside \cite; and called \@resetnumerals
-% from inside a group.
-% 29-Feb-92 0.99i, made these macros semi-compatible with AmS-TeX; removed
-% \@resetnumerals, \@setletters, \@tokstostring, and
-% friends; changed the way \cite handles catcodes; changed
-% \@getoptionalarg, and had \bibitem and \newcommand use
-% it; added \@futurenonspacelet and (to facilitate the use
-% of multiple reference lists) \bblfilebasename; changed
-% \biblabelprint to use the new macros \biblabelprecontents
-% and \biblabelpostcontents, and to, by default, right-
-% justify numeric labels; and renamed \biblabelextrahang to
-% the more descriptive \biblabelextraspace.
-% 14-Mar-92 0.99j, made 0.99i's use of `\\' local to btxmac.tex.
-% 13-Nov-95 0.99k, defined \begin and \end (while reading bbl file) only if
-% it wasn't already defined.
-%
-%
-% The LaTeX-related commands defined in this file include (a) the four
-% commands that a user types (\bibliography, \bibliographystyle, \cite,
-% and \nocite); (b) the three commands that BibTeX looks for in the .aux
-% file (\bibdata, \bibstyle, and \citation---there is a fourth command
-% that BibTeX looks for, but that command is related to LaTeX's \include
-% facility, so these macros ignore that command); and (c) a LaTeX
-% command (\newcommand) that's written by one of the four standard
-% bibliography styles (alpha). The definitions here are not exactly the
-% same as the corresponding LaTeX definitions (those eight LaTeX
-% definitions depend on a significant fraction of LaTeX itself). But
-% the only substantial differences are with \newcommand, which here,
-% without complaining, lets you redefine a preexisting control sequence
-% (in LaTeX, \newcommand won't let you redefine a preexisting command),
-% and which here doesn't make the control sequences it defines \long (in
-% LaTeX, that happens automatically); there may also be other minor
-% differences. To summarize: Unless you know what you're doing, you
-% shouldn't define any control sequences with these eight names:
-%
-% \bibdata
-% \bibliography
-% \bibliographystyle
-% \bibstyle
-% \citation
-% \cite
-% \newcommand
-% \nocite
-%
-% There are three other commands written by one or more of the four
-% standard (plain, abbrv, alpha, unsrt) or four semistandard (acm,
-% apalike, ieeetr, siam) bibliography styles; they take effect only
-% within the bibliography, and are redefinable, as explained later:
-%
-% \em
-% \newblock
-% \sc
-%
-% There's one control sequence you might want to use (but not redefine)
-% in redefining \biblabelprint:
-%
-% \biblabelwidth
-%
-% There are fifteen other control sequences (explained later in more detail)
-% that the macros of this file will use if you define them---you should
-% define them after the \input btxmac command but before the \bibliography
-% command. The first six begin with `\bbl' and affect fonts, spacing,
-% perhaps other characteristics of the bibliography, and which .bbl files
-% get read; the next five begin with `\biblabel' and determine how labels
-% are formatted in the bibliography; and the last four begin with `\print'
-% and determine how the in-text citations are formatted:
-%
-% \bblem
-% \bblfilebasename
-% \bblhook
-% \bblnewblock
-% \bblrm
-% \bblsc
-% \biblabelcontents
-% \biblabelprecontents
-% \biblabelprint
-% \biblabelpostcontents
-% \biblabelextraspace
-% \printbetweencitations
-% \printcitefinish
-% \printcitenote
-% \printcitestart
-%
-% If it's defined before the \input btxmac command, the control sequence
-% below inhibits the reading and writing of the .aux file(s), and the
-% issuing of related warning messages. Any definition will do. This
-% feature might help when you're working on draft stages of a document:
-%
-% \noauxfile
-%
-%
-% Here's another control sequence (it's described later) that you
-% probably won't want to redefine unless you are writing another macro
-% package; if you do redefine it, however, do it before the \input btxmac
-% command (and notice that it has an `@' in its name):
-%
-% \@undefinedmessage
-%
-% Any other control sequence in this file that might conflict with
-% something you've defined will have an `@' in its name, so such conflicts
-% are unlikely; but if you're worried about a specific control sequence
-% name, do a text search of this file to look for it.
-%
-%
-% So to start things off we turn `@' into a letter (category code 11),
-% keeping track of the old category code for future restoration.
-% (Simply resetting it to 12 when we leave these macros is
-% insufficient.) The use of `\cite' as a temporary control sequence is
-% a kludge, but it's a reasonably simple way to accomplish what we need
-% without possibly overwriting something (without an `@' in its name)
-% that might already be defined.
-%
-\edef\cite{\the\catcode`@}%
-\catcode`@ = 11
-\let\@oldatcatcode = \cite
-\chardef\@letter = 11
-\chardef\@other = 12
-%
-%
-% Next come some things that will be useful later.
-%
-% Make an outer definition into an inner one (due to Chris Thompson).
-% The arguments should be the control sequence to be defined, and the
-% new of the \outer control sequence, as characters; the control
-% sequence #1 is defined to be just the same as \csname#2\endcsname, but
-% not \outer. For example, \@innerdef\innernewcount{newcount} would
-% define \innernewcount to be a non-outer version of \newcount.
-%
-\def\@innerdef#1#2{\edef#1{\expandafter\noexpand\csname #2\endcsname}}%
-%
-% We use \@innerdef to make some of our allocations local, because
-% Eplain includes our code inside a conditional. We put @'s in the
-% names to minimize the (already small) chance of conflicts.
-%
-\@innerdef\@innernewcount{newcount}%
-\@innerdef\@innernewdimen{newdimen}%
-\@innerdef\@innernewif{newif}%
-\@innerdef\@innernewwrite{newwrite}%
-%
-%
-% Swallow one parameter.
-%
-\def\@gobble#1{}%
-%
-%
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\@undefined
- \let\@linenumber = \empty % Pre-3.0.
-\else
- \def\@linenumber{\the\inputlineno:\space}%
-\fi
-%
-%
-% The following macro \@futurenonspacelet (from the TeXbook) behaves
-% essentially like \futurelet except that it discards any implicit or
-% explicit space tokens that intervene before a nonspace is scanned:
-%
-\def\@futurenonspacelet#1{\def\cs{#1}%
- \afterassignment\@stepone\let\@nexttoken=
-}%
-\begingroup % The grouping here avoids stepping on an outside use of `\\'.
-\def\\{\global\let\@stoken= }%
-\\ % now \@stoken is a space token (\\ is a control symbol, so that
- % space after it is seen).
-\endgroup
-\def\@stepone{\expandafter\futurelet\cs\@steptwo}%
-\def\@steptwo{\expandafter\ifx\cs\@stoken\let\@@next=\@stepthree
- \else\let\@@next=\@nexttoken\fi \@@next}%
-\def\@stepthree{\afterassignment\@stepone\let\@@next= }%
-%
-%
-% \@getoptionalarg\CS gets an optional argument from the input, enclosed
-% in brackets, then expands \CS. We set \@optionalarg to \empty if we
-% don't find one, otherwise to the text of the argument. This assumes
-% the brackets don't have a funny category code.
-%
-\def\@getoptionalarg#1{%
- \let\@optionaltemp = #1%
- \let\@optionalnext = \relax
- \@futurenonspacelet\@optionalnext\@bracketcheck
-}%
-%
-% The \expandafter's in this macro let us avoid the use of \aftergroup,
-% which is somewhat more expensive.
-%
-\def\@bracketcheck{%
- \ifx [\@optionalnext
- \expandafter\@@getoptionalarg
- \else
- \let\@optionalarg = \empty
- % We can't do the \temp after the \fi, because then the \temp gets
- % in the way of reading the optional argument from the input, if
- % we do have one.
- \expandafter\@optionaltemp
- \fi
-}%
-%
-\def\@@getoptionalarg[#1]{%
- \def\@optionalarg{#1}%
- \@optionaltemp
-}%
-%
-%
-% From LaTeX.
-%
-\def\@nnil{\@nil}%
-\def\@fornoop#1\@@#2#3{}%
-%
-\def\@for#1:=#2\do#3{%
- \edef\@fortmp{#2}%
- \ifx\@fortmp\empty \else
- \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}%
- \fi
-}%
-%
-\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
- #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi
-}%
-%
-\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
- \let\@nextwhile=\@fornoop \else
- #4\relax\let\@nextwhile=\@iforloop\fi\@nextwhile#2\@@#3{#4}%
-}%
-%
-%
-% This macro tests if a file \jobname.#1 exists, and sets \if@fileexists
-% appropriately. If an optional argument is given, it is used as the
-% root part of the filename instead of \jobname.
-%
-\@innernewif\if@fileexists
-%
-\def\@testfileexistence{\@getoptionalarg\@finishtestfileexistence}%
-\def\@finishtestfileexistence#1{%
- \begingroup
- \def\extension{#1}%
- \immediate\openin0 =
- \ifx\@optionalarg\empty\jobname\else\@optionalarg\fi
- \ifx\extension\empty \else .#1\fi
- \space
- \ifeof 0
- \global\@fileexistsfalse
- \else
- \global\@fileexiststrue
- \fi
- \immediate\closein0
- \endgroup
-}%
-%
-%
-%% [[[start of BibTeX-specific stuff]]]
-%
-% Now come the four main LaTeX commands and their associated .aux
-% commands. Just as in LaTeX, \bibliographystyle defines the BibTeX
-% style name (.bst file, that is), and \bibliography defines the
-% database (.bib) file(s). The corresponding .aux-file commands are
-% \bibstyle and \bibdata, which are there only for BibTeX's (but not
-% LaTeX's) use.
-%
-\def\bibliographystyle#1{%
- \@readauxfile
- \@writeaux{\string\bibstyle{#1}}%
-}%
-\let\bibstyle = \@gobble
-%
-% As well as writing the \bibdata command to tell BibTeX which .bib
-% files to read, we read the .bbl file that BibTeX (or a person,
-% conceivably) has produced. We use \bblfilebasename as the root of the
-% filename to read; this defaults to \jobname.
-%
-\let\bblfilebasename = \jobname
-\def\bibliography#1{%
- \@readauxfile
- \@writeaux{\string\bibdata{#1}}%
- \@testfileexistence[\bblfilebasename]{bbl}%
- \if@fileexists
- % We just output a non-discardable item (the `whatsit' with the
- % \bibdata command). This means that the glue that will be
- % inserted next (\parskip or \baselineskip, most likely) will be a
- % legal breakpoint. Most likely, this is after some kind of
- % heading, where we don't want to allow a page break. So:
- \nobreak
- \@readbblfile
- \fi
-}%
-\let\bibdata = \@gobble
-%
-% The \nocite{label,label,...} command writes its argument to \@auxfile,
-% unless instructed not to, but produces no text in the document. Both
-% the \nocite and \cite commands produce \citation commands in the .aux file.
-%
-\def\nocite#1{%
- \@readauxfile
- \@writeaux{\string\citation{#1}}%
-}%
-%
-\@innernewif\if@notfirstcitation
-%
-% \cite[note]{label,label,...} produces the citations for the labels as
-% well. If the optional argument `note' is present, it's added after
-% the labels. Since \cite calls \nocite to do its .aux-file writing,
-% \cite doesn't need to call \@readauxfile (\nocite does).
-%
-\def\cite{\@getoptionalarg\@cite}%
-%
-% Typeset the citations for the labels in #1, followed by the note, if
-% it exists. To change the citation's format in the text, redefine one
-% or more `\print...' macros, whose defaults appear later in this file.
-%
-\def\@cite#1{%
- % Remember the optional argument, in case one of the macros we call
- % below ends up looking for an optional argument itself. For
- % example, if a \cite[note] triggers reading the .aux file, then the
- % [note] would be clobbered, since \@testfileexistence looks for an
- % optional arg.
- \let\@citenotetext = \@optionalarg
- % Start printing the text, beginning with a left bracket by default.
- \printcitestart
- % It's complicated, but because \nocite puts a `whatsit' onto the list,
- % \nocite should follow \printcitestart. It's conceivable, but very
- % unlikely, that this `whatsit' will cause a problem (glue that doesn't
- % disappear when you want it to is the most likely symptom), requiring
- % a change either to \printcitestart or to the label that the .bst file
- % produces.
- \nocite{#1}%
- \@notfirstcitationfalse
- \@for \@citation :=#1\do
- {%
- \expandafter\@onecitation\@citation\@@
- }%
- \ifx\empty\@citenotetext\else
- \printcitenote{\@citenotetext}%
- \fi
- \printcitefinish
-}%
-%
-\def\@onecitation#1\@@{%
- \if@notfirstcitation
- \printbetweencitations
- \fi
- %
- \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax
- \if@citewarning
- \message{\@linenumber Undefined citation `#1'.}%
- \fi
- % Give it a dummy definition:
- \expandafter\gdef\csname\@citelabel{#1}\endcsname{%
- {\tt
- \escapechar = -1
- \nobreak\hskip0pt
- \expandafter\string\csname#1\endcsname
- \nobreak\hskip0pt
- }%
- }%
- \fi
- % Now produce the text, whether it was undefined or not.
- \csname\@citelabel{#1}\endcsname
- \@notfirstcitationtrue
-}%
-%
-% Given a label `foo', the macro `\b@foo' is supposed to
-% hold the text that should be produced.
-%
-\def\@citelabel#1{b@#1}%
-%
-% So, how does a citation label get defined? When we read the .bbl file
-% (below), a \bibitem writes out a \@citedef command. And when we read
-% the \@citedef, we define \@citelabel{#1}, where #1 is the user's
-% label.
-%
-\def\@citedef#1#2{\expandafter\gdef\csname\@citelabel{#1}\endcsname{#2}}%
-%
-%
-% Reading the .bbl file also produces the typeset bibliography. Please
-% notice, however, that we do not produce the title for the references
-% (e.g., `References'), as LaTeX does. The formatting and spacing of
-% that title, whether it should go into the headline, and so on, are all
-% things determined by your format. We cannot know those things in
-% advance. If you wish, you can define \bblhook to produce the title.
-% Or just do it before the \bibliography command.
-%
-\def\@readbblfile{%
- % Define a counter to tell us which item number we are on, unless
- % we've already defined it (because the document has more than one
- % bibliography).
- \ifx\@itemnum\@undefined
- \@innernewcount\@itemnum
- \fi
- %
- \begingroup
- % If another package has already defined \begin, don't define our
- % own simplistic \begin and \end; assume they want to take care of
- % it themselves. (That way, their \begin's and \end's for other
- % things can be used in the bib files.)
- \ifx\begin\@undefined
- \def\begin##1##2{%
- % ##1 is just `thebibliography'.
- % ##2 is the widest label.
- % We set (new dimen) \biblabelwidth based on the widest label
- \setbox0 = \hbox{\biblabelcontents{##2}}%
- \biblabelwidth = \wd0
- }%
- \let\end = \@gobble % The arg is `thebibliography' again.
- \fi
- %
- % Here we have two possibilities:
- % \bibitem[typesetlabel]{citationlabel}
- % \bibitem{citationlabel}
- % If we have the second of these, the citations are numbered, starting
- % from one; we use our own count register \@itemnum for this.
- %
- \@itemnum = 0
- \def\bibitem{\@getoptionalarg\@bibitem}%
- \def\@bibitem{%
- \ifx\@optionalarg\empty
- \expandafter\@numberedbibitem
- \else
- \expandafter\@alphabibitem
- \fi
- }%
- \def\@alphabibitem##1{%
- % Need \xdef here for various reasons.
- \expandafter \xdef\csname\@citelabel{##1}\endcsname {\@optionalarg}%
- % Left-justify alpha labels, unless \biblabel{pre,post}contents
- % are already defined.
- \ifx\biblabelprecontents\@undefined
- \let\biblabelprecontents = \relax
- \fi
- \ifx\biblabelpostcontents\@undefined
- \let\biblabelpostcontents = \hss
- \fi
- \@finishbibitem{##1}%
- }%
- %
- \def\@numberedbibitem##1{%
- \advance\@itemnum by 1
- \expandafter \xdef\csname\@citelabel{##1}\endcsname{\number\@itemnum}%
- % Right-justify numeric labels, unless \biblabel{pre,post}contents
- % are already defined.
- \ifx\biblabelprecontents\@undefined
- \let\biblabelprecontents = \hss
- \fi
- \ifx\biblabelpostcontents\@undefined
- \let\biblabelpostcontents = \relax
- \fi
- \@finishbibitem{##1}%
- }%
- %
- \def\@finishbibitem##1{%
- \biblabelprint{\csname\@citelabel{##1}\endcsname}%
- \@writeaux{\string\@citedef{##1}{\csname\@citelabel{##1}\endcsname}}%
- \ignorespaces
- }%
- %
- % Do the printing (we're producing the bibliography, remember).
- %
- \let\em = \bblem
- \let\newblock = \bblnewblock
- \let\sc = \bblsc
- % Punctuation won't affect spacing;
- \frenchspacing
- % the penalties below are from LaTeX's [article,book,report].sty;
- \clubpenalty = 4000 \widowpenalty = 4000
- % the next two values come from LaTeX's \sloppy command;
- \tolerance = 10000 \hfuzz = .5pt
- \everypar = {\hangindent = \biblabelwidth
- \advance\hangindent by \biblabelextraspace}%
- \bblrm
- % the \parskip is a guess at what looks good;
- \parskip = 1.5ex plus .5ex minus .5ex
- % and the space between label and text comes from LaTeX's \labelsep.
- \biblabelextraspace = .5em
- \bblhook
- %
- \input \bblfilebasename.bbl
- \endgroup
-}%
-%
-% The widest label's width is useful for redefining \biblabelprint;
-% you redefine \biblabelwidth, in effect, by redefining the
-% \biblabelcontents macro that appears below. And \biblabelextraspace,
-% which is redefinable inside \bblhook, is added to \biblabelwidth to
-% determine the amount of hanging indentation.
-%
-\@innernewdimen\biblabelwidth
-\@innernewdimen\biblabelextraspace
-%
-% Now come the main macros that are related to the printing of the
-% bibliography. Since you might want to redefine them, they are given
-% default definitions outside of \@readbblfile.
-%
-% The first one controls the printing of a bibliography entry's label.
-% If you change it, make sure that it starts with something like
-% \noindent or \indent or \leavevmode that puts TeX into horizontal mode
-% (even if the label itself is empty); otherwise, the hanging
-% indentation will get messed up in certain circumstances.
-%
-\def\biblabelprint#1{%
- \noindent
- \hbox to \biblabelwidth{%
- \biblabelprecontents
- \biblabelcontents{#1}%
- \biblabelpostcontents
- }%
- \kern\biblabelextraspace
-}%
-%
-% If you are using numeric labels, and you want them left-justified
-% (numeric labels by default are right-justified), do something like:
-% \def\biblabelprecontents{\relax}
-% \def\biblabelpostcontents{\hss}
-%
-% By default the labels are typeset in \bblrm, and enclosed in brackets.
-%
-\def\biblabelcontents#1{{\bblrm [#1]}}%
-%
-% The main text, too, is typeset using \bblrm, which is \rm by default.
-%
-\def\bblrm{\rm}%
-%
-% Emphasis for producing, e.g., titles, is done with \it by default.
-%
-\def\bblem{\it}%
-%
-% Some styles use a caps-and-small-caps font for author names. LaTeX
-% defines an \sc command but plain TeX doesn't, so we need one here.
-% The definition below doesn't load the font unless it's needed, but it
-% tries to load only the 10pt version, because it might not exist at
-% other point sizes.
-%
-\def\bblsc{\ifx\@scfont\@undefined
- \font\@scfont = cmcsc10
- \fi
- \@scfont
-}%
-%
-% The major parts of an entry are separated with \bblnewblock. The
-% numbers below are taken from LaTeX's `article' style.
-%
-\def\bblnewblock{\hskip .11em plus .33em minus .07em }%
-%
-% Here's where you stick any other bibliography-formatting goodies, or
-% redefine the values above.
-%
-\let\bblhook = \empty
-%
-%
-% Here are the four default definitions for formatting the in-text
-% citations. These are what you redefine (after your \input btxmac but
-% before your \bibliography) to get parens instead of brackets, or
-% superscripts, or footnotes, or whatever.
-%
-\def\printcitestart{[}% left bracket
-\def\printcitefinish{]}% right bracket
-\def\printbetweencitations{, }% comma, space
-\def\printcitenote#1{, #1}% comma, space, note (if it exists)
-%
-% That scheme is pretty flexible. For example you could use
-% \def\printcitestart{\unskip $^\bgroup}
-% \def\printcitefinish{\egroup$}
-% \def\printbetweencitations{,}
-% \def\printcitenote#1{\hbox{\sevenrm\space (#1)}}
-% \font\eighttt = cmtt8
-% \scriptfont\ttfam = \eighttt
-% to get superscripted in-text citations. (The scriptfont stuff
-% exists only to print an undefined citation; it's in cmtt8 because
-% there is no cmtt7.) To get something radically different, however,
-% you'll have to define your own \cite command.
-%
-% When we read `\citation' from the .aux file, it means nothing.
-%
-\let\citation = \@gobble
-%
-%
-% Now comes the stuff for dealing with LaTeX's \newcommand. As
-% mentioned earlier, this \newcommand will redefine a preexisting
-% command; that's different from how LaTeX's \newcommand behaves.
-%
-\@innernewcount\@numparams
-%
-% \newcommand{\foo}[n]{text} defines the control sequence \foo to have
-% n parameters, and replacement text `text'.
-%
-\def\newcommand#1{%
- \def\@commandname{#1}%
- \@getoptionalarg\@continuenewcommand
-}%
-%
-% Figure out if this definition has parameters.
-%
-\def\@continuenewcommand{%
- % If no optional argument, we have zero parameters. Otherwise, we
- % have that many.
- \@numparams = \ifx\@optionalarg\empty 0\else\@optionalarg \fi \relax
- \@newcommand
-}%
-%
-% \@numparams is how many arguments this command has. The name of the
-% command is \@commandname. The replacement text for the new macro is #1.
-%
-\def\@newcommand#1{%
- \def\@startdef{\expandafter\edef\@commandname}%
- \ifnum\@numparams=0
- \let\@paramdef = \empty
- \else
- \ifnum\@numparams>9
- \errmessage{\the\@numparams\space is too many parameters}%
- \else
- \ifnum\@numparams<0
- \errmessage{\the\@numparams\space is too few parameters}%
- \else
- \edef\@paramdef{%
- % This is disgusting, but \loop doesn't work inside \edef,
- % because \body isn't defined.
- \ifcase\@numparams
- \empty No arguments.
- \or ####1%
- \or ####1####2%
- \or ####1####2####3%
- \or ####1####2####3####4%
- \or ####1####2####3####4####5%
- \or ####1####2####3####4####5####6%
- \or ####1####2####3####4####5####6####7%
- \or ####1####2####3####4####5####6####7####8%
- \or ####1####2####3####4####5####6####7####8####9%
- \fi
- }%
- \fi
- \fi
- \fi
- \expandafter\@startdef\@paramdef{#1}%
-}%
-%
-%% [[[end of BibTeX-specific stuff]]]
-%
-%
-% Names of references (arguments given in the \cite and \nocite
-% commands) and file names (arguments given in the \bibliography and
-% \bibliographystyle commands) are recorded in \jobname.aux, called the
-% \@auxfile in these macros. Here's how they get read in.
-%
-\def\@readauxfile{%
- \if@auxfiledone \else % remember: \@auxfiledonetrue if \noauxfile is defined
- \global\@auxfiledonetrue
- \@testfileexistence{aux}%
- \if@fileexists
- \begingroup
- % Because we might be in horizontal mode when \@readauxfile
- % is called (if it's in response to a \cite or \nocite), we
- % want to ignore all the would-be spaces at the ends of
- % lines in the aux file. Fortunately, it's highly unlikely
- % an end-of-line might actually be desired.
- % And because we don't change the category code of anything
- % but @, primitives like \gdef can't be used to define labels
- % in the aux file. The solution adopted by btxmac.tex is to
- % write `\@citedef{LABEL}{DEFINITION}' to the aux file, and
- % use \csname on LABEL.
- \endlinechar = -1
- \catcode`@ = 11
- \input \jobname.aux
- \endgroup
- \else
- \message{\@undefinedmessage}%
- \global\@citewarningfalse
- \fi
- \immediate\openout\@auxfile = \jobname.aux
- \fi
-}%
-%
-% The \@readauxfile macro does all that work the first time it's called.
-% Since it's called once for every \cite, \nocite, \bibliography, and
-% \bibliographystyle command that the user issues, we need to remember
-% whether the work's been done. It's considered done if we're not to do
-% it---that is, if \noauxfile is defined.
-%
-\newif\if@auxfiledone
-\ifx\noauxfile\@undefined \else \@auxfiledonetrue\fi
-%
-% It's conceivable you'd want to change how other characters are read;
-% to do that, change their category code before doing \input btxmac.
-%
-%
-% After reading the .aux file, \@readauxfile opens it for writing.
-% The \@writeaux macro does the actual writing (as long as
-% \noauxfile is undefined).
-%
-\@innernewwrite\@auxfile
-\def\@writeaux#1{\ifx\noauxfile\@undefined \write\@auxfile{#1}\fi}%
-%
-%
-% A macro package that uses btxmac.tex might define
-% \@undefinedmessage (before doing an \input btxmac).
-%
-\ifx\@undefinedmessage\@undefined
- \def\@undefinedmessage{No .aux file; I won't give you warnings about
- undefined citations.}%
-\fi
-%
-% Even if citations are undefined, we want to complain only if
-% \@citewarningtrue. The default is to set \@citewarningtrue unless
-% \noauxfile is defined. Again, a macro package that uses
-% btxmac.tex might want to redefine this.
-%
-\@innernewif\if@citewarning
-\ifx\noauxfile\@undefined \@citewarningtrue\fi
-%
-%
-% Finally, before leaving we restore @'s old category code.
-%
-\catcode`@ = \@oldatcatcode
diff --git a/Build/source/extra/bibtex/ieeetr.bst b/Build/source/extra/bibtex/ieeetr.bst
index e582e8cc06d..b8cacb51f6f 100644
--- a/Build/source/extra/bibtex/ieeetr.bst
+++ b/Build/source/extra/bibtex/ieeetr.bst
@@ -1,13 +1,19 @@
-% IEEE Transactions bibliography style (29-Jan-88 version)
+% Copyright (C) 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
+%
+% IEEE Transactions bibliography style (8-Dec-10 version)
% numeric labels, order-of-reference, IEEE abbreviations,
% quotes around article titles, commas separate all fields
% except after book titles and before "notes". Otherwise,
% much like the "plain" family, from which this is adapted.
%
% History
-% 9/30/85 (HWT) Original version, by Howard Trickey.
-% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
-% THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 9/30/85 (HWT) Original version, by Howard Trickey.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 12/ 8/10 (OP&HWT) Clarify license.
ENTRY
{ address
@@ -37,7 +43,7 @@ ENTRY
{ label }
INTEGERS { output.state before.all mid.sentence after.quote after.sentence
- after.quoted.block after.block }
+ after.quoted.block after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -55,26 +61,26 @@ FUNCTION {output.nonnull}
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.quote =
- { " " * write$ }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { output.state after.quoted.block =
- { write$
- newline$
- "\newblock " write$
- }
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- }
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quoted.block =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -124,8 +130,8 @@ FUNCTION {new.block}
{ output.state before.all =
'skip$
{ output.state after.quote =
- { after.quoted.block 'output.state := }
- { after.block 'output.state := }
+ { after.quoted.block 'output.state := }
+ { after.block 'output.state := }
if$
}
if$
@@ -135,8 +141,8 @@ FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
+ 'skip$
+ { after.sentence 'output.state := }
if$
}
if$
@@ -207,20 +213,20 @@ FUNCTION {format.names}
{ namesleft #0 > }
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " {\em et~al.}" * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -240,8 +246,8 @@ FUNCTION {format.editors}
{ "" }
{ editor format.names
editor num.names$ #1 >
- { ", eds." * }
- { ", ed." * }
+ { ", eds." * }
+ { ", ed." * }
if$
}
if$
@@ -266,21 +272,21 @@ FUNCTION {n.dashify}
""
{ 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 :=
- }
+ { 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$
@@ -289,15 +295,15 @@ FUNCTION {n.dashify}
FUNCTION {format.date}
{ year empty$
{ month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- month
- }
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
if$
}
{ month empty$
- 'year
- { month " " * year * }
+ 'year
+ { month " " * year * }
if$
}
if$
@@ -327,8 +333,8 @@ FUNCTION {format.bvolume}
{ "" }
{ "vol.~" volume *
series empty$
- 'skip$
- { " of " * series emphasize * }
+ 'skip$
+ { " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
@@ -338,17 +344,17 @@ FUNCTION {format.bvolume}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "no.~" }
- { "No.~" }
- if$
- number *
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
if$
}
{ "" }
@@ -376,8 +382,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -388,8 +394,8 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pp.~" pages n.dashify * }
- { "p.~" pages * }
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
if$
}
if$
@@ -413,12 +419,12 @@ FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
- { "ch.~" chapter * }
- { type "l" change.case$ chapter tie.or.space.connect }
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
if$
pages empty$
- 'skip$
- { ", " * format.pages * }
+ 'skip$
+ { ", " * format.pages * }
if$
}
if$
@@ -429,8 +435,8 @@ FUNCTION {format.in.ed.booktitle}
{ "" }
{ "in " booktitle emphasize *
editor empty$
- 'skip$
- { " (" * format.editors * ")" * }
+ 'skip$
+ { " (" * format.editors * ")" * }
if$
}
if$
@@ -441,8 +447,8 @@ FUNCTION {format.thesis.type}
'skip$
{ pop$
output.state after.block =
- { type "t" change.case$ }
- { type "l" change.case$ }
+ { type "t" change.case$ }
+ { type "l" change.case$ }
if$
}
if$
@@ -472,8 +478,8 @@ FUNCTION {format.addr.pub}
{ publisher empty$
{ "" }
{ address empty$
- { "" }
- { address ": " * }
+ { "" }
+ { address ": " * }
if$
publisher *
}
@@ -490,11 +496,11 @@ FUNCTION {format.paddress}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "in {\em " journal * "\/}" * }
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/}" * }
if$
}
{ "in " key * }
@@ -508,12 +514,12 @@ FUNCTION {format.crossref.editor}
#2 >
{ pop$ " {\em et~al.}" * }
{ #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " {\em et~al.}" * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
if$
}
if$
@@ -532,15 +538,15 @@ FUNCTION {format.book.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "{\em " * series * "\/}" * }
- if$
- }
- { key * }
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
if$
}
{ format.crossref.editor * }
@@ -553,15 +559,15 @@ FUNCTION {format.incoll.inproc.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "in {\em " booktitle * "\/}" * }
- if$
- }
- { "in " key * }
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "in " key * }
if$
}
{ "in " format.crossref.editor * }
@@ -578,8 +584,8 @@ FUNCTION {article}
{ journal emphasize "journal" output.check
format.volume output
month empty$
- { format.number output }
- 'skip$
+ { format.number output }
+ 'skip$
if$
format.pages output
format.date "year" output.check
@@ -599,8 +605,8 @@ FUNCTION {book}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -632,8 +638,8 @@ FUNCTION {booklet}
{ howpublished empty$ not
address empty$ month empty$ year empty$ and and
or
- { format.title.p output.nonnull }
- { format.title output.nonnull }
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
if$
blank.sep
}
@@ -652,8 +658,8 @@ FUNCTION {inbook}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -730,10 +736,10 @@ FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
- 'skip$
- { organization output.nonnull
- address output
- }
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
if$
}
{ format.authors output.nonnull }
@@ -741,10 +747,10 @@ FUNCTION {manual}
format.btitle "title" output.check
author empty$
{ organization empty$
- { address new.block.checka
- address output
- }
- 'skip$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
if$
}
{ organization address new.block.checkb
@@ -781,8 +787,8 @@ FUNCTION {misc}
{ howpublished empty$ not
month empty$ year empty$ and
or
- { format.title.p output.nonnull }
- { format.title output.nonnull }
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
if$
blank.sep
}
diff --git a/Build/source/extra/bibtex/plain.bst b/Build/source/extra/bibtex/plain.bst
index 436410a8272..7adf4bb0a34 100644
--- a/Build/source/extra/bibtex/plain.bst
+++ b/Build/source/extra/bibtex/plain.bst
@@ -1,12 +1,12 @@
% BibTeX standard bibliography style `plain'
- % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
+ % Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
+ % Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+ % Unlimited copying and redistribution of this file are permitted as long as
+ % it is unmodified. Modifications (and redistribution of modified versions)
+ % are also permitted, but only if the resulting file is renamed to something
+ % besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
ENTRY
{ address
diff --git a/Build/source/extra/bibtex/siam.bst b/Build/source/extra/bibtex/siam.bst
index 86b86d984f8..ce88b41e416 100644
--- a/Build/source/extra/bibtex/siam.bst
+++ b/Build/source/extra/bibtex/siam.bst
@@ -1,13 +1,19 @@
-% SIAM bibliography style (29-Jan-88 version)
+% Copyright (C) 1986, 1987, 1988, 2010 Howard Trickey and Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted as long as
+% it is unmodified. Modifications (and redistribution of modified versions)
+% are also permitted, but only if the resulting file is renamed.
+%
+% SIAM bibliography style (8-Dec-10 version)
% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
% names in \sc, titles in italics, book titles mixed upper-lower and article
% titles lowercase, commas separate all fields except before "notes".
%
% History
-% 1/30/86 (HWT) Original version, by Howard Trickey.
-% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
-% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
-% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 12/ 8/10 (OP&HWT) Clarify license.
ENTRY
{ address
@@ -51,11 +57,11 @@ FUNCTION {output.nonnull}
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- 'write$
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
if$
mid.sentence 'output.state :=
}
@@ -157,20 +163,20 @@ FUNCTION {format.names}
{ namesleft #0 > }
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " et~al." * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -219,11 +225,11 @@ FUNCTION {format.editors}
}
{ editor last.authors =
{ "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
- { editor format.names scapify }
+ { editor format.names scapify }
if$
editor num.names$ #1 >
{ ", eds." * }
- { ", ed." * }
+ { ", ed." * }
if$
editor 'last.authors :=
}
@@ -235,8 +241,8 @@ FUNCTION {format.ineditors}
{ "" }
{ editor format.names
editor num.names$ #1 >
- { ", eds." * }
- { ", ed." * }
+ { ", eds." * }
+ { ", ed." * }
if$
}
if$
@@ -254,21 +260,21 @@ FUNCTION {n.dashify}
""
{ 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 :=
- }
+ { 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$
@@ -277,15 +283,15 @@ FUNCTION {n.dashify}
FUNCTION {format.date}
{ year empty$
{ month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- month
- }
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
if$
}
{ month empty$
- 'year
- { month " " * year * }
+ 'year
+ { month " " * year * }
if$
}
if$
@@ -315,8 +321,8 @@ FUNCTION {format.bvolume}
{ "" }
{ "vol.~" volume *
series empty$
- 'skip$
- { " of " * series * }
+ 'skip$
+ { " of " * series * }
if$
"volume and number" number either.or.check
}
@@ -326,13 +332,13 @@ FUNCTION {format.bvolume}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
- { series field.or.null }
- { "no.~" number *
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
if$
}
{ "" }
@@ -360,8 +366,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -372,8 +378,8 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pp.~" pages n.dashify * }
- { "p.~" pages * }
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
if$
}
if$
@@ -391,12 +397,12 @@ FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
- { "ch.~" chapter * }
- { type "l" change.case$ chapter tie.or.space.connect }
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
if$
pages empty$
- 'skip$
- { ", " * format.pages * }
+ 'skip$
+ { ", " * format.pages * }
if$
}
if$
@@ -406,8 +412,8 @@ FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
- { "in " booktitle * }
- { "in " booktitle * ", " * format.ineditors * }
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
if$
}
if$
@@ -446,11 +452,11 @@ FUNCTION {format.tr.number}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "in " journal * }
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
if$
}
{ "in " key * }
@@ -464,12 +470,12 @@ FUNCTION {format.crossref.editor}
#2 >
{ pop$ " et~al." * }
{ #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
if$
}
if$
@@ -488,15 +494,15 @@ FUNCTION {format.book.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { series * }
- if$
- }
- { key * }
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
if$
}
{ format.crossref.editor * }
@@ -509,15 +515,15 @@ FUNCTION {format.incoll.inproc.crossref}
editor field.or.null author field.or.null =
or
{ key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "in " booktitle * }
- if$
- }
- { "in " key * }
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
if$
}
{ "in " format.crossref.editor * }
@@ -547,8 +553,8 @@ FUNCTION {book}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -587,8 +593,8 @@ FUNCTION {inbook}
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { "author and editor" editor either.or.check }
+ 'skip$
if$
}
if$
@@ -639,15 +645,15 @@ FUNCTION {inproceedings}
format.bvolume output
format.number.series output
address empty$
- { organization output
- publisher output
- format.date "year" output.check
- }
- { address output.nonnull
- format.date "year" output.check
- organization output
- publisher output
- }
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
if$
}
{ format.incoll.inproc.crossref output.nonnull }
@@ -729,8 +735,8 @@ FUNCTION {proceedings}
format.number.series output
address empty$
{ editor empty$
- 'skip$
- { organization output }
+ 'skip$
+ { organization output }
if$
publisher output
format.date "year" output.check
@@ -738,8 +744,8 @@ FUNCTION {proceedings}
{ address output.nonnull
format.date "year" output.check
editor empty$
- 'skip$
- { organization output }
+ 'skip$
+ { organization output }
if$
publisher output
}
@@ -865,13 +871,13 @@ FUNCTION {sort.format.names}
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
- { " " * }
- 'skip$
+ { " " * }
+ 'skip$
if$
s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
+ { "et al" * }
+ { t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
@@ -893,10 +899,10 @@ FUNCTION {sort.format.title}
FUNCTION {author.sort}
{ author empty$
{ key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
if$
}
{ author sort.format.names }
@@ -906,14 +912,14 @@ FUNCTION {author.sort}
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 }
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
if$
}
{ author sort.format.names }
@@ -923,14 +929,14 @@ FUNCTION {author.editor.sort}
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 }
+ { 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 }
@@ -940,14 +946,14 @@ FUNCTION {author.organization.sort}
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 }
+ { 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 }
@@ -960,12 +966,12 @@ FUNCTION {presort}
or
'author.editor.sort
{ type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
if$
}
if$
diff --git a/Build/source/extra/bibtex/unsrt.bst b/Build/source/extra/bibtex/unsrt.bst
index bbbbd4221b6..4be323eea0e 100644
--- a/Build/source/extra/bibtex/unsrt.bst
+++ b/Build/source/extra/bibtex/unsrt.bst
@@ -1,12 +1,12 @@
% BibTeX standard bibliography style `unsrt'
- % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
- % Copyright (C) 1985, all rights reserved.
- % Copying of this file is authorized only if either
- % (1) you make absolutely no changes to your copy, including name, or
- % (2) if you do make changes, you name it something other than
- % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
- % This restriction helps ensure that all standard styles are identical.
- % The file btxbst.doc has the documentation for this style.
+ % Version 0.99b (8-Dec-10 release) for BibTeX versions 0.99a or later.
+ % Copyright (C) 1984, 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
+ % Unlimited copying and redistribution of this file are permitted as long as
+ % it is unmodified. Modifications (and redistribution of modified versions)
+ % are also permitted, but only if the resulting file is renamed to something
+ % besides btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
ENTRY
{ address
diff --git a/Build/source/extra/bibtex/xampl.bib b/Build/source/extra/bibtex/xampl.bib
index dfd1269022d..85ee5cb703e 100644
--- a/Build/source/extra/bibtex/xampl.bib
+++ b/Build/source/extra/bibtex/xampl.bib
@@ -1,3 +1,8 @@
+% Copyright (C) 1988, 2010 Oren Patashnik.
+% Unlimited copying and redistribution of this file are permitted if it
+% is unmodified. Modifications (and their redistribution) are also
+% permitted, as long as the resulting file is renamed.
+
@preamble{ "\newcommand{\noopsort}[1]{} "
# "\newcommand{\printfirst}[2]{#1} "
# "\newcommand{\singleletter}[1]{#1} "