I would like to contribute to the diagram discussion again, addressing some points that were brought up by others. One of the things that I think we should keep in mind, is that a drawing package must be more general than just a category theoretical diagram drawing package. Preferably, it would provide a well-chosen set of drawing primitives, on top of which a specific `front-end' can be built. Thus one could have the category theoretical diagram front-end, the electronic circuit front-end, the Feynman diagram front-end, the tree drawing front-end, etcetera... A highly specialized set of macros, like Michael Barr's, is not interesting for 99% of the LaTeX users. Of course his package could be a front-end on top of the drawing-kernel. Paul Taylor could make his macros into a front-end as well, and they would both be happy. I prefer the XY-pic syntax for diagrams, so I am already happy. :-) The rest of this posting seems to be a plug for XY-pic, but this is only because it solves many of the problems that people have brought up. From: cbj@socs.uts.EDU.AU (Barry Jay) | 1) Nico Verwer suggests using a general drawing package XY-pic. | Drawings and diagrams differ fundamentally on the issue of who decides | the position of picture elements. In a drawing package the user | decides, in a diagram the program decides. In the core of XY-pic, the user decides the position of the picture elements. The diagram-drawing option is a `user' from the XY-core point of view, and it translates the alignment-like grid into co-ordinates. The syntax of the diagram option differs radically from that of the core, so you can have it both ways. | Presumably our diagram tools should be designed in the same way. We | need a diagram language based on general principles, and a convenience | package built on top for the average user. This is exactly what XY-pic provides. From: dyetter@math.ksu.edu (David Yetter) | a. specifying (in place of text) various sorts of nodes (trivalent | vertex, overcrossing, undercrossing, box with text, empty circle, etc.) | b. specifying various types of connections (arrow, line, wavy line, | semicircular arc on either side of the line, etc.) | Similarly such syntax would be perfectly adequate for pentagonal, | hexagonal, etc. diagrams unless one demands regular polygons. It is all present in XY-pic. From: cfw2@po.CWRU.Edu (Charles F. Wells) | 2. xypic and Paul Taylor's package use a grid metaphor with | syntax based on TeX's array notation.
From XY-pic 2.7 onwards this is definitely _not_ the case. The grid is added on top of the XY-core. In fact, this has alwasy been the case, but the lower levels were not really accessible to the user. That has now changed, and Kris has already written some excellent documentation on this.
| I have not used either system but Mike's | looked easier to use. I am a mathematician. I THINK the | respondents who liked the array notation systems were computer | scientists. I suspect there may be a connection. I am a computer scientist, and for me specifying absolute co-ordinates is like the GOTO statement in programming languages, which has been obsolete since the late sixties. A grid notation is easier to design (for simple diagrams I don't even make a sketch on paper first, I just type them in), easier to read (sometimes other people have to read and work with my LaTeX source), and easier to modify (you can easily change layout, add rows or columns, etc.). Running the risk of being a cs-chauvinist, I suspect that computer scientists are the people who make mathematics usable for the rest of the world, that is, _users_. LaTeX is used by all kinds of people, not just mathematicians. | What is amenable syntax is a very personal thing. I think I | could learn to use xypic's & notation easily; I KNOW I could use | the name-the-coordinates system because it is just like what I | do when I teach calculus. I think that once you learn to use the & and // notation, you will never want to use co-ordinates again. XY-pic can draw diagrams that are not grid-based easily, and has lines in many (that is, very many) directions. It automatically removes overlap with nodes at the end of lines. From: David Murphy <david@gmdzi.gmd.de> | ...about Paul's package... I have used it. I don't find his syntax helpful, | intuitive, or sufficiently extensible. I do not feel that the best interest | of the community would be served by Paul's syntax becoming the standard, and | will communicate this (as a minority view) to the LaTeX 3 project. Is this whole discussion communicated to the LaTeX-3 project. Are we going to take a vote? Is there a place to send suggestions for LaTeX-3 to? How will the LaTeX-3 group decide on a drawing module? From: jds@math.upenn.edu | don't forget the need for curved arrows Once again: they exist in XY-pic already. From: F.J.de.Vries@cwi.nl | What I would like is the following: the drawing in my document is | made by a special editor, part of the tex system. If I want to make | a picture, I would like to be able to open a window, as on the Mac, | and make the picture in this window, being able to use LaTeX text | fragments There are several such systems, like TeXCAD (PC) and TeXdraw (Atari ST). TeXdraw can generate MetaFont output, epic, or a LaTeX picture environment. It would be feasible to make a drawing program generating XY-pic core commands. This would meet all the demands that you put upon it. -- Nico Verwer | nico@cs.ruu.nl Dept. of Computer Science, University of Utrecht | phone: +31 30 533921 p.o. box 80.089, 3508 TB Utrecht, The Netherlands | fax: +31 30 513791 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++