XY-pic version 2.6 sources: xypic-04 of 05

XY-pic version 2.6 sources: xypic-04 of 05

Post by Kristoffer H. Ro » Thu, 25 Jun 1992 23:29:59



#!/bin/sh
# this is part 4 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file xypicman.bib continued
#
CurArch=4
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
echo "x - Continuing file xypicman.bib"
sed 's/^X//' << 'SHAR_EOF' >> xypicman.bib
X% BibTeX References for the XY-pic documentation.
X%
X% Journals, publishers, and institutions.
X% References, sorted by author.
X% Log.
X%
X% Note: uses \TeX, \MF, \AmSTeX, \LaTeX, \PiCTeX, and \XY.
X
X%
X% JOURNALS, PUBLISHERS, AND INSTITUTIONS.
X
X% Journals given in BibTeX standard styles:
X@string{acmcs = "ACM Computing Surveys"}
X@string{acta = "Acta Informatica"}
X@string{cacm = "Communications of the ACM"}
X@string{ibmjrd = "IBM Journal of Research and Development"}
X@string{ibmsj = "IBM Systems Journal"}
X@string{ieeese = "IEEE Transactions on Software Engineering"}
X@string{ieeetc = "IEEE Transactions on Computers"}
X@string{ieeetcad = "IEEE Transactions on Computer-Aided Design of
X                 Integrated Circuits"}
X@string{ipl = "Information Processing Letters"}
X@string{jacm = "Journal of the ACM"}
X@string{jcss = "Journal of Computer and System Sciences"}
X@string{scp = "Science of Computer Programming"}
X@string{sicomp = "SIAM Journal on Computing"}
X@string{tocs = "ACM Transactions on Computer Systems"}
X@string{tods = "ACM Transactions on Database Systems"}
X@string{tog = "ACM Transactions on Graphics"}
X@string{toms = "ACM Transactions on Mathematical Software"}
X@string{toois = "ACM Transactions on Office Information Systems"}
X@string{toplas = "ACM Transactions on Programming Languages and Systems"}
X@string{tcs = "Theoretical Computer Science"}
X
X% Other journals...
X@string{eatcs = "Bulletin of the European Association for
X                Theoretical Computer Science"}
X@string{ic = "Information and Computation"}
X@string{jfp = "Journal of Functional Programming"}
X@string{lasc = "{LISP} and Symbolic Computation"}
X@string{sn = "{SIGPLAN} Notices"}
X@string{spe = "Software Practice and Experience"}
X
X% Publishers...
X@string{A-W = "Addison-Wesley"}
X@string{N-H = "North-Holland"}
X@string{P-H = "Prentice-Hall"}
X@string{S-V = "Springer-Verlag"}
X@string{LNCS = "{LNCS}"}
X
X% Organizations...
X@string{ACM = "Association for Computing Machinery"}
X@string{AMS = "American Mathematical Society"}
X@string{DIKU = "{DIKU}, University of Copenhagen"}
X
X%
X% REFERENCES, SORTED BY AUTHOR.
X
X@TechReport{h91:xypic,
X  author =      "Kristoffer H. Holm",
X  title =       "{\XY}-pic: Typesetting Graphs and Diagrams with {\TeX}",
X  institution =  DIKU,
X  year =        1991,
X  type =        "Student report",
X  number =      "91--7--10",
X  address =     "Universitetsparken 1, {DK}-2100 K\o benhavn \O",
X  month =       jul
X}
X
X@Book{k84:texbook,
X  author =     "Donald E. Knuth",
X  title =      "The {\TeX}book",
X  publisher =  A-W,
X  year =       1984
X}
X
X@Book{k86:metafontbook,
X  author =      "Donald E. Knuth",
X  title =       "The {\MF}book",
X  publisher =   A-W,
X  year =        1986
X}
X
X@Book{l86:latex,
X  author =      "Leslie Lamport",
X  title =       "{\LaTeX}---A Document Preparation System",
X  publisher =   A-W,
X  year =        1986
X}
X
X@Misc{l88:latex.tex,
X  author =      "Leslie Lamport",
X  title =       "{\LaTeX} Version 2.09",
X  howpublished = "{\tt latex.tex} of {\LaTeX} distribution",
X  year =        1988,
X  month =       aug
X}
X
X@Misc{l85:bezier.sty,
X  author =      "Leslie Lamport",
X  title =       "Bezier Document-style Option",
X  howpublished = "{\tt bezier.doc} of {\LaTeX} distribution",
X  year =        1985,
X  month =       dec
X}
X
X@Misc{r91:xypic.doc,
X  author =      "Kristoffer H. Rose",
X  title =       "{\XY}-pic Macros: Technical Documentation",
X  howpublished = "{\tt xypic.doc} of the $\beta$-release of the
X                 {\XY}-pic package",
X  year =        1991,
X  month =       nov
X}
X
X@Misc{r92:xypic,
X  author =      "Kristoffer H. Rose",
X  title =       "Typesetting Diagrams with {\XY}-pic: User's Manual",
X  howpublished = "Distributed with the {\XY}-pic package",
X  year =        1992,
X  month =       jan
X}
X
X@Misc{r92:xypic.doc,
X  author =      "Kristoffer H. Rose",
X  title =       "{\XY}-pic Macros: Technical Documentation",
X  howpublished = "{\tt xypic.doc} of the {\XY}-pic package",
X  year =        1992,
X  month =       jan
X}
X
X@Book{s82:joy,
X  author =     "Michael D. Spivak",
X  title =      "The Joy of {\TeX}---A Gourmet Guide to Typesetting
X                 with the {\AmSTeX} Macro Package",
X  publisher =  A-W,
X  year =       1982
X}
X
X@Book{s90:joy,
X  author =     "Michael D. Spivak",
X  title =      "The Joy of {\TeX}---A Gourmet Guide to Typesetting
X                 with the {\AmSTeX} Macro Package",
X  edition =    "second",
X  publisher =  AMS,
X  year =       1990
X}
X
X@Misc{s89:amstex.doc,
X  author =      "Michael D. Spivak",
X  title =       "{\AmSTeX} Version 2.0 Technical Documentation",
X  howpublished = "{\tt amstex.doc} received by E-mail from " # AMS,
X  year =        1989
X}
X
X@TechReport{p86:enhancements,
X  author =      "Sunil Podar",
X  title =       "Enhancements to the Picture Environment of {\LaTeX}",
X  institution =  "Dept. of Computer Science, S.U.N.Y. at Stony Brook",
X  year =        1986,
X  number =      "86-17",
X  month =       jul
X}
X
X@Manual{w87:pictex,
X  title =      "The {\PiCTeX} Manual",
X  author =     "Michael J. Wichura",
X  organization = "University of Washington",
X  year =       1987
X}
X
X@Misc{w87:pictex.tex,
X  author =     "Michael J. Wichura",
X  title =       "{\PiCTeX}, Version 1.1",
X  howpublished = "{\tt pictex.tex} of {\PiCTeX} distribution",
X  year =        1987,
X  month =       sep
X}
X
X@Manual{t90:commutative,
X  title =       "Commutative Diagrams in {\TeX}",
X  author =      "Paul Taylor",
X  organization = "Department of Computing, Imperial College",
X  address =     "180 Queens Gate, London SW7 2BZ",
X  year =        1990,
X  month =       jul
X}
X
X@Manual{o79:nroff/troff,
X  title =       "{NROFF/TROFF} User's Manual",
X  author =      "J. F. Osanna",
X  organization = "Bell Laboratories",
X  address =     "Murray Hill, N.J.",
X  year =        1979
X}
X
X@Article{k82:pic,
X  author =      "Brian W. Kernighan",
X  title =       "{PIC}---A Language for Typesetting Graphics",
X  journal =     spe,
X  year =        1982,
X  volume =      12,
X  number =      1,
X  pages =       "1-21"
X}
X
X@TechReport{h90:graphr,
X  author =      "Kristoffer H. Holm",
X  title =       "Graph Matching in Functional Language Specification
X                 and Implementation",
X  institution =  DIKU,
X  year =        1990,
X  type =        "Student report",
X  number =      "90--1--3",
X  month =       dec
X}
X
X@PhDThesis{d91:category,
X  author =     "Hans Dybkj\ae{}r",
X  title =      "Category Theory, Types, Programming Languages",
X  school =     DIKU,
X  year =       1991,
X  address =    "Universitetsparken 1, DK-2100 Copenhagen \O, Denmark"
X}
X
X@Unpublished{dh90:drawing,
X  author =      "Hans Dybkj\ae{}r and Kristoffer H. Holm",
X  title =       "Drawing Graphs and Diagrams",
X  note =        "discussion note",
X  year =        1990,
X  month =       sep
X}
X
X% $Log: xypicman.bib,v $
X% Revision 2.6  1992/06/24  01:23:34  kris
X% Unchanged from xypic.bib v.2.5.
X%
X% Revision 2.1  1992/01/02  14:54:07  kris
X% Release version.
X%
X% Revision 1.4  1991/11/27  06:44:34  kris
X% Fits \beta-test on DIKU.
X%
X% Revision 1.3  1991/08/23  01:05:45  kris
X% Tidied up; fits report.tex[1.28].
X%
X% Revision 1.2  1991/08/05  04:02:12  kris
X% As used in student report 91-7-10.
X%
X% Revision 1.1  91/07/23  14:49:06  kris
X% Fits report.tex[1.5].
SHAR_EOF
echo "File xypicman.bib is complete"
chmod 0444 xypicman.bib || echo "restore of xypicman.bib fails"
echo "x - extracting xypicman.bst (Text)"
sed 's/^X//' << 'SHAR_EOF' > xypicman.bst &&
X%% xypicman.bst derived from $Id: xypicman.bst,v 2.6 1992/06/24 01:23:34 kris Exp $ -*-tex-*-
X%%
X%% XPPT bibliography style for BibTeX version 0.99.
X%% by Hans Dybkjaer <dybkj...@ruc.dk> and Kristoffer H. Rose <k...@diku.dk>;
X%% derived from "natsci.bst" and "plain.bst": very extensive changes!!!
X%%
X%% This file is distributed in the hope that it will be useful, but WITHOUT
X%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
X%% FITNESS FOR A PARTICULAR PURPOSE.
X
XENTRY
X  { address
X    annote             %
X    author
X    booktitle
X    chapter
X    edition
X    editor
X    howpublished
X    institution
X    journal
X    key
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  { extra.num }
X  { label citeextra }
X
XSTRINGS { s t longest.label }
X
XFUNCTION {not}
X{   { #0 }
X    { #1 }
X  if$
X}
X
XFUNCTION {and}
X{   'skip$
X    { pop$ #0 }
X  if$
X}
X
XFUNCTION {or}
X{   { pop$ #1 }
X    'skip$
X  if$
X}
X
XFUNCTION {field.or.null}
X{ duplicate$
X  empty$
X    { pop$ "" }
X    'skip$
X  if$
X}
X
XSTRINGS { lastby }
X
XFUNCTION {output.preamble}
X{ "\bibwidestlabel{" longest.label * "}" * write$ newline$
X  preamble$ write$ newline$
X  "" 'lastby :=
X}
X
XFUNCTION {output.check}        
X{ 't :=
X  duplicate$ empty$
X    { pop$ pop$ "empty " t * " in " * cite$ * warning$ }
X    { 's := duplicate$ "" = 'skip$ { " " * } if$ s * write$ newline$ }
X  if$
X}
X
XFUNCTION {output}  
X{ pop$
X  duplicate$ empty$
X    { pop$ pop$ }
X    { 's := duplicate$ "" = 'skip$ { " " * } if$ s * write$ newline$ }
X  if$
X}
X
XFUNCTION {output.crossref}
X{ pop$ " \bibcross \cite {" swap$ * "}" * * write$ newline$ }
X
XFUNCTION {output.ref}
X{ newline$
X  "\bibref{" cite$ * "}{" * label * "}%" * write$ newline$
X}
X
XFUNCTION {output.endref}
X{ "\endref" write$ newline$ }
X
XFUNCTION {output.bysame}
X{ pop$
X  't :=
X  t empty$ t "" = or
X    'skip$
X    { t lastby =
X       { "\bysame" }
X       { t duplicate$ 'lastby := }
X      if$
X      citeextra "" =
X       'skip$
X       { " \bibyr {" * year field.or.null purify$ * citeextra * "}" * }
X      if$
X      write$ newline$ }
X  if$
X}
X
XFUNCTION {output.bysame.check}
X{ 't :=
X  duplicate$ empty$
X    { pop$ "empty " t * " in " * cite$ * warning$ }
X    { t output.bysame }
X  if$
X}
X
XINTEGERS { nameptr namesleft numnames }
X
XSTRINGS {nameresult}
X
X
XFUNCTION {format.names}
X{ 's :=
X  #1 'nameptr :=
X  "" 'nameresult :=
X  s num.names$ 'numnames :=
X  numnames 'namesleft :=
X    { namesleft #0 > }
X    { nameptr #1 >
X       { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
X         namesleft #1 >
X           { nameresult ", " * t * 'nameresult := }
X           { numnames #2 >
X                       { nameresult "," * 'nameresult := }
X                       'skip$
X             if$
X             t "others" =
X                       { nameresult "\citeetal " * 'nameresult := }
X                       { nameresult "\biband " * t * 'nameresult := }
X             if$ }
X         if$ }
X       { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
X         nameresult t * 'nameresult := }
X      if$
X      nameptr #1 + 'nameptr :=
X      namesleft #1 - 'namesleft := }
X  while$
X  nameresult
X}
X
XFUNCTION {format.author}
X{ author empty$
X    { "" }
X    { "\by " author format.names * }
X  if$
X}
X
XFUNCTION {format.editor}
X{ editor empty$
X    { "" }
X    { editor num.names$ #1 >
X       { "\eds " editor format.names * }
X       { "\ed "  editor format.names * }
X      if$ }
X  if$
X}
X
XFUNCTION {format.author.or.editor}
X{ author empty$
X    { format.editor }
X    { format.author }
X  if$
X}
X
XFUNCTION {format.editor.or.key}
X{ editor empty$
X    { "\by " key * }
X    { format.editor }
X  if$
X}
X
XFUNCTION {format.author.or.editor.or.key}
X{ author empty$
X    { format.editor.or.key }
X    { format.author }
X  if$
X}
X
X
XFUNCTION {format.title}
X{ title empty$
X    { "" }
X    { title }
X  if$
X}
X
XFUNCTION {format.booktitle}
X{ booktitle empty$
X    { "" }
X    { booktitle }
X  if$
X}
X
XFUNCTION {format.title.or.booktitle}
X{ title empty$
X    { format.booktitle }
X    { title }
X  if$
X}
X
XFUNCTION {format.date}
X{ year empty$
X    { "" }
X    { month empty$
X       { year }
X       { month " " * year * }
X      if$ }
X  if$
X}
X
XSTRINGS {pageresult}
X
XFUNCTION {n.dashify}
X{ 't :=
X  "" 'pageresult :=
X    { t "" = not }
X    { t #1 #1 substring$ "-" =
X       { pageresult "--" * 'pageresult :=
X               { t #1 #1 substring$ "-" = }
X               { t #2 global.max$ substring$ 't := }
X             while$ }
X       { pageresult t #1 #1 substring$ * 'pageresult :=
X         t #2 global.max$ substring$ 't := }
X      if$ }
X  while$
X  pageresult
X}
X
XINTEGERS {multiresult}
X
XFUNCTION {multi.page.check}
X{ 't  :=
X  #0 'multiresult :=
X    { multiresult not
X      t empty$ not
X      and }
X    { t #1 #1 substring$ "-" =
X      t #1 #1 substring$ "," =
X      or
X       { #1 'multiresult := }
X       { t #2 global.max$ substring$ 't := }
X      if$ }
X  while$
X  multiresult
X}
X
XFUNCTION {format.pages}
X{ pages empty$
X    { "" }
X    { pages multi.page.check
X       { "\pages " pages n.dashify * }
X       { "\page  " pages n.dashify * }
X      if$ }
X  if$
X}
X
XFUNCTION {format.chapter.pages}
X{
X  chapter empty$
X    { "" }
X    { type empty$
X       { "\bibchapter{" chapter * "}" * }
X       { type " " * chapter * }
X      if$ }
X  if$
X  format.pages
X  *
X}
X
XFUNCTION {format.edition}
X{ edition empty$
X    { "" }
X    { edition "l" change.case$ " edition" * }
X  if$
X}
X
XFUNCTION {format.type.num}
X{ type empty$
X    'skip$
X    { pop$ type }
X  if$
X  number empty$
X    'skip$
X    { " " * number * }
X  if$
X}
X
XFUNCTION {format.ed.ser.num}
X{ format.edition
X  series empty$
X    'skip$
X    { duplicate$ empty$ 'skip$ { ", " * } if$ series * }
X  if$
X  number empty$
X    'skip$
X    { duplicate$ empty$ { " {" * } { " \bibno{" * } if$ number * "}" * }
X  if$
X}
X
XFUNCTION {format.volume}
X{ volume empty$
X    { "" }
X    { volume }
X  if$
X}
X
XFUNCTION {format.note}
X{ note empty$
X    { "" }
X    { note "l" change.case$ }
X  if$
X}
X
XFUNCTION {article}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\paper"   format.title    "title"               output.check
X  ""         format.pages    "pages"               output
X  crossref missing$
X    { "\jour"        journal         "journal"     output.check
X      "\vol" volume          "volume"      output
X      "\issue"       number          "number"      output
X      "\yr"  format.date     "year"                output.check }
X    { "\paperinfo" crossref  "crossref"    output.crossref }
X  if$
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {book}
X{ output.ref   format.author.or.editor "author or editor" output.bysame.check
X  "\book"    format.title.or.booktitle "title or booktitle" output.check
X  "\bookinfo"        format.ed.ser.num "edition, series, and/or number" output
X  "\vol"     format.volume   "volume"      output
X  "\publ"    publisher       "publisher"   output.check
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output.check
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {booklet}
X{ output.ref   format.author   "author"      output.bysame
X  "\book"    format.title    "title"               output.check
X  "\publ"    howpublished    "howpublished"        output
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {inbook}
X{ output.ref   format.author.or.editor "author or editor" output.bysame.check
X  crossref missing$
X    { "\book"        format.title.or.booktitle "title or booktitle" output.check
X      "\bookinfo" format.ed.ser.num "edition, series, and/or number" output
X      ""     format.chapter.pages "chapter and/or pages" output.check
X      "\vol" format.volume   "volume"      output
X      "\publ"        publisher       "publisher"   output.check
X      "\publaddr" address    "address"     output
X      "\yr"  format.date     "year"                output.check }
X    { "\bookinfo" crossref   "crossref"    output.crossref
X      ""     format.chapter.pages "chapter and/or pages" output.check }
X  if$
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {incollection}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\paper"   format.title    "title"               output.check
X  crossref missing$
X    { "\paperinfo" format.chapter.pages "chapter and/or pages" output.check
X      "\inbook"      format.booktitle "booktitle"  output.check
X      ""     format.editor   "editor"      output
X      "\bookinfo" format.ed.ser.num "edition, series, and/or number" output
X      "\vol" format.volume   "volume"      output
X      "\publ"        publisher       "publisher"   output.check
X      "\publaddr" address    "address"     output
X      "\yr"  format.date     "year"                output.check }
X    { "\paperinfo" crossref  "crossref"    output.crossref
X      ""     format.chapter.pages "chapter and/or pages" output.check }
X  if$
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {inproceedings}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\paper"   format.title    "title"               output.check
X  ""         format.pages    "pages"               output.check
X  crossref missing$
X    { "\inbook" format.booktitle "booktitle"       output.check
X      "\bookinfo" format.ed.ser.num "edition, series, and/or number" output
X      "\vol" format.volume   "volume"      output
X      ""     format.editor   "editor"      output
X      "\procinfo" address    "address"     output
X      "\publ"        publisher       "publisher"   output
X      "\yr"  format.date     "year"                output.check }
X    { "\paperinfo" crossref  "crossref"    output.crossref }
X  if$
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {conference} { inproceedings }
X
XFUNCTION {manual}
X{ output.ref   format.author.or.editor.or.key
X                               "author, editor, or key" output.bysame
X  "\book"    format.title    "title"               output.check
X  "\bookinfo"        format.edition  "edition"     output
X  "\vol"     format.volume   "volume"      output
X  "\publ"    organization    "organization"        output
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {mastersthesis}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\book"    format.title    "title"               output.check
X  "\bookinfo" "Masters Thesis" format.type.num "type and number" output
X  "\publ"    school          "school"      output.check
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output.check
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {misc}
X{ output.ref   format.author   "author"      output.bysame
X  "\book"    format.title    "title"               output
X  "\bookinfo"        howpublished    "howpublished"        output
X  "\yr"              format.date     "year"                output
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {phdthesis}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\book"    format.title    "title"               output.check
X  "\bookinfo" "Ph.D. Thesis" format.type.num "type and number" output
X  "\publ"    school          "school"      output.check
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output.check
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {proceedings}
X{ output.ref   format.editor.or.key "editor or key" output.bysame
X  "\book"    format.title.or.booktitle "title or booktitle" output.check
X  "\bookinfo"        format.ed.ser.num "edition, series, and/or number" output
X  "\vol"     format.volume   "volume"      output
X  "\procinfo"        address         "address"     output
X  "\publ"    publisher       "publisher"   output
X  "\yr"              format.date     "year"                output.check
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {techreport}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\book"    format.title    "title"               output.check
X  "\bookinfo" "Tech. Report" format.type.num "type and number" output
X  "\publ"    institution     "institution" output.check
X  "\publaddr"        address         "address"     output
X  "\yr"              format.date     "year"                output.check
X  "\finalinfo"       format.note     "note"                output
X  output.endref
X}
X
XFUNCTION {unpublished}
X{ output.ref   format.author   "author"      output.bysame.check
X  "\book"    format.title    "title"               output.check
X  "\yr"              format.date     "year"                output
X  "\finalinfo"       format.note     "note"                output.check
X  output.endref
X}
X
XFUNCTION {default.type} { book }
X
XMACRO {jan} {"\bibmonth {1}"}
X
XMACRO {feb} {"\bibmonth {2}"}
X
XMACRO {mar} {"\bibmonth {3}"}
X
XMACRO {apr} {"\bibmonth {4}"}
X
XMACRO {may} {"\bibmonth {5}"}
X
XMACRO {jun} {"\bibmonth {6}"}
X
XMACRO {jul} {"\bibmonth {7}"}
X
XMACRO {aug} {"\bibmonth {8}"}
X
XMACRO {sep} {"\bibmonth {9}"}
X
XMACRO {oct} {"\bibmonth {10}"}
X
XMACRO {nov} {"\bibmonth {11}"}
X
XMACRO {dec} {"\bibmonth {12}"}
X
XREAD
X
X
XINTEGERS { label.len ascii.int}
XSTRINGS { prefix }
X
XFUNCTION { is.letter }
X{ chr.to.int$   'ascii.int :=
X  ascii.int  "A" chr.to.int$ #1 - >
X  ascii.int  "Z" chr.to.int$ #1 + <
X  and
X  ascii.int  "a" chr.to.int$ #1 - >
X  ascii.int  "z" chr.to.int$ #1 + <
X  and
X  or
X}
X
XFUNCTION { chop.macro.prefix }
X{ s swap$ 's := "" 'prefix :=
X  s #1 #1 substring$ "\" =
X       { s #2 global.max$ substring$ 's := }
X       { "chop.macro.prefix used in bad place" warning$ }
X  if$
X       { s "" =  { #0 } { s #1 #1 substring$ is.letter } if$ }
X       { prefix s #1 #1 substring$ * 'prefix :=
X         s #2 global.max$ substring$ 's := }
X  while$
X  's := prefix
X}
X
XINTEGERS { stringlength }
X
XFUNCTION {length}
X{   #0 'stringlength :=
X    { duplicate$ "" = not }
X    { #2 global.max$ substring$ #1 stringlength + 'stringlength := }
X  while$
X  pop$ stringlength
X}
X
XINTEGERS { int.etal int.yr int.and }
X
XFUNCTION {label.width}
X{ t swap$ 't :=
X  #0 'label.len :=
X    { t "" = not }
X    { t #1 #1 substring$ "{" =
X      t #1 #1 substring$ "}" =
X      or
X       { t #2 global.max$ substring$ 't := }
X       { t #1 #1 substring$ "\" =
X               { t chop.macro.prefix
X                 duplicate$ "citeyr" =
X                       { label.len int.yr + #1 - 'label.len := } 'skip$ if$
X                 duplicate$ "citeand" =
X                       { label.len int.and +  #1 - 'label.len := } 'skip$ if$
X                 duplicate$ "citeetal" =
X                       { label.len int.etal +  #1 - 'label.len := } 'skip$ if$
X                 duplicate$ "" = 'skip$ { label.len #1 + 'label.len := } if$
X                 t swap$ length #2 + global.max$ substring$ 't := }
X               { t #2 global.max$ substring$ 't :=
X                 #1 label.len + 'label.len := }
X         if$  }
X      if$ }
X  while$
X  't := label.len
X}
X
XFUNCTION {longest.label.of.two}
X{ 's := 't :=
X  s label.width t label.width <
X    { t }
X    { s }
X  if$
X}
X
XFUNCTION {sortify}
X{ purify$
X  "l" change.case$
X}
X
XINTEGERS { len }
X
XFUNCTION {chop.word}
X{ 's :=
X  'len :=
X  s #1 len substring$ =
X    { s len #1 + global.max$ substring$ }
X    's
X  if$
X}
X
XINTEGERS { prev.or.next.extra.num }
X
XFUNCTION {initialize.extra}
X{ #0 'prev.or.next.extra.num :=
X  "" 's :=
X  "" 't :=
X  "" 'longest.label :=
X}
X
XFUNCTION {sort.format.names}
X{ 's :=
X  #1 'nameptr :=
X  ""
X  s num.names$ 'numnames :=
X  numnames 'namesleft :=
X    { namesleft #0 > }
X    { nameptr #1 >
X       { "   " * }
X       'skip$
X      if$
X      s nameptr "{ll{ }}{  ff{ }}{  jj{ }}{vv{ } }" format.name$ 't :=
X      nameptr numnames = t "others" = and
X       { "\citeetal " * }
X       { t sortify * }
X      if$
X      nameptr #1 + 'nameptr :=
X      namesleft #1 - 'namesleft :=
X    }
X  while$
X}
X
XFUNCTION {sort.format.title}
X{ 't :=
X  "A " #2
X    "An " #3
X      "The " #4 t chop.word
X    chop.word
X  chop.word
X  sortify
X  #1 global.max$ substring$
X}
X
XFUNCTION {author.sort}
X{ author empty$
X    { key empty$
X       { "to sort, need author or key in " cite$ * warning$
X         ""
X       }
X       { key sortify }
X      if$
X    }
X    { author sort.format.names }
X  if$
X}
X
XFUNCTION {author.editor.sort}
X{ author empty$
X    { editor empty$
X       { key empty$
X           { "to sort, need author, editor, or key in " cite$ * warning$
X             "" }
X           { key sortify }
X         if$ }
X       { editor sort.format.names }
X      if$ }
X    { author sort.format.names }
X  if$
X}
X
XFUNCTION {author.organization.sort}
X{ author empty$
X    { key empty$
X       { organization empty$
X           { "to sort, need author, key, or organization in " cite$ * warning$
X             ""
X           }
X           { "The " #4 organization chop.word sortify }
X         if$
X       }
X       { key sortify }
X      if$
X    }
X    { author sort.format.names }
X  if$
X}
X
XFUNCTION {editor.organization.sort}
X{ editor empty$
X    { key empty$
X       { organization empty$
X           { "to sort, need editor, key, or organization in " cite$ * warning$
X             "" }
X           { "The " #4 organization chop.word sortify }
X         if$ }
X       { key sortify }
X      if$ }
X    { editor sort.format.names }
X  if$
X}
X
XFUNCTION {commonpresort}
X{ type$ "book" =
X  type$ "inbook" =
X  or
X    'author.editor.sort
X    { type$ "proceedings" =
X       'editor.organization.sort
X       { type$ "manual" =
X           'author.organization.sort
X           'author.sort
X         if$
X       }
X      if$
X    }
X  if$
X  "    "
X  *
X  year field.or.null sortify
X  *
X  "    "
X  *
X  title field.or.null
X  sort.format.title
X  *
X}
X
X
X
X
X
XFUNCTION {presort}
X{ "" 'citeextra :=
X  commonpresort #1 entry.max$ substring$ 'sort.key$ :=
X}
X
XITERATE {presort}
X
XSORT
X
XINTEGERS { number.label }
X
XFUNCTION {initialize.number.label}
X{ #0 'number.label := }
X
XEXECUTE {initialize.number.label}
X
XFUNCTION {number.plain}
X{
X  number.label #1 + 'number.label :=
X  number.label int.to.str$ 'label :=
X}
X
XITERATE {number.plain}
X
XFUNCTION {set.longest.label}
X{ number.label int.to.str$ 'longest.label := }
X
XEXECUTE {set.longest.label}
X
X
XEXECUTE {output.preamble}
X
XITERATE {call.type$}
X
XFUNCTION {finish.up}
X{ newline$ }
X
XEXECUTE {finish.up}
X
SHAR_EOF
chmod 0444 xypicman.bst || echo "restore of xypicman.bst fails"
echo "x - extracting xypicman.def (Text)"
sed 's/^X//' << 'SHAR_EOF' > xypicman.def &&
X%% $Id: xypicman.def,v 2.6 1992/06/24 01:23:34 kris Exp $ -*-tex-*-
X%%
X%% Definitions for XY-pic: The User's Manual.
X%% Copyright (c) 1991,1992  Kristoffer H. Rose  <k...@diku.dk>
X%%
X%% This file is part of the XY-pic macro package.
X%%
X%% The XY-pic macro package is free software; you can redistribute it and/or
X%% modify it under the terms of the GNU General Public License as published by
X%% the Free Software Foundation; either version 2 of the License, or (at your
X%% option) any later version.
X%%
X%% The XY-pic macro package is distributed in the hope that it will be
X%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
X%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
X%% Public License for more details.
X%%
X%% You should have received a copy of the GNU General Public License along
X%% with this macro package; if not, write to the Free Software Foundation,
X%% Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X% XPPT extract...
X%
X\immediate\write16{XPPT document style extensions - Version beta (for XY-pic)}%
X\count255=\the\catcode`\@ \catcode`\@=11 \edef\catcode@{\the\count255}
X\def\Err@@#1{\errhelp\defaulthelp@\errmessage{AMS-TeX XPPT error: #1}}
X\message{AUX-file support,}
X\newread\saferead@
X\def\inputsafe@#1#2 {\openin\saferead@=#2 %
X \ifeof\saferead@\DN@{#1}\else \DN@{\closein\saferead@\input#2 }\fi
X \next@}
X\newtoks\topmatter@ \topmatter@={}
X\let\@ldtopmatter=\topmatter
X\def\topmatter{\@ldtopmatter \let\@ldtopmatter\relax \relaxnext@
X \the\topmatter@ \topmatter@={}\relax}
X\newwrite\auxout@
X\newif\ifinhibitupdate@
X\let\writeaux@\eat@
X\def\writeaux#1{{\DN@{#1}\DNii@##1:->##2<-:{\writeaux@{##2}}%
X \expandafter\nextii@\meaning\next@<-:}}
X\def\xwriteaux#1{\edef\next{{#1}}\expandafter\writeaux@\next}
X\let\InhibitUpdate=\inhibitupdate@true
X\addto\topmatter{%
X \inputsafe@{\W@{! Initialising \jobname.aux.}}\jobname.aux %
X \ifinhibitupdate@\else
X  \openout\auxout@=\jobname.aux %
X  \gdef\writeaux@{\write\auxout@}%
X  \xwriteaux{\commentcharacter\space\jobname.aux created \today, \now.}%
X \fi}
X\message{cross references,}
X\def\xlabel#1#2{\writeaux{\xxlabel{#1}{#2}}}
X\def\xxlabel#1#2{%
X \expandafter\ifx\csname x@#1\endcsname\relax
X  \expandafter\gdef\csname x@#1\endcsname{#2}%
X \else\W@{! Reference {#1} defined twice}\fi}
X\def\xref{\FN@\xref@}
X\def\xref@{%
X \ifx "\next \DN@"##1"{\DN@####1{##1}\xref@@}%
X \else \DN@{\DN@####1{\W@{! Undefined reference: ####1.}}\xref@@}%
X \fi \next@}
X\def\xref@@#1{%
X \expandafter\ifx\csname x@#1\endcsname\relax \next@{#1}%
X \else{\csname x@#1\endcsname}\fi}
X\message{automatic numbering,}
X\def\level#1{\csname level#1@\endcsname}
X\def\nolevel@#1{\ignorespaces}
X\expandafter\def\csname level0@\endcsname{\nolevel@}
X\newif\ifautodone@
X\def\thepageno@{\ifnum\pageno<\z@\romannumeral-\pageno\else\number\pageno\fi}
X\outer\def\NumberHead#1{%
X \DN@##1{\expandafter\def\csname no#1\endcsname{%
X   \writeaux{\intocentry{#1}{{} ##1}}}}%
X \expandafter\next@\csname end#1\endcsname
X \DN@##1{\Number@{#1}{##1}{%
X   \DN@################1################2{%
X    \writeaux{\intocentry{#1}{{################1} %
X      ########1\page{################2}##1}}}%
X   \xdef\nextii@{{\thenumber@.}{\thepageno@}}\expandafter\next@\nextii@
X  \csname#1y@\endcsname
X   \thenumber@{.\enspace}\ignorespaces########1##1\autodone@false}}%
X \expandafter\next@\csname end#1\endcsname}
X\outer\def\NumberFirst#1{\Number@{#1}{}{%
X  \csname#1y@\endcsname{%
X   \thenumber@{.\enspace}\ignorespaces####1%
X   \expandafter\global\autodone@false}}}
X\outer\def\NumberLast#1{\Number@{#1}{}{%
X  \csname#1y@\endcsname{####1~\thenumber@{}%
X   \expandafter\global\autodone@false}}}
X\def\NumberClear@#1{%
X \if#1.\else \if#10\else\global\count#1=\z@ \noexpand\NumberClear@@{#1}\fi
X  \expandafter\NumberClear@\fi}
X\def\NumberClear@@#1{%
X \expandafter\xdef\csname level#1@\endcsname{\number\count#1}}
X\def\Number@#1#2#3#4#5#6{%
X \expandafter\ifx\csname #1y@\endcsname\relax
X  \DN@{\expandafter\let\csname#1y@\endcsname}%
X  \expandafter\next@\csname#1\endcsname
X \else \Err@@{\expandafter\string\csname#1\endcsname\space already
X   automatically numbered.}\fi
X \edef\next@{\NumberClear@#4#5.}\next@
X \edef\next@##1{\expandafter\def\csname#1x@\endcsname{\NumberClear@#5.##1}}%
X \next@{\def\autox@####1#2{#3}\auto@{#4}{#6}}
X \expandafter\let\csname#1\endcsname=\relax
X \expandafter\def\csname#1\endcsname{%
X  \ifautodone@\DN@{\csname#1y@\endcsname}\else\DN@{\csname#1x@\endcsname}\fi
X  \autodone@true \next@}}
X\def\auto@#1#2{\DN@{\auto@@{#1}{#2}}\FN@\next@}
X\def\auto@@#1#2{%
X \ifx "\next
X  \DN@"##1"{\DN@{##1}%
X   \ifx\next@\empty \expandafter\def\csname level#1@\endcsname{\nolevel@}%
X   \else \expandafter\def\csname level#1@\endcsname{##1}\fi
X   \def\thenumber@{\csname level#1@\endcsname}%
X   \FN@\auto@@@}%
X \else\ifx [\next
X  \DN@[##1]{\ifx#10\else\global\count#1=##1\relax
X   \expandafter\xdef\csname level#1@\endcsname{\number\count#1}\fi
X   \def\thenumber@{#2}\FN@\auto@@@}%
X \else
X  \DN@{\ifx#10\else\global\advance\count#1by\@ne
X    \expandafter\xdef\csname level#1@\endcsname{\number\count#1}\fi
X   \def\thenumber@{#2}\FN@\auto@@@}%
X \fi\fi \next@}
X\def\auto@@@{%
X \ifx \space@\next \expandafter\DN@\space{\FN@\auto@@@}%
X \else\ifx =\next \DN@=##1{%
X   \edef\next@{\noexpand\xlabel{##1}{\thenumber@{}}}\next@\FN@\auto@@@@}%
X \else \let\next@=\auto@@@@\fi\fi \next@}
X\def\auto@@@@{%
X \ifx \space@\next \expandafter\DN@\space{\FN@\auto@@@@}%
X \else \let\next@=\autox@ \fi \next@}
X\message{automatic table of contents,}
X\def\autotoc{\the\autotoc@}
X\newtoks\autotoc@ \autotoc@={}
X\def\intocentry#1#2{\addto\autotoc{\csname#1\endcsname#2}}
X\def\intocwidestnumber#1#2{\addto\autotoc{%
X \expandafter\widestnumber\csname#1\endcsname{#2}}}
X\def\tocwidestnumber#1#2{\writeaux{\intocwidestnumber{#1}{#2}}}
X\def\tocvspace#1{\writeaux{\intocentry{vskip}{ #1\relax}}}
X\message{Bib-TeX bibliographies,}
X\newif\ifBibsmissing@
X\newtoks\citetoks@
X\newif\ifbibrefs
X\def\biband{ and~}
X\def\bibchapter{ch.~}
X\def\bibno{no.~}
X\def\bibcross{\rom{in}~}
X\def\bibmonth#1{\ifcase#1\or January\or February\or March\or April\or
X  May\or June\or July\or August\or September\or October\or November\or
X  December\fi}
X\def\citeextra#1{{\count@=97\advance\count@#1\relax\char\count@}}
X\refstyle{C}
X\def\bibstyle@{xypicman}%
X\def\citesep@{,\,\allowbreak}%
X\def\citepretext@#1{#1 }%
X\def\bibwidestlabel#1{\widestnumber\no{#1\enspace}}%
X\def\bibref#1#2#3\endref{\ifbibrefs \csname ref\endcsname \no#2 #3\endref
X  \else \xxlabel{(BIB)#1}{#2}\fi}%
X\outer\def\UseBibRefs#1{\addto\topmatter{%
X  \bibrefsfalse \inputsafe@{\global\Bibsmissing@true}\jobname.bbl %
X  \let\cite=\cite@ \let\incite=\incite@
X  \xwriteaux{\string\bibstyle{\bibstyle@}}%
X  \xwriteaux{\string\bibdata{#1}}}}
X\let\citeformat=\cite
X\def\cite@{\DN@{%
X \ifx \space@\next \expandafter\DN@\space{\FN@\cite@}%
X \else \ifx "\next
X  \DN@"####1"{\begingroup\citepretext@{####1}\FN@\cite@@}%
X \else \DN@{\begingroup\FN@\cite@@}%
X \fi\fi \next@}\FN@\next@}
X\def\cite@@{\DN@{%
X \ifx \space@\next \expandafter\DN@\space{\FN@\cite@@}%
X \else \ifx [\next
X  \DN@[####1]####2{\FN@\cite@@@####2, ####1,@}%
X \else
X  \DN@####1{\FN@\cite@@@####1,@}%
X \fi\fi \next@}\FN@\next@}
X\def\cite@@@{%
X \ifx @\next \DN@ @{\citeformat{\the\citetoks@}\endgroup}%
X \else \ifx \space@\next
X  \DN@##1,@{\citeformat{\the\citetoks@,##1}\endgroup}%
X \else \let\next@=\cite@@@@ \fi\fi \next@}
X\def\cite@@@@#1,{\xwriteaux{\string\citation{#1}}%
X \edef\nextii@{\the\citetoks@}\ifx\nextii@\empty\else
X  \citetoks@=\expandafter{\the\citetoks@\citesep@}\fi
X \edef\nextii@##1{\the\citetoks@
X  \noexpand\xref"##1{\fiverm #1\W@{! Undefined citation: #1.}}"{(BIB)#1}}%
X \citetoks@=\expandafter{\nextii@{\global\Bibsmissing@true}}%
X \FN@\cite@@@}
X\let\incite@=\cite@
X\def\nocite#1{\xwriteaux{\string\citation{#1}}}
X\def\bibrefs{\bibrefstrue \inputsafe@{}\jobname.bbl
X  \ifBibsmissing@
X   \W@{! Undefined citations: maybe you need to run `bibtex \jobname?'}\fi
X  \ignorespaces}
X\let\bibstyle\eat@
X\let\bibdata\eat@
X\let\citation\eat@
X\message{miscellaneous}
X\edef\today{\ifcase\month\or January\or February\or March\or April\or
X  May\or June\or July\or August\or September\or October\or November\or
X  December\fi\space\number\day, \number\year}
X\count@=\time \divide\count@ by 60\relax
X\count@@=\count@ \multiply\count@@ by -60 \advance\count@@ by \time
X\edef\now{\number\count@:\ifnum 10>\count@@ 0\fi \number\count@@}
X\begingroup
X \catcode`\|=\z@ \catcode`\<=\@ne \catcode`\>=\tw@
X |catcode`|%=12 |gdef|commentcharacter<%>
X |catcode`|\=12 |gdef|escapecharacter<\>
X |catcode`|{=12 |gdef|bgroupcharacter<{>
X |catcode`|}=12 |gdef|egroupcharacter<}>
X|endgroup
X\def\inputsafe{%
X \DN@{%
X  \ifx"\next
X   \DN@"####1"{\ifx"####1"\DNii@{}\else\DNii@{\W@{! ####1}}\fi
X    \inputsafe@\nextii@}%
X  \else
X   \DN@####1 {\inputsafe@{\W@{! No file ####1.}}####1 }%
X  \fi\next@}%
X \FN@\next@}
X
X% XPPT xfixed option:
X%
X\newdimen\spacew@ \newdimen\tabw@
X\newdimen\fflength@
X\def^^L{\par}
X{\catcode`\^^L=\active\catcode`\^^I=\active%
X\catcode`\^^M=\active\catcode`\ \active%
X\gdef\obeyspacing{\begingroup\parskip=\z@ plus\ex@\frenchspacing%
X\catcode`\^^M=\active\def^^M{\CR@}\catcode`\ \active\def {\SP@}%
X\catcode`\^^L=\active\def^^L{\FF@}\catcode`\^^I=\active\def^^I{\TAB@}%
X\setboxz@h\bgroup}}
X\def\endobeyspacing{\egroup\ifdim\z@<\wdz@\leavevmode\boxz@\fi\endgroup}
X\def\CR@{\egroup \leavevmode\boxz@\par \setboxz@h\bgroup}
X\def\SP@{\kern\spacew@}
X\def\FF@{\egroup
X \dimen@=\fflength@ \advance\dimen@-\wdz@
X \leavevmode\boxz@ \raise.7ex\hbox to\dimen@{\hrulefill}\setboxz@h\bgroup}
X\def\TAB@{\egroup \dimen@=\wdz@
X \divide\dimen@\tabw@ \multiply\dimen@\tabw@ \advance\dimen@\tabw@
X \wdz@=\dimen@ \leavevmode\boxz@ \setboxz@h\bgroup}
X\newcount\lineno@
X\outer\def\lines{\ifmmode\expandafter\vcenter\fi\bgroup \lines@{}}
X\outer\def\numberedlines{\ifmmode\expandafter\vcenter\fi\bgroup \lineno@=\z@
X \lines@{\advance\lineno@\@ne \llap{$\ssize\the\lineno@$\enspace}}}
X\def\lines@#1{\parindent=\z@\parskip=\z@\everypar{#1}%
X \setboxz@h{0}\spacew@=\wdz@ \setboxz@h{NNNNNNNN}\tabw@=\wdz@
X \fflength@=\hsize \tabw@=0.1\hsize
X \def\CR@{\egroup \ifdim\z@<\wdz@ \noindent\boxz@\par \fi
X  \let\CR@=\CRii@ \setboxz@h\bgroup}%
X \def\CRii@{\egroup \noindent\boxz@\par \setboxz@h\bgroup}%
X \obeyspacing}
X\def\endlines{\endobeyspacing\egroup}
X{\catcode`\^^M=\active \gdef\verbdummy@{^^M}}
X\def\verb#1{\ifmmode\expandafter\hbox\fi\bgroup\kern\z@
X \count@=`#1\relax \catcode\count@=\active
X \uccode`\^^M=\count@
X \expandafter\uppercase\expandafter{\expandafter\def\verbdummy@
X  {\egroup}}%
X \uccode`\^^M=\z@
X \verb@}
X\def\verb@{\tt \frenchspacing \setboxz@h{0}\spacew@=\wdz@
X \catcode`\\=12 \catcode`\{=12 \catcode`\}=12 %
X \catcode`\$=12 \catcode`\_=12 \catcode`\^=12 %
X \catcode`\&=12 \catcode`\#=12 \catcode`\%=12 %
X \catcode`\~=12 \catcode`\@=12 }
X\outer\def\verbatim{\ifmmode\expandafter\vcenter\fi\bgroup
X \verbatim@{\hbox to\parindent{\hss}}}
X\outer\def\numberedverbatim{\ifmmode\expandafter\vcenter\fi\bgroup \lineno@=\z@
X \verbatim@{\advance\lineno@\@ne
X  \hbox to\parindent{\hss$\ssize\the\lineno@$\enspace}}}
X\def\verbatim@#1#2{%
X \setboxz@h{\tt00000000}\tabw@=\wdz@\setboxz@h{0}\spacew@=\wdz@
X \fflength@=\hsize \advance\fflength@-2\parindent
X \everypar{#1}%
X \def\CR@{\egroup \ifdim\z@<\wdz@ \leavevmode\boxz@\par \fi
X  \let\CR@=\CRii@ \FN@\CR@@}%
X \def\CRii@{\egroup \leavevmode\boxz@\par \FN@\CR@@}%
X \def\CR@@{\ifx\next#2\relax\expandafter\CR@@@
X  \else\setboxz@h\expandafter\bgroup\fi}%
X \def\CR@@@#2{\endgroup\egroup}\verb@\obeyspacing}
X\def\endverbatim{}
X\outer\def\verbatiminput#1 {%
X \ifhmode\par\fi \ifmmode\expandafter\vcenter\fi\bgroup
X \verbatim@{}\0\input#1 \relax\endobeyspacing\egroup }
X\outer\def\numberedverbatiminput#1 {%
X \ifhmode\par\fi \ifmmode\expandafter\vcenter\fi\bgroup
X \lineno@=\z@
X \verbatim@{\advance\lineno@\@ne
X  \hbox to\parindent{\hss$\ssize\the\lineno@$\enspace}}%
X \0\input#1 \relax\endobeyspacing\egroup }
X
X% XPPT xrcs option...
X%
X\def\RCSdate$Date{%
X \DN@{\ifx\next$\let\nextii@\eat@\else\let\nextii@\RCSdate@\fi\nextii@}%
X \FN@\next@}
X\def\RCSdate@: #1/#2/#3 #4 ${%
X \xdef\theyear{\ifnum#1<100\relax19\fi#1}%
X \xdef\thedate{%
X  \ifcase#2\or January\or February\or March\or April\or
X   May\or June\or July\or August\or September\or October\or November\or
X   December\fi\space
X  \eatzero@#3,\space\theyear}}
X\def\eatzero@#1{\ifx0#1\else#1\fi}
X\def\RCSrevision$Revision{%
X \DN@{\ifx\next$\let\nextii@\eat@\else\let\nextii@\RCSrevision@\fi\nextii@}%
X \FN@\next@}
X\def\RCSrevision@: #1.#2 ${\xdef\therevision{#1.#2}\xdef\therelease{#1}}
X\def\thedate{\today}
X\def\theyear{\number\year}
X\let\therevision\empty
X\let\therelease\empty
X
X% End of XPPT inclusions...also needs xypicman.bst.
X%
X\catcode`\@=\catcode@
X\UseBibRefs{xypicman}
X\NumberHead{head}{1}{2}{\level1{}}
X\NumberHead{subhead}{2}{}{\level1.\level2{}}
X
X% Logos:
X%
X% METAFONT logo uses the manfnt font (cf. app.E of The TeXbook).  We use
X% \the\font to figure out which which variant of the logo to use; only the
X% ones that make sense have been specified.
X\font\manual=manfnt
X\define\MF{\expandafter\expandafter\expandafter\MFx
X \expandafter\string\the\font!}
X\define\MFx#1#2!{\csname MF#2\endcsname}
X\define\MFtenrm{{\manual META}\-{\manual FONT}}
X\let\MFtenbf=\MFtenrm
X\define\MFtensl{{\manual 89:;}\-{\manual <=>:@,}}
X\let\MFtenit=\MFtensl
X\define\MFeightrm{{\manual opqr}\-{\manual stuq}}
X\let\MFeightbf=\MFeightrm
X\define\MFeightsl{{\manual \char'134 \char'135 \char'136 \char'137}\-%%
X {\manual efg\char'136\/}}
X\let\MFeightit=\MFeightsl
X%
X\define\AMS{{\textfontii A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
X\define\LaTeX{L\kern-.36em\raise.3ex\hbox{\small A}\kern-.15em\TeX}
X\define\PiCTeX{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\kern-.11em\TeX}
X%
X% The \small macro changes to a smaller version of \the\font.  Works only in
X% text mode!  Uses the xppt \delay feature.
X%
X\define\small{\expandafter\expandafter\expandafter\smallx
X   \expandafter\string\the\font!}
X\define\smallx#1#2!{\csname small#2\endcsname}
X\let\smallfourteenrm=\tenrm
X\let\smallfourteensl=\tensl
X\let\smallfourteensmc=\tensmc
X\let\smallfourteenit=\tenit
X\let\smallfourteenbf=\tenbf
X\let\smalltenrm=\sevenrm
X\let\smalltensl=\sevensl
X\let\smalltensmc=\sevenrm
X\let\smalltenit=\sevenit
X\let\smalltenbf=\sevenbf
X\let\smalleightrm=\sixrm
X\let\smalleightsl=\sixrm
X\let\smalleightsmc=\sixrm
X\let\smalleightit=\sevenit
X\let\smalleightbf=\sixbf
X%
X% Common abbreviations:
X%
X\define\eg{\text{{\it e}.{\it g}.}}    \define\Eg{\text{{\it E}.{\it g}.}}
X\define\ie{\text{{\it i}.{\it e}.}}    \define\Ie{\text{{\it I}.{\it e}.}}
X\define\cf{\text{{\it cf}.}}           \define\Cf{\text{{\it Cf}.}}
X%
X% `thing', :-), :-(, and `tick' as \items...
X%
X\define\thing{\item"${\bullet}$" }
X\define\good{\item"$\ssize\ddot\smile$" }
X\define\bad{\item"$\ssize\ddot\frown$" }
X\define\tick{\item"\checkmark" }
X%
X% Handy macros:
X%
X\define\I#1{\relax\ifmmode\expandafter\text\fi{\it#1\/}}
X\define\={\xref}
X\define\pt{\,\text{pt}}
X\define\ex{\,\text{ex}}
X\define\pc{\,\text{pc}}
X%
X\redefine\and{\mskip 10mu minus 4mu\relax}     % wide space
X\define\<#1>{\relax\ifmmode\expandafter\text\fi  % nonterminal
X {$\left<@!\text{\it#1\/}@!\right>$}}
X\define\iss{\and{::=}\and}
X\redefine\|{\and{|}\and}
X%
X\define\T#1{\relax\ifmmode\expandafter\text\fi{\tt#1}}
X\define\cs#1{\relax\ifmmode\expandafter\text\fi{\tt\char92 #1}}
X\redefine\{{\T{\char123 }}
X\redefine\}{\T{\char125 }}
X\redefine\~{\T{\char126 }}
X\redefine\_{\T{\char95 }}
X\redefine\^{\T{\char94 }}
X
X% End and Log
X%
X\endinput
X%
X% $Log: xypicman.def,v $
X% Revision 2.6  1992/06/24  01:23:34  kris
X% Extract from the XPPT package.
SHAR_EOF
chmod 0444 xypicman.def || echo "restore of xypicman.def fails"
echo "x - extracting xypicman.doc (Text)"
sed 's/^X//' << 'SHAR_EOF' > xypicman.doc &&
X%% $Id: xypicman.doc,v 2.6 1992/06/24 01:23:34 kris Exp $
X%%
X%% Typesetting Diagrams with XY-pic: The User's Manual.
X%% Copyright (c) 1991,1992  Kristoffer H. Rose  <k...@diku.dk>
X%%
X%% This file is part of the XY-pic macro package.
X%%
X%% The XY-pic macro package is free software; you can redistribute it and/or
X%% modify it under the terms of the GNU General Public License as published by
X%% the Free Software Foundation; either version 2 of the License, or (at your
X%% option) any later version.
X%%
X%% The XY-pic macro package is distributed in the hope that it will be
X%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
X%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
X%% Public License for more details.
X%%
X%% You should have received a copy of the GNU General Public License along
X%% with this macro package; if not, write to the Free Software Foundation,
X%% Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X\input amstex
X\documentstyle{amsppt}
X%
X\magnification=\magstep1       % Poor man's 12pt
X\pagewidth{155 true mm}                % A4 paper
X\pageheight{243 true mm}
X%
X\input xypicman.def            % my macros...
X%
X\RCSrevision$Revision: 2.6 $
X\RCSdate$Date: 1992/06/24 01:23:34 $
X%
X% Input XY-pic directly since it might not be installed yet...
X%
X\inputsafe"! Warning: can't find XY-pic."xypic.doc
X\NoisyDiagrams
X
X
X\topmatter
X
X\title Typesetting Diagrams with \XY-pic: \\ User's Manual \endtitle
X\author Kristoffer H. Rose \endauthor
X\affil DIKU, University of Copenhagen, Denmark
X\\ Internet: \tt kris\@diku.dk \endaffil
X\date Version \therevision, \thedate \enddate
X
X\abstract \XY-pic is a macro package for \AmSTeX, plain \TeX, \LaTeX, and
X       \AMS-\LaTeX\ for typesetting diagrams:
X$$\diagram U \ddrto_y \drto \drrto^x \\
X            & X \times_Z Y \dto_q \rto_p & X \dto^f \\
X            & Y \rto^g                       & Z \enddiagram
X$$
X       was typeset by the \XY-pic input lines
X$$\verbatim*
X$$\diagram U \ddrto_y \drto \drrto^x \\
X            & X \times_Z Y \dto_q \rto_p & X \dto^f \\
X            & Y \rto^g                       & Z \enddiagram$$
X*\endverbatim
X$$
X       \XY-pic diagrams have the following characteristics:
X\roster
X\thing Specified as a matrix of entries that are automatically aligned in
X       rows and columns.
X
X\thing Any entry may be connected to any other entry using arrows that are
X       rotated and stretched as required to meet their target; a variety of
X       arrow styles may be used.
X
X\thing Arrows may be decorated with labels that are `tied` to a specified
X       point along the arrow.
X
X\thing Special support for arrows that cross each other, arrows that `go by'
X       other entries, combined arrows, and arrows that bend around other
X       entries.
X
X\thing Support for adding entries and arrows that are independent of the
X       matrix structure.
X\endroster
X\endabstract
X\endtopmatter
X
X
X\document
X\vskip-\lastskip
X
X\head={intro} Introduction
X\endhead
X       This manual explains the features of \XY-pic that are related to
X       diagram typesetting.  It assumes that you have some experience in
X       using \TeX\ for typesetting mathematics, \eg, as described in ``The
X       Joy of \TeX''~\cite{s90:joy}, ``The \TeX{}book''~\cite{k84:texbook},
X       or, in a pinch, ``\LaTeX---A Document Preparation
X       System''~\cite{l86:latex}.
X
X       \S\={basics} introduces the basics of diagram construction.  Common
X       diagram construction features are treated in the following two
X       sections: \S\={arrows} explains the various arrow constructions and
X       \S\={entries} explains what can go in a diagram entry.  Finally,
X       \S\={extensions} contains descriptions of how the diagram features of
X       \XY-pic can be customised and extended.
X
X       You are free to use \XY-pic for whatever purpose you like as long as
X       you do not prevent others from using it or blame me if things go
X       wrong: \XY-pic is under `copyleft' (see the end of this manual for
X       further information).
X
X
X\head={basics} Diagram Basics
X\endhead
X       This section explains the basic \XY-diagram construction concepts:
X\roster
X\item"\S\={basics.loading}" How to load and invoke \XY-pic from your
X       document.
X\item"\S\={basics.arrows}" Arrows are automatically stretched to connect the
X       specified entries.
X\item"\S\={basics.labels}" Arrows may be labelled.
X\item"\S\={basics.breaks}" Arrows may be broken by text.
X\item"\S\={basics.bend}" There are special bent arrows.
X\endroster
X
X\subhead={basics.loading} Loading and invoking \XY-pic
X\endsubhead
X       \XY-pic is loaded
X\footnote{You can only load \XY-pic if it has been
X       installed on your computer system, of course.  If this is not the
X       case then you should persuade your \TeX\ administrator to do so:
X       \XY-pic is available for anonymous ftp on Internet host
X       \T{ftp.diku.dk} [129.142.96.1].  Installation requires a fully
X       operational \MF\ system unless you have a 300 dpi laserprinter: in
X       this case pregenerated fonts are available.} by inserting a line with
X       the command
X$$
X \cs{input xypic}
X$$
X       in the definitions section of your document (after any
X       \cs{documentstyle} line).
X
X       This will make the command
X$$
X \text{\cs{diagram} \dots \cs{enddiagram}}
X$$
X       available for construction of \XY-diagrams.
X\footnote{\LaTeX\ and \AMS-\LaTeX\ users can use the `document style option'
X       \T{[xypic]}.  If they additionally specify the command
X       \cs{LaTeXdiagrams} then they can use \cs{begin\{diagram\}} \dots
X       \cs{end\{diagram\}} \I{instead} of the standard command with the
X       restriction that all inner environments must be enclosed in \{\}s.}
X       They are like matrices as supported by the \cs{matrix} construction
X       of \AmSTeX~\cite{s90:joy, pp.108--109} in that
X\roster
X\thing Columns are separated by \T\&.
SHAR_EOF
echo "End of part 4"
echo "File xypicman.doc is continued in part 5"
echo "5" > s2_seq_.tmp
exit 0
--
    Kristoffer H{\o}gsbro ROSE                      <k...@diku.dk>
    DIKU (TOPPS group), University of Copenhagen
    Universitetsparken 1, DK-2100 Copenhagen {\O}  +45 35321420
                                        (Until July 9: 31396466/213)