From d4169644c581342b4c05a04b0c6b6ce02c83336a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 14 Dec 2010 18:06:52 +0000 Subject: 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 --- Build/source/extra/bibtex/Makefile | 67 ++ Build/source/extra/bibtex/README | 36 + Build/source/extra/bibtex/abbrv.bst | 16 +- Build/source/extra/bibtex/acm.bst | 376 +++++------ Build/source/extra/bibtex/alpha.bst | 16 +- Build/source/extra/bibtex/apalike.bst | 388 +++++------ Build/source/extra/bibtex/apalike.doc | 60 -- Build/source/extra/bibtex/apalike.sty | 61 +- Build/source/extra/bibtex/apalike.tex | 38 +- Build/source/extra/bibtex/bibtex.1 | 74 --- Build/source/extra/bibtex/bibtex.cms-changes | 253 ------- Build/source/extra/bibtex/bibtex.ins | 52 -- Build/source/extra/bibtex/bibtex.tops20-changes | 113 ---- Build/source/extra/bibtex/bibtex.vms-changes | 277 -------- Build/source/extra/bibtex/bibtex.web | 16 +- Build/source/extra/bibtex/btxbst.doc | 22 +- Build/source/extra/bibtex/btxdoc.aux | 41 -- Build/source/extra/bibtex/btxdoc.bbl | 23 - Build/source/extra/bibtex/btxdoc.bib | 5 +- Build/source/extra/bibtex/btxdoc.pdf | Bin 0 -> 187656 bytes Build/source/extra/bibtex/btxdoc.tex | 7 +- Build/source/extra/bibtex/btxdoc.xua | 28 - Build/source/extra/bibtex/btxhak.pdf | Bin 0 -> 166659 bytes Build/source/extra/bibtex/btxhak.tex | 5 +- Build/source/extra/bibtex/btxmac.tex | 842 ------------------------ Build/source/extra/bibtex/ieeetr.bst | 286 ++++---- Build/source/extra/bibtex/plain.bst | 16 +- Build/source/extra/bibtex/siam.bst | 310 ++++----- Build/source/extra/bibtex/unsrt.bst | 16 +- Build/source/extra/bibtex/xampl.bib | 5 + 30 files changed, 930 insertions(+), 2519 deletions(-) create mode 100644 Build/source/extra/bibtex/Makefile create mode 100644 Build/source/extra/bibtex/README delete mode 100644 Build/source/extra/bibtex/apalike.doc delete mode 100644 Build/source/extra/bibtex/bibtex.1 delete mode 100644 Build/source/extra/bibtex/bibtex.cms-changes delete mode 100644 Build/source/extra/bibtex/bibtex.ins delete mode 100644 Build/source/extra/bibtex/bibtex.tops20-changes delete mode 100644 Build/source/extra/bibtex/bibtex.vms-changes delete mode 100644 Build/source/extra/bibtex/btxdoc.aux delete mode 100644 Build/source/extra/bibtex/btxdoc.bbl create mode 100644 Build/source/extra/bibtex/btxdoc.pdf delete mode 100644 Build/source/extra/bibtex/btxdoc.xua create mode 100644 Build/source/extra/bibtex/btxhak.pdf delete mode 100644 Build/source/extra/bibtex/btxmac.tex 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 -@ -@# -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 -@= -begin -name_length := aux_name_length; {set to last used position} -add_extension (s_aux_extension); {this also sets |name_length|} -@y -@= -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 -@= - -@!status: boolean; {did the last |reset| or |rewrite| succede?} - -@!tty_in, tty_out: text; -@ @= -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 -@= -@!check_cmnd_line : boolean; {|true| if we're to check the command line} -@y - -@d RSCAN=@'500 {ReSCAN buffer JSYS} - -@= -@!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. -@= -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. - -@= -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 - -@= -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 - -@= -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 -@= -@{@&$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 @> - -@= -@=[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 -@= -@y -@= -@!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 - -@= -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 -@= -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. -@= -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. - -@= -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 -@ -@= -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 Binary files /dev/null and b/Build/source/extra/bibtex/btxdoc.pdf 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 Binary files /dev/null and b/Build/source/extra/bibtex/btxhak.pdf 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} " -- cgit v1.2.3