Below is a shar with a diff to btxbst.doc and biblist.bst. btxbst.doc
is renamed to itibst.doc. Enjoy.

--
Joachim				// PLEASE NOTE CHANGE OF EMAIL ADDRESS !!

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany


================ snip snap ========================================
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  itibst.diff biblist.bst
# Wrapped by schrod@itihp11 on Mon Jan 13 15:03:52 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'itibst.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'itibst.diff'\"
else
echo shar: Extracting \"'itibst.diff'\" \(28321 characters\)
sed "s/^X//" >'itibst.diff' <<'END_OF_FILE'
X*** 1.1	1991/10/15 10:34:27
X--- itibst.doc	1992/01/13 14:00:36
X***************
X*** 1,54 ****
X! % BibTeX `plain' family
X!         % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
X!         % Copyright (C) 1985, all rights reserved.
X!         % Copying of this file is authorized only if either
X!         % (1) you make absolutely no changes to your copy, including name, or
X!         % (2) if you do make changes, you name it something other than
X!         % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
X!         % This restriction helps ensure that all standard styles are identical.
X!         % The file btxbst.doc has the documentation for this style.
X! % Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
X! % these standard styles or in this documentation file.
X  %
X! % This is file btxbxt.doc; it helps document bibliography styles,
X  % and is also a template file that you can use to make
X  % several different style files, if you have access to a C preprocessor.
X! % For example, the standard styles were made by doing something like
X! %       cpp -P -DPLAIN btxbst.doc plain.txt
X! %       cpp -P -DUNSRT btxbst.doc unsrt.txt
X! %       cpp -P -DALPHA btxbst.doc alpha.txt
X! %       cpp -P -DABBRV btxbst.doc abbrv.txt
X! % and then renaming after removing unwanted comments and blank lines.
X! % If you don't have access,
X! % you can edit this file by hand to imitate the preprocessor,
X! % with the following explanation of the C preprocessor constructs used here.
X! %
X! % The output of the preprocessor is the same as the input, except that certain
X! % lines will be excluded (and some blank lines will be added).  The sequence
X! %       #if VAR
X! %           lines to be included when VAR is not zero
X! %       #else
X! %           lines to be included when VAR is zero
X! %       #endif
X! % (with the #-signs appearing in column 1) means that one set or the other of
X! % the lines are to be included depending on the value of VAR.
X! % The #else part is optional.  Comments can be added after #else and #endif.
X! % Variables can be set by
X! %       #define VAR value
X! % and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
X! % to see if it has none.
X! % Another #if form used in this file is #if !VAR, which includes the lines
X! % after the #if only if VAR is zero.
X! %
X! % Convention: Use all uppercase identifiers for these preprocessor variables
X! % so you can spot them easily
X! %
X! % The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
X! % or ABBRV (though PLAIN will be used by default if none is given),
X! % and the following lines will set various boolean variables to control the
X! % various lines that are chosen from the rest of the file.
X! % Each boolean variable should be set true (1) or false (0) in each style.
X! % Here are the current variables, and their meanings:
X  %       LAB_ALPH:       an alphabetic label is used (if false then a numeric
X  %                           label is used)
X  %       SORTED:         the entries should be sorted by label (if nonnumeric)
X--- 1,71 ----
X! %% $Id: itibst.doc,v 1.3 1992/01/13 13:59:34 schrod Exp schrod $
X! %%----------------------------------------------------------------------
X! %% BibTeX `THD/ITI' family of bibliography styles
X! %% The file itibst.doc has the documentation for this style.
X! %% Please notify Joachim Schrod (schrod@iti.informatik.th-darmstadt.de) of
X! %% any bugs in these styles or in this documentation file.
X! %%
X! %% CAVEAT: This is experimental software in an alpha-test version.
X! %%	   The documentation is not complete, installation instructions
X! %%	   are missing (or perhaps not updated), etc. Please send
X! %%	   bug reports (and, of course, repairs) to me, but do not expect
X! %%	   that I will react very soon. I will collect the stuff and will
X! %%	   incorporate it at a later date.
X! %%
X! %
X! % $Log: itibst.doc,v $
X! % Revision 1.3  1992/01/13  13:59:34  schrod
X! % In biblist style titles will not be lowered. The user should see
X! % what's in the database.
X! %
X! % The Id tag is now propagated to the styles. One must see from which
X! % version they were created.
X! %
X! % Replaced function format.annote with output.annote. The former
X! % concatenated the annote field which yielded an overflow of the
X! % global-string-size (at max. 1000).
X! %    Well, I learned now that fields which might be very large (ie,
X! % more than 1000 chars) must not be used with operations like "*", only
X! % with functions like empty$, write$, etc. Of course, these arbitrary
X! % limits are not documented...
X! %    (This error was pointed out by Joseph Gil <yogi@cs.ubc.ca>.)
X! %
X! % Revision 1.2  1991/10/15  10:35:32  schrod
X! % added support for GERMAN, ISBN, ANNOTATE, and LIBRARY.
X! % added REFERENCE.
X! % added styles ALPH_ABBRV and BIBLIST.
X! % defined ATIT_LOWER conditionally.
X  %
X! % checked in for alpha distribution.
X! %
X! %
X! % This is file itibst.doc; it helps document bibliography styles,
X  % and is also a template file that you can use to make
X  % several different style files, if you have access to a C preprocessor.
X! %
X! % identifiers:
X! %
X! %	UNSRT		bst unsrt: numbers, unsorted, unabbreviated
X! %	ALPHA		bst alpha: short alphabetics, sorted, unabbreviated
X! %	ABBRV		bst abbrv: numbers, sorted, abbreviated
X! %	ALPH_ABBRV	bst alph-abbrv: short alphabetics, sorted, abbreviated
X! %	PLAIN		bst plain: numbers, sorted, unabbreviated
X! %   (all 5 by default with lowered titles)
X! %
X! %	BIBLIST		bst biblist: for listings of bib files,
X! %			cite keys, unsorted, unabbreviated, not lowered
X! %			(defines REFERENCE and sets ATIT_LOWER to 0)
X! %
X! %	GERMAN		not-lowered titles
X! %                       german texts (not complete!!!)
X! %	REFERENCE	sets ISBN, ANNOTATE, LIBRARY
X! %
X! %	ISBN		adds support for ISBN and ISSN
X! %	ANNOTATE	adds support for annotations
X! %	LIBRARY		adds support for library info
X! %
X! %
X! % in fact, the following identifiers are used internally:
X  %       LAB_ALPH:       an alphabetic label is used (if false then a numeric
X  %                           label is used)
X  %       SORTED:         the entries should be sorted by label (if nonnumeric)
X***************
X*** 57,114 ****
X  %       NAME_FULL:      the authors, editors, etc., get the full names as
X  %                           given in the bibliography file (if false, the first
X  %                           names become initials)
X- %       ATIT_LOWER:     titles of non-"books" (e.g., articles) should be
X- %                           converted to lower-case, except the first letter or
X- %                           first letter after a colon
X- %                           (if false then they appear as in the database)
X  %       MONTH_FULL:     months are spelled out in full (if false, then
X  %                           they're abbreviated)
X  %       JOUR_FULL:      macro journal names are spelled out in full
X  %                           (if false then they are abbreviated, currently
X  %                           as they appear in ACM publications)
X! #ifndef UNSRT
X! #   ifndef ALPHA
X! #       ifndef ABBRV
X! #           define PLAIN 1
X! #       endif
X! #   endif
X! #endif
X! #ifdef PLAIN
X! % plain style (sorted numbers)
X! #   define LAB_ALPH 0
X! #   define SORTED 1
X! #   define NAME_FULL 1
X! #   define ATIT_LOWER 1
X! #   define MONTH_FULL 1
X! #   define JOUR_FULL 1
X  #endif
X  #ifdef UNSRT
X! % unsrt style (unsorted numbers)
X  #   define LAB_ALPH 0
X  #   define SORTED 0
X  #   define NAME_FULL 1
X! #   define ATIT_LOWER 1
X  #   define MONTH_FULL 1
X  #   define JOUR_FULL 1
X  #endif
X  #ifdef ALPHA
X! % alpha style (sorted short alphabetics)
X  #   define LAB_ALPH 1
X  #   define SORTED 1
X! #   define NAME_FULL 1
X  #   define ATIT_LOWER 1
X  #   define MONTH_FULL 1
X  #   define JOUR_FULL 1
X  #endif
X  #ifdef ABBRV
X! % abbrv style (sorted numbers, with abbreviations)
X  #   define LAB_ALPH 0
X  #   define SORTED 1
X  #   define NAME_FULL 0
X  #   define ATIT_LOWER 1
X  #   define MONTH_FULL 0
X  #   define JOUR_FULL 0
X  #endif
X  %
X  %   Entry formatting: Similar to that recommended by Mary-Claire van Leunen
X  %       in "A Handbook for Scholars".  Book-like titles are italicized
X--- 74,185 ----
X  %       NAME_FULL:      the authors, editors, etc., get the full names as
X  %                           given in the bibliography file (if false, the first
X  %                           names become initials)
X  %       MONTH_FULL:     months are spelled out in full (if false, then
X  %                           they're abbreviated)
X  %       JOUR_FULL:      macro journal names are spelled out in full
X  %                           (if false then they are abbreviated, currently
X  %                           as they appear in ACM publications)
X! %
X! % this might be set on request:
X! %       ATIT_LOWER:     titles of non-"books" (e.g., articles) should be
X! %                           converted to lower-case, except the first letter or
X! %                           first letter after a colon
X! %                           (if false then they appear as in the database)
X! %
X! % PLAIN is default!
X! %
X! %
X! % creation:
X! %
X! %	/lib/cpp -P [ defines ] itibst.doc |
X! %		perl -n -e 's/^%$//; s/^%[^%].*//; print unless $_ eq "\n";' \
X! %			>style.bst
X! %
X! #ifdef GERMAN
X! %% german texts
X! #   define ATIT_LOWER 0
X  #endif
X  #ifdef UNSRT
X! %% unsrt style (unsorted numbers)
X  #   define LAB_ALPH 0
X  #   define SORTED 0
X  #   define NAME_FULL 1
X! #   ifndef ATIT_LOWER
X! #       define ATIT_LOWER 1
X! #   endif
X  #   define MONTH_FULL 1
X  #   define JOUR_FULL 1
X  #endif
X  #ifdef ALPHA
X! %% alpha style (sorted short alphabetics)
X  #   define LAB_ALPH 1
X  #   define SORTED 1
X! #   define NAME_FULL 0
X! #ifndef ATIT_LOWER
X  #   define ATIT_LOWER 1
X+ #endif
X  #   define MONTH_FULL 1
X  #   define JOUR_FULL 1
X  #endif
X  #ifdef ABBRV
X! %% abbrv style (sorted numbers, with abbreviations)
X  #   define LAB_ALPH 0
X  #   define SORTED 1
X  #   define NAME_FULL 0
X+ #ifndef ATIT_LOWER
X+ #   define ATIT_LOWER 1
X+ #endif
X+ #   define MONTH_FULL 0
X+ #   define JOUR_FULL 0
X+ #endif
X+ #ifdef ALPH_ABBRV
X+ %% alph-abbrv style (sorted short alphabetics, with abbreviations)
X+ #   define LAB_ALPH 1
X+ #   define SORTED 1
X+ #   define NAME_FULL 0
X+ #ifndef ATIT_LOWER
X  #   define ATIT_LOWER 1
X+ #endif
X  #   define MONTH_FULL 0
X  #   define JOUR_FULL 0
X  #endif
X+ #ifdef BIBLIST
X+ %% biblist style (unsorted, for listings of bib files)
X+ #   define LAB_ALPH 0
X+ #   define SORTED 0
X+ #   define NAME_FULL 1
X+ #ifndef ATIT_LOWER
X+ #   define ATIT_LOWER 0
X+ #endif
X+ #   define MONTH_FULL 1
X+ #   define JOUR_FULL 1
X+ #   define REFERENCE
X+ #endif
X+ #ifndef SORTED                  /* use PLAIN */
X+ %% plain style (sorted numbers)
X+ #   define LAB_ALPH 0
X+ #   define SORTED 1
X+ #   define NAME_FULL 1
X+ #   ifndef ATIT_LOWER
X+ #       define ATIT_LOWER 1
X+ #   endif
X+ #   define MONTH_FULL 1
X+ #   define JOUR_FULL 1
X+ #endif
X+ #ifdef REFERENCE
X+ #   define ISBN 1
X+ #   define ANNOTATE 1
X+ #   define LIBRARY 1
X+ #endif
X+ #ifndef ISBN
X+ #   define ISBN 0
X+ #endif
X+ #ifndef ANNOTATE
X+ #   define ANNOTATE 0
X+ #endif
X+ #ifndef LIBRARY
X+ #   define LIBRARY 0
X+ #endif
X  %
X  %   Entry formatting: Similar to that recommended by Mary-Claire van Leunen
X  %       in "A Handbook for Scholars".  Book-like titles are italicized
X***************
X*** 199,206 ****
X  %           however, it's the address of the conference; for those two entry
X  %           types, include the publisher's or organization's address, if
X  %           necessary, in the publisher or organization field.
X! %    annote
X  %           Long annotation---for annotated bibliographies (begins sentence).
X      author
X  %           Name(s) of author(s), in BibTeX name format.
X      booktitle
X--- 270,279 ----
X  %           however, it's the address of the conference; for those two entry
X  %           types, include the publisher's or organization's address, if
X  %           necessary, in the publisher or organization field.
X! #if ANNOTATE
X!     annote
X  %           Long annotation---for annotated bibliographies (begins sentence).
X+ #endif
X      author
X  %           Name(s) of author(s), in BibTeX name format.
X      booktitle
X***************
X*** 218,228 ****
X--- 291,311 ----
X  %            How something strange has been published (begins sentence).
X      institution
X  %           Sponsoring institution of a technical report.
X+ #if ISBN
X+     isbn
X+ %           ISBN of book
X+     issn
X+ %           ISSN of periodical
X+ #endif
X      journal
X  %           Journal name (macros are provided for many).
X      key
X  %           Alphabetizing, labeling, and cross-referencing key
X  %           (needed when an entry has no author or editor).
X+ #if LIBRARY
X+     library
X+ %           Library signature
X+ #endif
X      month
X  %           Month (macros are provided).
X      note
X***************
X*** 380,385 ****
X--- 463,491 ----
X  %       output.state := before.all
X  %  END
X  %
X+ #if ANNOTATE
X+ % The output.annote function writes the annotation for the current
X+ % entry. It must not use the concatenation operator since an
X+ % annotation may be rather long and BibTeX has an arbitrary limit
X+ % (1000) on the length of strings.
X+ % 
X+ % In fact, this function is defined later, since it needs new.block
X+ % which is not defined yet.
X+ % 
X+ % output.annote ==
X+ %   BEGIN
X+ % 	if not empty$(annote) then
X+ %           new.block
X+ %           prepare for output of "\annote "
X+ %           newline$
X+ %           write$("\annote ")
X+ %           write$(annote)
X+ %           newline$
X+ %           push "\endannote" on stack		% for fin.entry
X+ %       fi
X+ %   END
X+ %
X+ #endif
X  % The fin.entry function finishes off an entry by adding a period to the
X  % string remaining on the stack.  If the state is still before.all
X  % then nothing was produced for this entry, so the result will look bad,
X***************
X*** 503,508 ****
X--- 609,629 ----
X    if$
X  }
X  
X+ #if ANNOTATE
X+ FUNCTION {output.annote}
X+ {
X+   annote empty$
X+     {  }
X+     {
X+       new.block  "\annote " output
X+       newline$  write$
X+       annote write$  newline$
X+       "\endannote"
X+     }
X+   if$
X+ }
X+ #endif
X+ 
X  % These three functions pop one or two (integer) arguments from the stack
X  % and push a single one, either 0 or 1.
X  % The 'skip$ in the `and' and `or' functions are used because
X***************
X*** 591,597 ****
X  % emphasize(s) ==
X  %  BEGIN
X  %       if empty$(s) then return ""
X! %       else return "{\em " * s * "}"
X  %
X  % The format.names function formats the argument (which should be in
X  % BibTeX name format) into "First Von Last, Junior", separated by commas
X--- 712,718 ----
X  % emphasize(s) ==
X  %  BEGIN
X  %       if empty$(s) then return ""
X! %       else return "{\it " * s * "}"
X  %
X  % The format.names function formats the argument (which should be in
X  % BibTeX name format) into "First Von Last, Junior", separated by commas
X***************
X*** 615,626 ****
X--- 736,755 ----
X  %           t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
X  %           if nameptr > 1 then
X  %               if namesleft > 1 then nameresult := nameresult * ", " * t
X+ #ifndef GERMAN
X  %               else if numnames > 2
X  %                      then nameresult := nameresult * ","
X  %                    fi
X  %                    if t = "others"
X+ #else /* GERMAN */
X+ %               else if t = "others"
X+ #endif /* GERMAN */
X  %                      then nameresult := nameresult * " et~al."
X+ #ifndef GERMAN
X  %                      else nameresult := nameresult * " and " * t
X+ #else /* GERMAN */
X+ %                      else nameresult := nameresult * " und " * t
X+ #endif /* GERMAN */
X  %                    fi
X  %               fi
X  %           else nameresult := t
X***************
X*** 672,678 ****
X  FUNCTION {emphasize}
X  { duplicate$ empty$
X      { pop$ "" }
X!     { "{\em " swap$ * "}" * }
X    if$
X  }
X  
X--- 801,807 ----
X  FUNCTION {emphasize}
X  { duplicate$ empty$
X      { pop$ "" }
X!     { "{\it " swap$ * "}" * }
X    if$
X  }
X  
X***************
X*** 692,704 ****
X--- 821,841 ----
X        nameptr #1 >
X          { namesleft #1 >
X              { ", " * t * }
X+ #ifndef GERMAN
X              { numnames #2 >
X                  { "," * }
X                  'skip$
X                if$
X                t "others" =
X+ #else /* GERMAN */
X+             { t "others" =
X+ #endif /* GERMAN */
X                  { " et~al." * }
X+ #ifndef GERMAN
X                  { " and " * t * }
X+ #else /* GERMAN */
X+                 { " und " * t * }
X+ #endif /* GERMAN */
X                if$
X              }
X            if$
X***************
X*** 730,735 ****
X--- 867,898 ----
X    if$
X  }
X  
X+ #if ISBN
X+ FUNCTION {format.isbn}
X+ { isbn empty$
X+     { "" }
X+     { new.sentence "ISBN~" isbn * }
X+   if$
X+ }
X+ 
X+ FUNCTION {format.issn}
X+ { issn empty$
X+     { "" }
X+     { new.sentence "ISSN~" issn * }
X+   if$
X+ }
X+ #endif
X+ 
X+ #if LIBRARY
X+ FUNCTION {format.library}
X+ { library empty$
X+     { "" }
X+     { "\library{" library * "}" * }
X+   if$
X+ }
X+ #endif
X+ 
X+ 
X  % The format.title function is used for non-book-like titles.
X  % For most styles we convert to lowercase (except for the very first letter,
X  % and except for the first one after a colon (followed by whitespace)),
X***************
X*** 992,999 ****
X--- 1155,1167 ----
X  { pages empty$
X      { "" }
X      { pages multi.page.check
X+ #ifndef GERMAN
X          { "pages" pages n.dashify tie.or.space.connect }
X          { "page" pages tie.or.space.connect }
X+ #else /* GERMAN */
X+         { "Seiten" pages n.dashify tie.or.space.connect }
X+         { "Seite" pages tie.or.space.connect }
X+ #endif /* GERMAN */
X        if$
X      }
X    if$
X***************
X*** 1151,1157 ****
X            warning$
X            ""
X          }
X!         { "In {\em " journal * "\/}" * }
X        if$
X      }
X      { "In " key * }
X--- 1319,1325 ----
X            warning$
X            ""
X          }
X!         { "In {\it " journal * "\/}" * }
X        if$
X      }
X      { "In " key * }
X***************
X*** 1172,1178 ****
X--- 1340,1350 ----
X          'skip$
X          { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
X              { " et~al." * }
X+ #ifndef GERMAN
X              { " and " * editor #2 "{vv~}{ll}" format.name$ * }
X+ #else
X+             { " und " * editor #2 "{vv~}{ll}" format.name$ * }
X+ #endif
X            if$
X          }
X        if$
X***************
X*** 1204,1210 ****
X                crossref * warning$
X                "" *
X              }
X!             { "{\em " * series * "\/}" * }
X            if$
X          }
X          { key * }
X--- 1376,1382 ----
X                crossref * warning$
X                "" *
X              }
X!             { "{\it " * series * "\/}" * }
X            if$
X          }
X          { key * }
X***************
X*** 1231,1237 ****
X                crossref * warning$
X                ""
X              }
X!             { "In {\em " booktitle * "\/}" * }
X            if$
X          }
X          { "In " key * }
X--- 1403,1409 ----
X                crossref * warning$
X                ""
X              }
X!             { "In {\it " booktitle * "\/}" * }
X            if$
X          }
X          { "In " key * }
X***************
X*** 1313,1318 ****
X--- 1485,1494 ----
X  
X  FUNCTION {article}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1326,1338 ****
X--- 1502,1524 ----
X        format.pages output
X      }
X    if$
X+ #if ISBN
X+   format.issn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X  FUNCTION {book}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    author empty$
X      { format.editors "author and editor" output.check }
X      { format.authors output.nonnull
X***************
X*** 1358,1365 ****
X--- 1544,1557 ----
X    if$
X    format.edition output
X    format.date "year" output.check
X+ #if ISBN
X+   format.isbn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1369,1374 ****
X--- 1561,1570 ----
X  
X  FUNCTION {booklet}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors output
X    new.block
X    format.title "title" output.check
X***************
X*** 1378,1383 ****
X--- 1574,1582 ----
X    format.date output
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1391,1396 ****
X--- 1590,1599 ----
X  
X  FUNCTION {inbook}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    author empty$
X      { format.editors "author and editor" output.check }
X      { format.authors output.nonnull
X***************
X*** 1418,1425 ****
X--- 1621,1634 ----
X    if$
X    format.edition output
X    format.date "year" output.check
X+ #if ISBN
X+   format.isbn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1432,1437 ****
X--- 1641,1650 ----
X  
X  FUNCTION {incollection}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1451,1458 ****
X--- 1664,1677 ----
X        format.chapter.pages output
X      }
X    if$
X+ #if ISBN
X+   format.isbn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1465,1470 ****
X--- 1684,1693 ----
X  
X  FUNCTION {inproceedings}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1492,1499 ****
X--- 1715,1729 ----
X        format.pages output
X      }
X    if$
X+ #if ISBN
X+   format.isbn output
X+   format.issn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1507,1512 ****
X--- 1737,1746 ----
X  
X  FUNCTION {manual}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    author empty$
X      { organization empty$
X          'skip$
X***************
X*** 1536,1541 ****
X--- 1770,1778 ----
X    format.date output
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1545,1550 ****
X--- 1782,1791 ----
X  
X  FUNCTION {mastersthesis}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1555,1560 ****
X--- 1796,1804 ----
X    format.date "year" output.check
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1564,1569 ****
X--- 1808,1817 ----
X  
X  FUNCTION {misc}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors output
X    title howpublished new.block.checkb
X    format.title output
X***************
X*** 1570,1577 ****
X--- 1818,1831 ----
X    howpublished new.block.checka
X    howpublished output
X    format.date output
X+ #if ISBN
X+   format.issn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X    empty.misc.check
X  }
X***************
X*** 1582,1587 ****
X--- 1836,1845 ----
X  
X  FUNCTION {phdthesis}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.btitle "title" output.check
X***************
X*** 1592,1597 ****
X--- 1850,1858 ----
X    format.date "year" output.check
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1605,1610 ****
X--- 1866,1875 ----
X  
X  FUNCTION {proceedings}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    editor empty$
X      { organization output }
X      { format.editors output.nonnull }
X***************
X*** 1633,1640 ****
X--- 1898,1912 ----
X        publisher output
X      }
X    if$
X+ #if ISBN
X+   format.isbn output
X+   format.issn output
X+ #endif
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1644,1649 ****
X--- 1916,1925 ----
X  
X  FUNCTION {techreport}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1654,1659 ****
X--- 1930,1938 ----
X    format.date "year" output.check
X    new.block
X    note output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1663,1668 ****
X--- 1942,1951 ----
X  
X  FUNCTION {unpublished}
X  { output.bibitem
X+ #if LIBRARY
X+   format.library output
X+   new.sentence
X+ #endif
X    format.authors "author" output.check
X    new.block
X    format.title "title" output.check
X***************
X*** 1669,1674 ****
X--- 1952,1960 ----
X    new.block
X    note "note" output.check
X    format.date output
X+ #if ANNOTATE
X+   output.annote
X+ #endif
X    fin.entry
X  }
X  
X***************
X*** 1683,1739 ****
X  
X  #if MONTH_FULL
X  
X- MACRO {jan} {"January"}
X  
X! MACRO {feb} {"February"}
X  
X  MACRO {mar} {"March"}
X- 
X  MACRO {apr} {"April"}
X- 
X  MACRO {may} {"May"}
X- 
X  MACRO {jun} {"June"}
X- 
X  MACRO {jul} {"July"}
X- 
X  MACRO {aug} {"August"}
X- 
X  MACRO {sep} {"September"}
X- 
X  MACRO {oct} {"October"}
X  
X  MACRO {nov} {"November"}
X  
X! MACRO {dec} {"December"}
X  
X- #else !MONTH_FULL
X  
X! MACRO {jan} {"Jan."}
X  
X- MACRO {feb} {"Feb."}
X  
X! MACRO {mar} {"Mar."}
X  
X  MACRO {apr} {"Apr."}
X- 
X  MACRO {may} {"May"}
X- 
X  MACRO {jun} {"June"}
X- 
X  MACRO {jul} {"July"}
X- 
X  MACRO {aug} {"Aug."}
X- 
X  MACRO {sep} {"Sept."}
X- 
X  MACRO {oct} {"Oct."}
X  
X  MACRO {nov} {"Nov."}
X  
X! MACRO {dec} {"Dec."}
X  
X! #endif MONTH_FULL
X  
X  % Journals are either written out in full or abbreviated;
X  % the abbreviations are like those found in ACM publications.
X--- 1969,2045 ----
X  
X  #if MONTH_FULL
X  
X  
X! #ifndef GERMAN
X  
X+ MACRO {jan} {"January"}
X+ MACRO {feb} {"February"}
X  MACRO {mar} {"March"}
X  MACRO {apr} {"April"}
X  MACRO {may} {"May"}
X  MACRO {jun} {"June"}
X  MACRO {jul} {"July"}
X  MACRO {aug} {"August"}
X  MACRO {sep} {"September"}
X  MACRO {oct} {"October"}
X+ MACRO {nov} {"November"}
X+ MACRO {dec} {"December"}
X  
X+ #else /* GERMAN */
X+ 
X+ MACRO {jan} {"Januar"}
X+ MACRO {feb} {"Februar"}
X+ MACRO {mar} {"M{\accent 127 a}rz"}
X+ MACRO {apr} {"April"}
X+ MACRO {may} {"Mai"}
X+ MACRO {jun} {"Juni"}
X+ MACRO {jul} {"Juli"}
X+ MACRO {aug} {"August"}
X+ MACRO {sep} {"September"}
X+ MACRO {oct} {"Oktober"}
X  MACRO {nov} {"November"}
X+ MACRO {dec} {"Dezember"}
X  
X! #endif /* GERMAN */
X  
X  
X! #else /* !MONTH_FULL */
X  
X  
X! #ifndef GERMAN
X  
X+ MACRO {jan} {"Jan."}
X+ MACRO {feb} {"Feb."}
X+ MACRO {mar} {"Mar."}
X  MACRO {apr} {"Apr."}
X  MACRO {may} {"May"}
X  MACRO {jun} {"June"}
X  MACRO {jul} {"July"}
X  MACRO {aug} {"Aug."}
X  MACRO {sep} {"Sept."}
X  MACRO {oct} {"Oct."}
X+ MACRO {nov} {"Nov."}
X+ MACRO {dec} {"Dec."}
X+ 
X+ #else /* GERMAN */
X  
X+ MACRO {jan} {"Jan."}
X+ MACRO {feb} {"Feb."}
X+ MACRO {mar} {"M{\accent 127 a}rz"}
X+ MACRO {apr} {"April"}
X+ MACRO {may} {"Mai"}
X+ MACRO {jun} {"Juni"}
X+ MACRO {jul} {"Juli"}
X+ MACRO {aug} {"Aug."}
X+ MACRO {sep} {"Sept."}
X+ MACRO {oct} {"Okt."}
X  MACRO {nov} {"Nov."}
X+ MACRO {dec} {"Dez."}
X  
X! #endif /* GERMAN */
X! 
X  
X! #endif /* MONTH_FULL */
X  
X  % Journals are either written out in full or abbreviated;
X  % the abbreviations are like those found in ACM publications.
X***************
X*** 1785,1791 ****
X  
X  MACRO {tcs} {"Theoretical Computer Science"}
X  
X! #else !JOUR_FULL
X  
X  MACRO {acmcs} {"ACM Comput. Surv."}
X  
X--- 2091,2097 ----
X  
X  MACRO {tcs} {"Theoretical Computer Science"}
X  
X! #else /* !JOUR_FULL */
X  
X  MACRO {acmcs} {"ACM Comput. Surv."}
X  
X***************
X*** 1828,1834 ****
X  
X  MACRO {tcs} {"Theoretical Comput. Sci."}
X  
X! #endif JOUR_FULL
X  
X  % Now we read in the .BIB entries.
X  
X--- 2134,2140 ----
X  
X  MACRO {tcs} {"Theoretical Comput. Sci."}
X  
X! #endif /* JOUR_FULL */
X  
X  % Now we read in the .BIB entries.
X  
END_OF_FILE
if test 28321 -ne `wc -c <'itibst.diff'`; then
    echo shar: \"'itibst.diff'\" unpacked with wrong size!
fi
# end of 'itibst.diff'
fi
if test -f 'biblist.bst' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'biblist.bst'\"
else
echo shar: Extracting \"'biblist.bst'\" \(19478 characters\)
sed "s/^X//" >'biblist.bst' <<'END_OF_FILE'
X%% $Id: itibst.doc,v 1.3 1992/01/13 13:59:34 schrod Exp schrod $
X%%----------------------------------------------------------------------
X%% BibTeX `THD/ITI' family of bibliography styles
X%% The file itibst.doc has the documentation for this style.
X%% Please notify Joachim Schrod (schrod@iti.informatik.th-darmstadt.de) of
X%% any bugs in these styles or in this documentation file.
X%%
X%% CAVEAT: This is experimental software in an alpha-test version.
X%%	   The documentation is not complete, installation instructions
X%%	   are missing (or perhaps not updated), etc. Please send
X%%	   bug reports (and, of course, repairs) to me, but do not expect
X%%	   that I will react very soon. I will collect the stuff and will
X%%	   incorporate it at a later date.
X%%
X%% biblist style (unsorted, for listings of bib files)
XENTRY
X  { address
X    annote
X    author
X    booktitle
X    chapter
X    edition
X    editor
X    howpublished
X    institution
X    isbn
X    issn
X    journal
X    key
X    library
X    month
X    note
X    number
X    organization
X    pages
X    publisher
X    school
X    series
X    title
X    type
X    volume
X    year
X  }
X  {}
X  { label }
XINTEGERS { output.state before.all mid.sentence after.sentence after.block }
XFUNCTION {init.state.consts}
X{ #0 'before.all :=
X  #1 'mid.sentence :=
X  #2 'after.sentence :=
X  #3 'after.block :=
X}
XSTRINGS { s t }
XFUNCTION {output.nonnull}
X{ 's :=
X  output.state mid.sentence =
X    { ", " * write$ }
X    { output.state after.block =
X        { add.period$ write$
X          newline$
X          "\newblock " write$
X        }
X        { output.state before.all =
X            'write$
X            { add.period$ " " * write$ }
X          if$
X        }
X      if$
X      mid.sentence 'output.state :=
X    }
X  if$
X  s
X}
XFUNCTION {output}
X{ duplicate$ empty$
X    'pop$
X    'output.nonnull
X  if$
X}
XFUNCTION {output.check}
X{ 't :=
X  duplicate$ empty$
X    { pop$ "empty " t * " in " * cite$ * warning$ }
X    'output.nonnull
X  if$
X}
XFUNCTION {output.bibitem}
X{ newline$
X  "\bibitem{" write$
X  cite$ write$
X  "}" write$
X  newline$
X  ""
X  before.all 'output.state :=
X}
XFUNCTION {fin.entry}
X{ add.period$
X  write$
X  newline$
X}
XFUNCTION {new.block}
X{ output.state before.all =
X    'skip$
X    { after.block 'output.state := }
X  if$
X}
XFUNCTION {new.sentence}
X{ output.state after.block =
X    'skip$
X    { output.state before.all =
X        'skip$
X        { after.sentence 'output.state := }
X      if$
X    }
X  if$
X}
XFUNCTION {output.annote}
X{
X  annote empty$
X    {  }
X    {
X      new.block  "\annote " output
X      newline$  write$
X      annote write$  newline$
X      "\endannote"
X    }
X  if$
X}
XFUNCTION {not}
X{   { #0 }
X    { #1 }
X  if$
X}
XFUNCTION {and}
X{   'skip$
X    { pop$ #0 }
X  if$
X}
XFUNCTION {or}
X{   { pop$ #1 }
X    'skip$
X  if$
X}
XFUNCTION {new.block.checka}
X{ empty$
X    'skip$
X    'new.block
X  if$
X}
XFUNCTION {new.block.checkb}
X{ empty$
X  swap$ empty$
X  and
X    'skip$
X    'new.block
X  if$
X}
XFUNCTION {new.sentence.checka}
X{ empty$
X    'skip$
X    'new.sentence
X  if$
X}
XFUNCTION {new.sentence.checkb}
X{ empty$
X  swap$ empty$
X  and
X    'skip$
X    'new.sentence
X  if$
X}
XFUNCTION {field.or.null}
X{ duplicate$ empty$
X    { pop$ "" }
X    'skip$
X  if$
X}
XFUNCTION {emphasize}
X{ duplicate$ empty$
X    { pop$ "" }
X    { "{\it " swap$ * "}" * }
X  if$
X}
XINTEGERS { nameptr namesleft numnames }
XFUNCTION {format.names}
X{ 's :=
X  #1 'nameptr :=
X  s num.names$ 'numnames :=
X  numnames 'namesleft :=
X    { namesleft #0 > }
X    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
X      nameptr #1 >
X        { namesleft #1 >
X            { ", " * t * }
X            { numnames #2 >
X                { "," * }
X                'skip$
X              if$
X              t "others" =
X                { " et~al." * }
X                { " and " * t * }
X              if$
X            }
X          if$
X        }
X        't
X      if$
X      nameptr #1 + 'nameptr :=
X      namesleft #1 - 'namesleft :=
X    }
X  while$
X}
XFUNCTION {format.authors}
X{ author empty$
X    { "" }
X    { author format.names }
X  if$
X}
XFUNCTION {format.editors}
X{ editor empty$
X    { "" }
X    { editor format.names
X      editor num.names$ #1 >
X        { ", editors" * }
X        { ", editor" * }
X      if$
X    }
X  if$
X}
XFUNCTION {format.isbn}
X{ isbn empty$
X    { "" }
X    { new.sentence "ISBN~" isbn * }
X  if$
X}
XFUNCTION {format.issn}
X{ issn empty$
X    { "" }
X    { new.sentence "ISSN~" issn * }
X  if$
X}
XFUNCTION {format.library}
X{ library empty$
X    { "" }
X    { "\library{" library * "}" * }
X  if$
X}
XFUNCTION {format.title}
X{ title empty$
X    { "" }
X    'title
X  if$
X}
XFUNCTION {n.dashify}
X{ 't :=
X  ""
X    { t empty$ not }
X    { t #1 #1 substring$ "-" =
X        { t #1 #2 substring$ "--" = not
X            { "--" *
X              t #2 global.max$ substring$ 't :=
X            }
X            {   { t #1 #1 substring$ "-" = }
X                { "-" *
X                  t #2 global.max$ substring$ 't :=
X                }
X              while$
X            }
X          if$
X        }
X        { t #1 #1 substring$ *
X          t #2 global.max$ substring$ 't :=
X        }
X      if$
X    }
X  while$
X}
XFUNCTION {format.date}
X{ year empty$
X    { month empty$
X        { "" }
X        { "there's a month but no year in " cite$ * warning$
X          month
X        }
X      if$
X    }
X    { month empty$
X        'year
X        { month " " * year * }
X      if$
X    }
X  if$
X}
XFUNCTION {format.btitle}
X{ title emphasize
X}
XFUNCTION {tie.or.space.connect}
X{ duplicate$ text.length$ #3 <
X    { "~" }
X    { " " }
X  if$
X  swap$ * *
X}
XFUNCTION {either.or.check}
X{ empty$
X    'pop$
X    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
X  if$
X}
XFUNCTION {format.bvolume}
X{ volume empty$
X    { "" }
X    { "volume" volume tie.or.space.connect
X      series empty$
X        'skip$
X        { " of " * series emphasize * }
X      if$
X      "volume and number" number either.or.check
X    }
X  if$
X}
XFUNCTION {format.number.series}
X{ volume empty$
X    { number empty$
X        { series field.or.null }
X        { output.state mid.sentence =
X            { "number" }
X            { "Number" }
X          if$
X          number tie.or.space.connect
X          series empty$
X            { "there's a number but no series in " cite$ * warning$ }
X            { " in " * series * }
X          if$
X        }
X      if$
X    }
X    { "" }
X  if$
X}
XFUNCTION {format.edition}
X{ edition empty$
X    { "" }
X    { output.state mid.sentence =
X        { edition "l" change.case$ " edition" * }
X        { edition "t" change.case$ " edition" * }
X      if$
X    }
X  if$
X}
XINTEGERS { multiresult }
XFUNCTION {multi.page.check}
X{ 't :=
X  #0 'multiresult :=
X    { multiresult not
X      t empty$ not
X      and
X    }
X    { t #1 #1 substring$
X      duplicate$ "-" =
X      swap$ duplicate$ "," =
X      swap$ "+" =
X      or or
X        { #1 'multiresult := }
X        { t #2 global.max$ substring$ 't := }
X      if$
X    }
X  while$
X  multiresult
X}
XFUNCTION {format.pages}
X{ pages empty$
X    { "" }
X    { pages multi.page.check
X        { "pages" pages n.dashify tie.or.space.connect }
X        { "page" pages tie.or.space.connect }
X      if$
X    }
X  if$
X}
XFUNCTION {format.vol.num.pages}
X{ volume field.or.null
X  number empty$
X    'skip$
X    { "(" number * ")" * *
X      volume empty$
X        { "there's a number but no volume in " cite$ * warning$ }
X        'skip$
X      if$
X    }
X  if$
X  pages empty$
X    'skip$
X    { duplicate$ empty$
X        { pop$ format.pages }
X        { ":" * pages n.dashify * }
X      if$
X    }
X  if$
X}
XFUNCTION {format.chapter.pages}
X{ chapter empty$
X    'format.pages
X    { type empty$
X        { "chapter" }
X        { type "l" change.case$ }
X      if$
X      chapter tie.or.space.connect
X      pages empty$
X        'skip$
X        { ", " * format.pages * }
X      if$
X    }
X  if$
X}
XFUNCTION {format.in.ed.booktitle}
X{ booktitle empty$
X    { "" }
X    { editor empty$
X        { "In " booktitle emphasize * }
X        { "In " format.editors * ", " * booktitle emphasize * }
X      if$
X    }
X  if$
X}
XFUNCTION {empty.misc.check}
X{ author empty$ title empty$ howpublished empty$
X  month empty$ year empty$ note empty$
X  and and and and and
X    { "all relevant fields are empty in " cite$ * warning$ }
X    'skip$
X  if$
X}
XFUNCTION {format.thesis.type}
X{ type empty$
X    'skip$
X    { pop$
X      type "t" change.case$
X    }
X  if$
X}
XFUNCTION {format.tr.number}
X{ type empty$
X    { "Technical Report" }
X    'type
X  if$
X  number empty$
X    { "t" change.case$ }
X    { number tie.or.space.connect }
X  if$
X}
XFUNCTION {format.article.crossref}
X{ key empty$
X    { journal empty$
X        { "need key or journal for " cite$ * " to crossref " * crossref *
X          warning$
X          ""
X        }
X        { "In {\it " journal * "\/}" * }
X      if$
X    }
X    { "In " key * }
X  if$
X  " \cite{" * crossref * "}" *
X}
XFUNCTION {format.crossref.editor}
X{ editor #1 "{vv~}{ll}" format.name$
X  editor num.names$ duplicate$
X  #2 >
X    { pop$ " et~al." * }
X    { #2 <
X        'skip$
X        { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
X            { " et~al." * }
X            { " and " * editor #2 "{vv~}{ll}" format.name$ * }
X          if$
X        }
X      if$
X    }
X  if$
X}
XFUNCTION {format.book.crossref}
X{ volume empty$
X    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
X      "In "
X    }
X    { "Volume" volume tie.or.space.connect
X      " of " *
X    }
X  if$
X  editor empty$
X  editor field.or.null author field.or.null =
X  or
X    { key empty$
X        { series empty$
X            { "need editor, key, or series for " cite$ * " to crossref " *
X              crossref * warning$
X              "" *
X            }
X            { "{\it " * series * "\/}" * }
X          if$
X        }
X        { key * }
X      if$
X    }
X    { format.crossref.editor * }
X  if$
X  " \cite{" * crossref * "}" *
X}
XFUNCTION {format.incoll.inproc.crossref}
X{ editor empty$
X  editor field.or.null author field.or.null =
X  or
X    { key empty$
X        { booktitle empty$
X            { "need editor, key, or booktitle for " cite$ * " to crossref " *
X              crossref * warning$
X              ""
X            }
X            { "In {\it " booktitle * "\/}" * }
X          if$
X        }
X        { "In " key * }
X      if$
X    }
X    { "In " format.crossref.editor * }
X  if$
X  " \cite{" * crossref * "}" *
X}
XFUNCTION {article}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  crossref missing$
X    { journal emphasize "journal" output.check
X      format.vol.num.pages output
X      format.date "year" output.check
X    }
X    { format.article.crossref output.nonnull
X      format.pages output
X    }
X  if$
X  format.issn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {book}
X{ output.bibitem
X  format.library output
X  new.sentence
X  author empty$
X    { format.editors "author and editor" output.check }
X    { format.authors output.nonnull
X      crossref missing$
X        { "author and editor" editor either.or.check }
X        'skip$
X      if$
X    }
X  if$
X  new.block
X  format.btitle "title" output.check
X  crossref missing$
X    { format.bvolume output
X      new.block
X      format.number.series output
X      new.sentence
X      publisher "publisher" output.check
X      address output
X    }
X    { new.block
X      format.book.crossref output.nonnull
X    }
X  if$
X  format.edition output
X  format.date "year" output.check
X  format.isbn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {booklet}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors output
X  new.block
X  format.title "title" output.check
X  howpublished address new.block.checkb
X  howpublished output
X  address output
X  format.date output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {inbook}
X{ output.bibitem
X  format.library output
X  new.sentence
X  author empty$
X    { format.editors "author and editor" output.check }
X    { format.authors output.nonnull
X      crossref missing$
X        { "author and editor" editor either.or.check }
X        'skip$
X      if$
X    }
X  if$
X  new.block
X  format.btitle "title" output.check
X  crossref missing$
X    { format.bvolume output
X      format.chapter.pages "chapter and pages" output.check
X      new.block
X      format.number.series output
X      new.sentence
X      publisher "publisher" output.check
X      address output
X    }
X    { format.chapter.pages "chapter and pages" output.check
X      new.block
X      format.book.crossref output.nonnull
X    }
X  if$
X  format.edition output
X  format.date "year" output.check
X  format.isbn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {incollection}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  crossref missing$
X    { format.in.ed.booktitle "booktitle" output.check
X      format.bvolume output
X      format.number.series output
X      format.chapter.pages output
X      new.sentence
X      publisher "publisher" output.check
X      address output
X      format.edition output
X      format.date "year" output.check
X    }
X    { format.incoll.inproc.crossref output.nonnull
X      format.chapter.pages output
X    }
X  if$
X  format.isbn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {inproceedings}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  crossref missing$
X    { format.in.ed.booktitle "booktitle" output.check
X      format.bvolume output
X      format.number.series output
X      format.pages output
X      address empty$
X        { organization publisher new.sentence.checkb
X          organization output
X          publisher output
X          format.date "year" output.check
X        }
X        { address output.nonnull
X          format.date "year" output.check
X          new.sentence
X          organization output
X          publisher output
X        }
X      if$
X    }
X    { format.incoll.inproc.crossref output.nonnull
X      format.pages output
X    }
X  if$
X  format.isbn output
X  format.issn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {conference} { inproceedings }
XFUNCTION {manual}
X{ output.bibitem
X  format.library output
X  new.sentence
X  author empty$
X    { organization empty$
X        'skip$
X        { organization output.nonnull
X          address output
X        }
X      if$
X    }
X    { format.authors output.nonnull }
X  if$
X  new.block
X  format.btitle "title" output.check
X  author empty$
X    { organization empty$
X        { address new.block.checka
X          address output
X        }
X        'skip$
X      if$
X    }
X    { organization address new.block.checkb
X      organization output
X      address output
X    }
X  if$
X  format.edition output
X  format.date output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {mastersthesis}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  "Master's thesis" format.thesis.type output.nonnull
X  school "school" output.check
X  address output
X  format.date "year" output.check
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {misc}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors output
X  title howpublished new.block.checkb
X  format.title output
X  howpublished new.block.checka
X  howpublished output
X  format.date output
X  format.issn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X  empty.misc.check
X}
XFUNCTION {phdthesis}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.btitle "title" output.check
X  new.block
X  "PhD thesis" format.thesis.type output.nonnull
X  school "school" output.check
X  address output
X  format.date "year" output.check
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {proceedings}
X{ output.bibitem
X  format.library output
X  new.sentence
X  editor empty$
X    { organization output }
X    { format.editors output.nonnull }
X  if$
X  new.block
X  format.btitle "title" output.check
X  format.bvolume output
X  format.number.series output
X  address empty$
X    { editor empty$
X        { publisher new.sentence.checka }
X        { organization publisher new.sentence.checkb
X          organization output
X        }
X      if$
X      publisher output
X      format.date "year" output.check
X    }
X    { address output.nonnull
X      format.date "year" output.check
X      new.sentence
X      editor empty$
X        'skip$
X        { organization output }
X      if$
X      publisher output
X    }
X  if$
X  format.isbn output
X  format.issn output
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {techreport}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  format.tr.number output.nonnull
X  institution "institution" output.check
X  address output
X  format.date "year" output.check
X  new.block
X  note output
X  output.annote
X  fin.entry
X}
XFUNCTION {unpublished}
X{ output.bibitem
X  format.library output
X  new.sentence
X  format.authors "author" output.check
X  new.block
X  format.title "title" output.check
X  new.block
X  note "note" output.check
X  format.date output
X  output.annote
X  fin.entry
X}
XFUNCTION {default.type} { misc }
XMACRO {jan} {"January"}
XMACRO {feb} {"February"}
XMACRO {mar} {"March"}
XMACRO {apr} {"April"}
XMACRO {may} {"May"}
XMACRO {jun} {"June"}
XMACRO {jul} {"July"}
XMACRO {aug} {"August"}
XMACRO {sep} {"September"}
XMACRO {oct} {"October"}
XMACRO {nov} {"November"}
XMACRO {dec} {"December"}
XMACRO {acmcs} {"ACM Computing Surveys"}
XMACRO {acta} {"Acta Informatica"}
XMACRO {cacm} {"Communications of the ACM"}
XMACRO {ibmjrd} {"IBM Journal of Research and Development"}
XMACRO {ibmsj} {"IBM Systems Journal"}
XMACRO {ieeese} {"IEEE Transactions on Software Engineering"}
XMACRO {ieeetc} {"IEEE Transactions on Computers"}
XMACRO {ieeetcad}
X {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
XMACRO {ipl} {"Information Processing Letters"}
XMACRO {jacm} {"Journal of the ACM"}
XMACRO {jcss} {"Journal of Computer and System Sciences"}
XMACRO {scp} {"Science of Computer Programming"}
XMACRO {sicomp} {"SIAM Journal on Computing"}
XMACRO {tocs} {"ACM Transactions on Computer Systems"}
XMACRO {tods} {"ACM Transactions on Database Systems"}
XMACRO {tog} {"ACM Transactions on Graphics"}
XMACRO {toms} {"ACM Transactions on Mathematical Software"}
XMACRO {toois} {"ACM Transactions on Office Information Systems"}
XMACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
XMACRO {tcs} {"Theoretical Computer Science"}
XREAD
XSTRINGS { longest.label }
XINTEGERS { number.label longest.label.width }
XFUNCTION {initialize.longest.label}
X{ "" 'longest.label :=
X  #1 'number.label :=
X  #0 'longest.label.width :=
X}
XFUNCTION {longest.label.pass}
X{ number.label int.to.str$ 'label :=
X  number.label #1 + 'number.label :=
X  label width$ longest.label.width >
X    { label 'longest.label :=
X      label width$ 'longest.label.width :=
X    }
X    'skip$
X  if$
X}
XEXECUTE {initialize.longest.label}
XITERATE {longest.label.pass}
XFUNCTION {begin.bib}
X{ preamble$ empty$
X    'skip$
X    { preamble$ write$ newline$ }
X  if$
X  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
X}
XEXECUTE {begin.bib}
XEXECUTE {init.state.consts}
XITERATE {call.type$}
XFUNCTION {end.bib}
X{ newline$
X  "\end{thebibliography}" write$ newline$
X}
XEXECUTE {end.bib}
END_OF_FILE
if test 19478 -ne `wc -c <'biblist.bst'`; then
    echo shar: \"'biblist.bst'\" unpacked with wrong size!
fi
# end of 'biblist.bst'
fi
echo shar: End of shell archive.
exit 0
