proc pgLayout {} {
# $Header: /home/cvsroot/tcldb/ucodb/Tlib/pgLayout,v 1.1 1998/07/15 22:01:00 de Exp $
# write out the digraph def

	global Page Lang Tile Stretch Rota Flags Grow
#
set res ""
# no, let dot order things for you
if {$Tile} {
#	We default to B size always on tiling.
	puts stderr "  This plot is just too big, I'm going to tile it."
	if {$Page == "A"} {
	append res "page=\"8.5,11\"\;\n"
	puts stderr "  You forced me to use A-size tiles, so I hope you"
	puts stderr "  have a lot of patience and sticky-tape."
	} else {
	puts stderr "  I'm also going to use 11x17 as the tile size, so"
	puts stderr "  you might start looking for an 11x17 printer :-)"
	append res "page=\"11,17\"\;\n"
	}
	append res "ranksep=1.0\;\n"
	append res "nodesep=0.5\;\n"
} else {
#	always assume A size unless lang is hpgl, in which case E size
	if {$Lang == "hpgl"} {
	puts stderr "  HPGL selected, E size 32x42 page..."
	puts stderr "  I'm going to warn you right now that this probably"
	puts stderr "  won't work.  dot seems to have trouble scaling "
	puts stderr "  HPGL plots, but you can fix it by editing the "
	puts stderr "  output file."
	append res "size=\"42,32\"\;\n"
	set rota 0
	} else {
#	assume PostScript for now, A size 8.5x11 with margins
	if {$Page == "B"} {
	if {$Rota} {
	append res "size=\"16,10\"\;\n"
	} else {
	append res "size=\"10,16\"\;\n"
	}
	} else {
	if {$Rota} {
	append res "size=\"10,7.5\"\;\n"
	} else {
	append res "size=\"7.5,10\"\;\n"
	}
	}
	}
	
	append res "ratio=compress\;\n"
	append res "nodesep=0.25\;\n"
	if {$Stretch} {
		puts stderr "  decided to stretch ranks"
		append res "ranksep=3.0\;\n"
	} else {
		append res "ranksep=0.5\;\n"
	}
}
#
if {$Rota} {
puts stderr "  decided to rotate plot"
append res "rotate=90\;\n"
}
#
if {$Grow == "H"} {
puts stderr "  ranks grow horizontally"
append res "rankdir=LR\;\n"
}
#
set res [string trimright $res \n]
return "$res"
#
}
