categories - Category Theory list
 help / color / mirror / Atom feed
From: Vaughan Pratt <pratt@CS.Stanford.EDU>
To: categories@mta.ca
Subject: Re: graphics
Date: Tue, 24 Feb 2004 21:26:08 -0800	[thread overview]
Message-ID: <200402250526.i1P5Q8gA007761@coraki.Stanford.EDU> (raw)


>My favorite method is to draw figures in xfig, then export the result as
>LaTeX picture code and edit the text to take advantage of LaTeX's
>text processing capabilities, fonts and special symbols.
>It would be quite suitable for flow chart graphics.
>D. Yetter

Xfig is pretty convenient, but one can get a tad impatient with xfig's
imprecision after a while.  The time it takes to drag a vertex into position
with acceptable precision tends in practice to be several times what it
takes to simply type that position in by hand if you can see right away
which lattice point it has to be.  If you're a Picasso in such things then
starting off with xfig isn't so bad, but if you're more of a Mondrian you
might prefer to work in Latex's picture environment from the get-go.

As with xypic, choosing a scale that makes the coordinates meaningful integers
helps a lot here, e.g. being able to coordinatize the vertices of a diamond
as (1,0), (0,1), (-1,0), (0,-1), or putting the inputs to an AND gate at
(0,1) and (0,3) and the output at (4,2), or putting the vertices of a Hasse
diagram at small lattice points.

The only other widely supported language I know that's expressive enough to
write a complete macro library in 20 lines for capabilities like flowcharts,
digital or analog circuits, and lattice diagrams and that interoperates
smoothly with Latex is PostScript.  That works too, the main downside
compared to programming directly in Latex's picture environment (for
those using pdflatex) is the external file needed in the use of epstopdf
plus includegraphics.  (I'm using both in the paper I'm currently working
on, mainly for fear of running out of Tex's memory with the more complex
figures.  Not that either are great programming languages per se, actually
they kind of suck in that regard, thank you Don, Leslie, John, and Chuck!)
The above comment about picking the right scale applies equally to Latex's
picture environment and PostScript.

When your diagrams are sufficiently like the ones that xypic, diagram.tex,
and diagrams.tex are designed for, those are pretty good too.  But they're
not really conceived of as programming languages, making their usefulness
inversely proportional to the distance between their kind of diagrams
and yours.

Vaughan Pratt






             reply	other threads:[~2004-02-25  5:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-25  5:26 Vaughan Pratt [this message]
2004-02-27 16:44 ` graphics Robert Seely
2004-02-28 10:15   ` graphics: comment and a query Ronald  Brown
2004-02-29 11:49 ` graphics Jeremy Gibbons
  -- strict thread matches above, loose matches on Subject: below --
2004-02-27 23:48 graphics Valeria.dePaiva
2004-02-21 16:57 graphics jim stasheff
2004-02-23  2:20 ` graphics David Yetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200402250526.i1P5Q8gA007761@coraki.Stanford.EDU \
    --to=pratt@cs.stanford.edu \
    --cc=categories@mta.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).