summaryrefslogtreecommitdiff
path: root/macros/generic/diagrams/xypic/Xy-pic.html
blob: 2173f87de4e7b81a3a9643033076c35b3de2831e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
<html> <head>
<!--$Id: Xy-pic.html,v 3.38 2013/10/02 02:04:28 krisrose Exp $-->
<title>Xy-pic Home Page</title>
<!--``Xy-pic home page.''
%%
%% This file is part of the Xy-pic package for graphs and diagrams in TeX.
%% See the companion README and INSTALL files for further information.
%% Copyright (c) 1991-2012	Kristoffer H. Rose	<krisrose@tug.org>
%%
%% The Xy-pic package is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by the
%% Free Software Foundation; either version 2 of the License, or (at your
%% option) any later version.
%%
%% The Xy-pic package is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
%% or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU General Public License
%% for more details.
%%
%% You should have received a copy of the GNU General Public License along
%% with this package; if not, see http://www.gnu.org/licenses/.
-->
<meta name="description"
      content="Xy-pic diagram drawing (La)TeX package home page.">
<meta name="keywords"
      content="xypic, TeX, LaTeX, commutative diagram, planar graph, flow chart">
</head>

<body lang="EN" bgcolor="#FFFFFF">
<center>
<h1>
<img src="Xy-logo.png" alt="Xy" width=95 height=111 align=center alt="Xy">-pic
&mdash;
Typesetting Graphs and Diagrams in TeX
</h1>
</center>

<p>
  Xy-pic is a package for typesetting graphs and diagrams using the
  principle of <q>logical composition of visual components.</q>  It is
  structured as several modules, each defining a mnemonic plain text
  notation for a particular kind of graphical object or structure.
  Example objects are arrows, curves, frames, and colouring/rotation
  on drivers that support it; these can be organised in matrix,
  directed graph, path, polygon, knot, and 2-cell structure (a more
  complete list of the features is given below).
<p>
  Xy-pic works with most formats, including all variants of LaTeX,
  AMS-TeX, and plain TeX, and has been used to typeset complicated
  diagrams from many application areas including category theory,
  automata theory, algebra, neural networks, topology (knots and
  braids), database theory, chemistry, and genealogy.
<p>
  Xy-pic has been designed with great care to allow the style of
  pictures to match well with the exquisite quality of the surrounding
  TeX typeset material.
</p>

<h2><a name="avail">Availability</a></h2>

<p>
  You can get Xy-pic from
  <a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/">CTAN</a>
  or directly from the
  <a href="http://sourceforge.net/projects/xy-pic/">SourceForge development project home</a>,
  however, chances are that Xy-pic is already included with your TeX installation
  (for <a href="http://www.tug.org/texlive/">TeX Live</a>, for example,
  Xy-pic is part of the <q>pictures</q> bundle).
<p>
  Xy-pic was conceived by
  <a href="http://www.krisrose.net">Kristoffer H&oslash;gsbro Rose</a>,
  the present version is the result of several years of collaboration with
  <a href="http://www.maths.mq.edu.au/~ross/">Ross Moore</a> with
  essential contributions from George Necula, Jeremy Gibbons,
  <a href="http://www.math.uni-bonn.de/people/muellner">Daniel M&uuml;llner</a>,
  and Alex Perlis<!--, <a href="http://www.tug.org/yandy/">Y&amp;Y Inc.</a>-->,
  and with many suggestions from more than two decades of users.
<p>
  Xy-pic is &copy; by its authors as
  <a href="http://www.fsf.org/">free software</a>.
</p>

<h2>Features</h2>

<p>
  Xy-pic is structured as a <q>kernel</q> and several orthogonal modules
  called <q>options</q>, each defining a custom notation for a particular
  kind of graphical object or structure.
<p>

These (combinable) <q>logical composition</q> structures are available:

<ul>
  <li>A graph combinator mode where diagrams are specified the way they are
    composed as graphs.
  <li>A matrix-like mode where the dimensions of the drawing are computed by
    aligning diagram entries in rows and columns (this is the <q>diagram</q>
    mode Xy-pic version 2 users are used to).
  <li>A polygon mode where diagrams shaped as regular polygons are entered
    in a simple way.
  <li>A mode for typesetting beautiful knots and links.
  <li>A general object-oriented <q>turtle graphic</q> drawing language for
    specifying graphs with objects and connections between them in a
    manner independent of orientation.
</ul>

The following <q>visual component</q> objects can be used:

<ul>
  <li>Positions can be given in variety of formats (extendable) including
    user defined coordinates (x,y) and relative to previous positions,
    objects, object edges, and points on connections.
  <li>Objects may be circular, elliptic, or rectangular (more shapes can be
    added) and adjusted in several ways.
  <li>Large library of objects with mnemonic names.
  <li>Objects that orient themself along a connection when placed relative
    to it, e.g., <q><code>@{|-}</code></q> is like <q><code>\vdash</code></q>
    but thus oriented; new such objects can be defined in a convenient way.
  <li>TeX <q>boxes</q>, i.e., text and mathematical formulae.
  <li>Includes circle segments and optionally arbitrary elliptical,
    quadratic, and cubic arcs.
  <li>Connections are aligned between the reference points of objects but
    start and end on the edges.
  <li>Any object can be used to build a connection (using <q>diagonal
      filling</q>); library objects provide common line types.
  <li>Flexible notation for drawing arrows and general paths with
    tail, stem, and head built from any object(s).  Special support
    for arrows that cross each other, arrows that <q>go by</q> other
    entries, paired arrows (including support for 2-cells), curved
    arrows, and arrows with bends.  The style of arrow tips can be
    configured to match several styles of symbol arrows.
  <li>Library of frames and braces.
  <li>Special notation for rotation, scaling, colour, and line thickness.
    The correct typesetting of these features requires a backend that
    supports it but even when this is not available
    Xy-pic tries to approximate what is requested such that at least the
    picture size is stable (and thus page breaks).
  <li>Output can use PostScript<a href="#PS">*</a> for drawing (several \special formats are
    supported: dvips, Textures, and OzTeX - more are being added
    continuously: contact Ross Moore <ross.moore@mq.edu.au> for the current
      list).  Notation for inclusion of literal PostScript<a href="#PS">*</a> is available.
  <li>Support for Adobe PDF<a href="#PS">*</a> output is available
    from version 3.8 (thanks to support by Daniel M&uuml;llner and
    font conversion software by Scott Pakin).</a>).
</ul>

<h2>Documentation</h2>

The official Xy-pic documentation, updated with each release, consists of the following four documents.

<ul>

  <li><em>Xy-pic User's Guide</em>
    by <a href="http://www.krisrose.net/">Kristoffer H. Rose</a>.
    Explains how to use the Xy-pic macro package to typeset
    basic <q>matrix-like</q> diagrams with TeX
    (<a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xy/doc/xyguide.pdf">pdf</a>).<p>

  <li><em>Xy-pic Reference Manual</em>
    by <a href="http://www.krisrose.net/">Kristoffer H. Rose</a> &amp; <a href="http://www.maths.mq.edu.au/~ross/">Ross Moore</a>.
    Reference manual for Xy-pic summarising syntax and <q>drawing
      semantics</q> of the capabilities in the kernel, all extensions and
    features, and the PostScript<a href="#PS">*</a> backend
    (<a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xy/doc/xyrefer.pdf">pdf</a>).<p>

  <li><em>Xy-pic Complete Sources with TeXnical Commentary</em>
    by <a href="http://www.krisrose.net/">Kristoffer H. Rose</a> &amp; <a href="http://www.maths.mq.edu.au/~ross/">Ross Moore</a>.
    Just that (a large document, <a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xy/doc/xysource.pdf">pdf</a>).<p>

  <li><em>The xypdf package</em>
    by <a href="http://www.math.uni-bonn.de/people/muellner">Daniel M&uuml;llner</a>.
    Detailed user and TeXnical documentation of the PDF<a href="#PS">*</a> support for Xy-pic
    (<a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xy/doc/xypdf.pdf">pdf</a>).<p>

</ul>

In addition there are several tutorials on Xy-pic.

<ul>

  <li><em>An Introduction to Xy-pic</em>
    by Cameron McLeman (<a href="http://math.arizona.edu/~swig/documentation/xypic/Xypic.pdf">pdf slides</a>).<p>

  <li><em>Commutative Diagrams with XY-pic---I. Kernel Functions and Arrows</em>
    by Paul A. Blaga (<a href="http://tug.org/pracjourn/2006-4/blaga/blaga.pdf">pdf</a>).<p>

  <li><em>LaTeX/Creating Graphics/Xy-pic</em>
    is a <a href="http://en.wikibooks.org/wiki/LaTeX/Creating_Graphics#XY-pic">WikiBook chapter</a>.<p>

  <li><em>The LaTeX Graphics Companion</em>, Second Edition
    by <a href="http://goossens.web.cern.ch/goossens/">Michel Goossens</a>, <a href="http://users.ox.ac.uk/~rahtz/">Sebastian Rahtz</a>, Frank Mittelbach, Denis Roegel, and Herbert Vo&szlig;,
    <a href="http://aw.com">Addison-Wesley</a>, 2007.
    Chapter 7 gives a concise introduction to some advanced uses of Xy-pic
    (<a href="http://www.informit.com/store/product.aspx?isbn=0321508920">official page</a>;
    in the <a href="http://books.google.com/books?id=hh6rdgZ9m3MC&printsec=frontcover&dq=The+LaTeX+Graphics+Companion&source=bl&ots=1rmNFdwt3O&sig=dQdy79YBDYQBq2r-CHfY3jL63ek&hl=en&ei=FrPXS_SkDpX49AS3tPiXBw&sa=X&oi=book_result&ct=result&resnum=1&ved=0CAsQ6AEwAA#v=onepage&q&f=false">first edition on Google books</a> chapter 5 is dedicated to Xy-pic).<p>

  <li><em>Examples on Typesetting Commutative Diagrams Using Xy-pic</em>
    by M. Alsani (<a href="http://north.ecc.edu/alsani/xypicbyexample.ps">ps</a>).<p>

  <li><em>Using Xy-pic in LyX</em>
    by H. Peter Gumm (<a href="http://wiki.lyx.org/uploads/Examples/XY-pic/xypic.pdf">pdf</a>).<p>

  <li><em>Drawing knot pictures using LaTeX with Xy-pic &ndash; An introduction and tutorial</em>
    by Lars Fischer (<a href="http://lf.starlogik.de/drawing_knot_pictures.html">html</a>).<p>

  <li><em>Xy-pic tutorial with an archive of examples</em>
    by Aaron Lauda (<a href="http://www.math.columbia.edu/~lauda/xy/">html</a>).
    Uses low level Xy-pic directives for everything. 
    <p>

  <li><em>Tutorial de Xy-pic</em>
    by Carlos A. P. Campani (<a href="http://ufpel.edu.br/~campani/xypictutorial.pdf">pdf</a>, in Portuguese).<p>

</ul>

Finally, we maintain a collection of
<a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xysamples/">examples</a> and
<a href="http://ctan.org/tex-archive/macros/generic/diagrams/xypic/xypapers/">papers</a> on CTAN.

<p>

If you know of other tutorials, interesting papers, or instructive examples, that can be shared, then please drop a note to the <a href="http://www.tug.org/mailman/listinfo/xy-pic">mailing list</a>!

<h2>Help and Support</h2>

Help and support on Xy-pic matters, as well as announcement of new versions, etc., is provided by the <a href="http://www.tug.org/mailman/listinfo/xy-pic">Xy-pic mailing list</a>, graciously hosted by <a href="http://tug.org">TUG</a>.

<hr>
<p>
<a name="PS">*</a> PostScript and PDF are trademarks of <a href="http://www.adobe.com/">Adobe, Inc.</a>
<p>
<hr>
<address>
<a href="http://www.krisrose.net/">Kristoffer H&oslash;gsbro Rose</a>
&mdash;
$Id: Xy-pic.html,v 3.38 2013/10/02 02:04:28 krisrose Exp $
&mdash;
Hits by
<A HREF="http://www.digits.com/thumbnail/"><IMG
 ALT=WebCounter SRC="http://www.digits.com/thumbnail/wc-01.gif"
 WIDTH=79 HEIGHT=22 BORDER=1 ALIGN=absmiddle></A>:
<IMG SRC="http://counter.digits.com/wc/-c/13/-d/5/-f/000000/-b/bebebe/Xy-pic"
 ALIGN=absmiddle WIDTH=75 HEIGHT=20 BORDER=0 ALT=Count>.
</address>
</body></html>

<!--
-- $Log: Xy-pic.html,v $
-- Revision 3.38  2013/10/02 02:04:28  krisrose
-- Release 3.8.9 including Barr's diagxy feature.
--
-- Revision 3.37  2011/03/14 20:14:00  krisrose
-- Preparing for release 3.8.6.
--
-- Revision 3.36  2010/06/23 21:20:33  krisrose
-- Bad backslash.
--
-- Revision 3.35  2010/06/23 21:17:35  krisrose
-- Chemistry rules!
--
-- Revision 3.34  2010/06/10 18:45:49  krisrose
-- Reference to GPL by URL.
--
-- Revision 3.33  2010/06/04 03:44:06  krisrose
-- More tutorials!
--
-- Revision 3.32  2010/06/03 22:58:26  krisrose
-- Oops.
--
-- Revision 3.31  2010/06/03 22:53:58  krisrose
-- Link documents on CTAN.
--
-- Revision 3.30  2010/06/03 05:51:20  krisrose
-- Link to v3.8 documentation.
--
-- Revision 3.29  2010/06/02 19:44:21  krisrose
-- Cleanup.
--
-- Revision 3.28  2010/05/22 23:20:35  dmuellner
-- no message
--
-- Revision 3.27  2010/05/21 04:36:29  krisrose
-- Experimental version with Alex's xymatrix adjustment modifiers as default.
--
-- Revision 3.26  2010/05/17 23:29:21  krisrose
-- Experiment: generate all the Type1 fonts with METAPOST.
--
-- Revision 3.25  2010/05/14 00:50:09  krisrose
-- Daniel's link included.
--
-- Revision 3.24  2010/05/14 00:37:09  krisrose
-- Update documentation links to PDF and include Daniel's manual.
--
-- Revision 3.23  2010/05/06 17:46:29  krisrose
-- Ross Moore's e-mail address updated.
-- Many obsolete files degraded to Historic.
--
-- Revision 3.22  2010/04/28 20:17:28  krisrose
-- Link to (defunct) Y&Y Inc.
--
-- Revision 3.21  2010/04/28 19:59:28  krisrose
-- Acknowledge properly.
--
-- Revision 3.20  2010/04/28 19:31:55  krisrose
-- Boast about the style integration.
--
-- Revision 3.19  2010/04/28 07:17:17  krisrose
-- PDF only in 3.8.
--
-- Revision 3.18  2010/04/28 07:11:02  krisrose
-- Sic, again...
--
-- Revision 3.17  2010/04/28 07:09:10  krisrose
-- CTAN samples and papers links...
--
-- Revision 3.16  2010/04/28 07:05:39  krisrose
-- &szlig;
--
-- Revision 3.15  2010/04/28 07:01:24  krisrose
-- Users!
--
-- Revision 3.14  2010/04/28 06:54:55  krisrose
-- Removed Latin1 specific characters.
--
-- Revision 3.13  2010/04/28 06:50:42  krisrose
-- Removed dangling link.
--
-- Revision 3.12  2010/04/28 06:43:27  krisrose
-- Sic.
--
-- Revision 3.11  2010/04/28 05:39:25  krisrose
-- Checked and made version independent.
--
-- Revision 3.10  2010/04/26 05:56:57  krisrose
-- Link fixes in progress...
--
-- Revision 3.9  2010/04/21 18:41:02  krisrose
-- Adjustments preparing for xypdf.dtx and friends!
--
-- Revision 3.8  2010/04/16 06:06:51  krisrose
-- Preparing for a new release...
--
-- Revision 3.7  1999/02/16 15:01:59  krisrose
-- Updated for the interim 3.7.
--
-- Revision 3.6  1998/03/06 01:28:05  krisrose
-- Releasing (with Y&Y fonts).
--
-- Revision 3.5  1997/05/28 13:05:01  krisrose
-- Fixed missing breaks bug.
--
-- Revision 3.4  1997/05/18 01:14:25  krisrose
-- Essential bugfixes.
--
-- Revision 3.3  1996/12/19 17:03:13  krisrose
-- Maintenance release.
--
-- Revision 3.2  1995/09/19  18:22:27  kris
-- Bug fix release.
--
-- Revision 3.1  1995/09/05  20:31:32  kris
-- Releasing!
--
-- Revision 3.0  1995/07/07  20:55:47  kris
-- Refers to v3!
--
-- Revision 2.13  1995/07/04  15:11:17  kris
-- Ready to release v3?
--
-- Revision 1.2  1994/10/06  16:43:38  kris
-- Cleaned up to be a proper Xy-pic home page.
--
-- Revision 1.1  1994/08/29  12:24:13  kris
-- Initial revision
--
-- Xy-pic `home page'.
-->