Check out the new USENIX Web site.

Appendix B

The following are the FPIC primitives used in this paper. This represents about one third of the total number of FPIC primitives. We have also included those user-defined operations that are defined in one part of the paper and used in a different part.

For each operation, we give a generic call, with the arguments in italics. The form of the call shows whether or not the operation is infix. The names of the arguments indicate their types: pic for pictures, pt for points, i for integers, r for reals, f for functions, and str for quoted strings.

pt1 ++ pt2 Addition of points
pt1 -- pt2 Subtraction of points
pt1 ** pt2 Multiplication of points
addNamedPics pic [(str1, pic1), . . .] Add the list of named pictures to pic's environment
(pic1, pt1) align (pic2, pt2) Place pic1 and pic2, moving pic2 so that its point pt2 coincides with pt1 on pic1
arrow pt1 pt2 Arrow from pt1 to pt2
pic at pt pic translated so that its reference (southwest) point is at pt
bezier pt1 pt2 pt3 pt4 Bezier curve from pt1 to pt4 with control points pt2 and pt3
box r1 r2 Box of width r1 and height r2
center pic The center of pic, calculated from its bounding box
pic centeredAt pt pic translated so that its center is at pt
circle r Circle of radius r
pic1 cseq pic2 pic1 on top of pic2, their centers aligned
curvedharrow pt1 pt2 Arrow from pt1 to pt2, starting and ending with horizontal segments
dbox Box of default size (1.618034 x 1.0)
dcircle Circle of default radius (1.0)
dcos r Cosine of r (in degrees)
doval Oval inscribed in dbox
dsin r Sine of r (in degrees)
dtriangle An equilateral triangle
frame pic pic with a box drawn around it (user-defined)
group pic Same as pic, but considered as a single picture without subpictures, for purposes of calculating the subpictures of a containing picture. For example, dbox hseq dbox hseq dbox has three subpictures, but group (dbox hseq dbox) hseq dbox has two (the first of which also has two).
height pic The height of pic
pic1 hseq pic2 pic1 next to pic2
hseqlist [pic, . . .] A list of pictures sequenced horizontally
hseqsplist gap [pic, . . .] A list of pictures sequenced horizontally, with space between them
hseqtopsp gap pic1 pic2 pic1 and pic2 are drawn next to each other, their tops aligned, with a gap between them (user-defined)
hseqtopsplist gap [pic, . . .] A list of pictures sequenced horizontally, their tops aligned, with space between them (user-defined)
hspace r Empty space of length r
label str pic Place str in the middle of pic
line pt1 pt2 Line from pt1 to pt2
midpoint pt1 pt2 The mid-point of pt1 and pt2
mkseqlist f Given sequencing function f, return the function that applies f to a list of pictures
namePic pic str Give pic the name str
namePts pic [(str1, pt1), . . .] Add the named points to pic's environment
north pic North point of pic, calculated from its bounding box
northeast pic similarly
northwest pic similarly
pic nthpic i The ith subpicture of pic
pic offsetBy pt pic translated by pt
oval r1 r2 Oval inscribed in box r1 r2
pic pic str The subpicture named str contained in pic
pics pic All the (top-level) subpictures of pic
place pic f pt Move pic so that the point f pic is at pt
placePt pic str pt Move pic so that the point named str is at pt
pic pt str The point named pt in pic
pic right r pic moved right by r
pic rotate r pic rotated counter-clockwise by r (in degrees)
pic scale r pic scaled by r in both dimensions
pic scaleTo pt pic scaled to fit within pt
scaleVec s pt pt multiplied component-wise by s
pic scaleWithPoint (pt1, pt2) pic scaled by pt1 (see scaleXY), but without moving its point pt2
pic scaleXY pt pic scaled by x in the x direction and y in the y direction, where pt = (x, y)
pic1 seq pic2 pic1 superimposed on pic2
seqlist [pic, . . .] The pictures pic, . . ., superimposed on one another
text str A picture consisting of the text str
triangle pt1 pt2 pt3 Triangle connecting pt1, pt2, and pt3
pic1 vseq pic2 pic1 on top of pic2
wedge r1 r2 r3 Create a wedge of a circle with radius r1 extending counter-clockwise from angle r2 to angle r3
width pic The width of pic
pic withArrowStyle str pic drawn with a given arrow style, if it is a line; the arrow styles are as in PSTricks [9]
pic withFillColor (r1, r2, r3) pic drawn in the color given by RGB values (r1, r2, r3) (all in the range 0-1)


[ Prev | Top | Next ]