compilerbitch: That's me, that is! (f_working)
[personal profile] compilerbitch
I managed to get dot to draw a diagram where the boxes contained LaTeX formulae today:



A Haas diagram showing the lattice of values of my 15-value logic with respect to subset membership


The trick was to fire up LaTeX once for each bubble, with only the content of the bubble on the page (i.e. no headings/page numbers/etc.), then to use dvips -E to generate EPS with a tight bounding box. Getting dot to use these images was easy -- for each node, set the shape to epsf and specify the relevant EPS file. I then made dot export the whole diagram as an EPS, which allowed me to integrate it into a big LaTeX document. (As a slight aside, the whole document, diagrams and all is built by a single 500 line ML program).

I am such a geek. Someone slap me.

Re:

Date: 2004-02-05 04:37 pm (UTC)
From: [identity profile] compilerbitch.livejournal.com
The main reason for using LaTeX is to make sure that the formulae in the diagram is typeset identically to the main paper.

On the other question, dot is a package that automatically draws directed graphs from a high-level representation. It's particular trick is that it works out how to draw the graph from scratch, you don't need to give it any 2D placement or routing information at all. It's extremely handy for this kind of thing!

Re:

Date: 2004-02-05 04:50 pm (UTC)
From: [identity profile] compilerbitch.livejournal.com
As a slight aside, this is what the dot source for the diagram I posted looks like:


digraph g
{
"\fz"[shape=epsf;shapefile="_framebox___fz__.eps"];
"\fp"[shape=epsf;shapefile="_framebox___fp__.eps"];
"\fq"[shape=epsf;shapefile="_framebox___fq__.eps"];
"\tz"[shape=epsf;shapefile="_framebox___tz__.eps"];
"\tp"[shape=epsf;shapefile="_framebox___tp__.eps"];
"\tq"[shape=epsf;shapefile="_framebox___tq__.eps"];
"\ftz"[shape=epsf;shapefile="_framebox___ftz__.eps"];
"\ftp"[shape=epsf;shapefile="_framebox___ftp__.eps"];
"\ftq"[shape=epsf;shapefile="_framebox___ftq__.eps"];
"\tfz"[shape=epsf;shapefile="_framebox___tfz__.eps"];
"\tfp"[shape=epsf;shapefile="_framebox___tfp__.eps"];
"\tfq"[shape=epsf;shapefile="_framebox___tfq__.eps"];
"\clock"[shape=epsf;shapefile="_framebox___clock__.eps"];
"\static"[shape=epsf;shapefile="_framebox___static__.eps"];
"\bigstar"[shape=epsf;shapefile="_framebox___bigstar__.eps"];

"\fq" -> "\fz" [dir=back];
"\static" -> "\fz" [dir=back];
"\fq" -> "\fp" [dir=back];
"\bigstar" -> "\fq" [dir=back];
"\tq" -> "\tz" [dir=back];
"\static" -> "\tz" [dir=back];
"\tq" -> "\tp" [dir=back];
"\bigstar" -> "\tq" [dir=back];
"\ftq" -> "\ftz" [dir=back];
"\clock" -> "\ftz" [dir=back];
"\ftq" -> "\ftp" [dir=back];
"\bigstar" -> "\ftq" [dir=back];
"\tfq" -> "\tfz" [dir=back];
"\clock" -> "\tfz" [dir=back];
"\tfq" -> "\tfp" [dir=back];
"\bigstar" -> "\tfq" [dir=back];
"\bigstar" -> "\clock" [dir=back];
"\clock" -> "\static" [dir=back];
}

(no subject)

Date: 2004-02-13 11:51 am (UTC)
From: [identity profile] randwolf.livejournal.com
[old business] Oh, I see. I think we ought to declare Bell Labs a living national treasure--or maybe that should be living global treasure--, before Lucent decides they're not profitable enough and shuts them down.

Profile

compilerbitch: That's me, that is! (Default)
compilerbitch

January 2016

S M T W T F S
     12
3 45 6789
10111213 141516
17181920212223
24 252627282930
31      
Page generated Mar. 23rd, 2026 07:34 am

Style Credit

Expand Cut Tags

No cut tags