I would favor a grid-based syntax something like that illustrated in the examples below A simple commutative square might be denoted \begin{diagram}{2,2} \atnodes{A, B, C, D} %list entries at nodes in row-dominant order %would be useful in diagrams with text or %special symbols at all or most nodes \arrow [f]{1,1}{1,2} %arrow-head at second coordinate %argument \arrow [\phi ]{1,1}{2,1} \arrow [\psi ]{1,2}{2,2} \arrow [g]{2,1}{2,2} \end{diagram} A square with a 2-cell might be denoted \begin{diagram}{2,2} \atnodes{A, B, C, D} \arrow [f]{1,1}{1,2} \arrow [\phi ]{1,1}{2,1} \arrow [\psi ]{1,2}{2,2} \arrow [g]{2,1}{2,2} \among{\Swarrow x}{1,1}{1,2}{2,2}{2,1} %variable number of vertices %to define region, coordinate %arguments are placed last to %make synatax uniform, an allow %the variable number here \end{diagram} A pushout square might be denoted \begin{diagram}{2,2} \atnodes{A, B, C, D} \arrow [f]{1,1}{1,2} \arrow [\phi ]{1,1}{2,1} \arrow [\psi ]{1,2}{2,2} \arrow [g]{2,1}{2,2} \among{\rangle }{1,1}{1,2}{2,2}{2,1} %\rangle places the right-angle %symbol as a region filler near the first %listed vertex, thus a pushout would have the %same form, except {2,2} would be the first of %the coordiante arguments \end{diagram} A knot diagram for the trefoil knot as a closed braid might be denoted \begin{diagram}{4,4} \line {1,1}{1,4} %draws a line between the nodes (if node is empty %line goes to node location, if node has %symbol, line stops a small distance away) \line {4,1}{4,4} \arcplus {1,1}{1,2} %draws a semicircular arc above (or right of) line %joining nodes \arcplus {1,3}{1,4} \arcminus {4,1}{4,2} %similarly below (or left of) \arcminus {4,3}{4,4} \among{\overcrossing }{1,2}{1,3}{2,3}{2,2} \among{\overcrossing }{2,2}{2,3}{3,3}{3,2} \among{\overcrossing }{3,2}{3,3}{4,3}{4,2} %it is more convenient to %put crossings inside regions than at nodes %for certain special fillers such as %crossings, the \among command should require %a fixed number of coordinate arguments \end{diagram} One might want a command of the form \smoothing which would smooth connections at between arcs at incoming vertices. One could indicate orientation on the knot by using \arrow in place of \line. A Feynman diagram for the annihilation of an electron-positron pair might be denoted \begin{diagram}{3,3} \arrow[e^-]{1,1}{2,2} \arrow[e^+]{3,1}{2,2} \wavyarrow[\gamma ]{2,2}{2,3} \end{diagram} One would also like commands of the forms \atnode{ <text or special symbols> }{n,m} for use when most nodes do not require text or special symbols, while the syntax of \atnodes should allow a pair of commas with a space between to indicate an empty node, \arrowarcplus... \arrowarcminus... useful for oriented knot diagrams or bigonal parts of 2-categorical diagrams, \wavyline for vitural photons (and other things) and, of course, more symbols like \Swarrow for a double lined south-west pointing arrow, etc. Other symbols for use at node or in \among statements might include standard circuit design and logical gate symbols. Three cheers for a grid based syntax, so long as it has enough special symbols and the capacity to put things in regions as well as at nodes and between nodes. --David Yetter +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
participants (1)
-
dyetter@math.ksu.edu