#!/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\
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)