next up previous
Next: More about C Up: Advanced Features Previous: ePiX, and the epic

Coordinates and Dimensions

LATEX requires you to specify a unitlength, the picture size, and an offset, which determines the picture coordinates of the lower-left corner. Picture objects' locations are specified to LATEX in picture coordinates. When composing a mathematical figure, however, it is generally easier to use Cartesian coordinates. Letting software handle this conversion not only frees you from worrying about (non-portable) picture coordinates, but also makes it easy to change the size of the figure, and to place the figure exactly where LATEX has left space for it. If you've ever had to change the unit length of a figure (for example, because you are American and your coauthor is not), only to have the picture become horribly ugly, overlap the surrounding text, or otherwise break the document, you'll understand why automatic coordinate conversion is a useful feature.

There is one situation where Cartesian coordinates are not adequate, namely when you are doing visual editing to place a text label in a figure. A label's size is independent of both picture coordinates and Cartesian coordinates, so if you use either to position a label, changing the scale or the Cartesian bounding box will probably break the positioning. However, true coordinates (measured on the page) are no good, either, because the size and/or scale of the picture may change with further editing. ePiX circumvents this difficulty by allowing labels to be placed in Cartesian coordinates, but to be offset in true coordinates. For instance, the labels on a coordinate axis need to be positioned at the proper location in the Cartesian plane, but because LATEX uses the basepoint to position a box, the raw Cartesian coordinates are likely to mis-position the labels. If you fine-tune the labels' positions in Cartesian coordinates, however, the picture will break if the scale is changed. Using both Cartesian and true coordinates allows you to position labels easily so that they are placed correctly if the \unitlength is changed, or even if the Cartesian bounding box is changed.

Aside from labels, all positions in an ePiX file are specified in Cartesian coordinates. ePiX asks LATEX to set aside a box of size h_size$ \times$v_size, then does affine scaling on the rectangle [x_min, x_max]$ \times$[y_min, y_max] to get an exact fit. You can still force objects to go outside the bounding box, by giving them Cartesian coordinates outside the box. Positive offsets in ePiX shift the picture up and right (the opposite of LATEX picture offsets). ePiX's output is accurate to $ 10^{-4}$ starunitlength.


next up previous
Next: More about C Up: Advanced Features Previous: ePiX, and the epic
hwang
2002-06-06