The Frame Shape
The text in flow frames is typeset using the standard rectangular format, but the contents of static or dynamic frames can be shaped using either \parshape or \shapepar. If you have selected a path, you can enable this by selecting either Parshape or Shapepar from the Shape drop-down list. Note that the shape option is not available for any other type of object.
If you use the Parshape or Shapepar options, it will only check if a set of valid parameters can be extracted from the path when you export the image as a LaTeX class or package. (Otherwise it would have to re-evaluate the parameters every time you edit the path.) Note, however, that the paragraph shape in your document may not exactly match the shape you created in FlowframTk:
- \parshape:
- If there are not enough words in the paragraph to fill the shape, the shape will be truncated.
- If there are too many words in the paragraph, the dimensions of the final line of the shape will be repeated for each subsequent line.
- \shapepar:
- If there are not enough words in the paragraph to fill the shape, the shape will shrink.
- If there are too many words in the paragraph, the shape will expand.
To illustrate this, consider the layout shown in Figure 10.9. There are six identical circles arranged in two rows. Each circle has been identified as a static frame. Their bounding boxes can be seen as light grey rectangles. The top three circles have all been assigned a shape given by \parshape, while the bottom three circles have been assigned a shape given by \shapepar.
This layout was exported as a LaTeX package based on the flowfram package, and was included into a document. Each of the static frames were filled with a varying amount of text. The leftmost circles do not have enough text to fill the designated area, while the rightmost circles have too much text. (See Figure 10.10.)
Note that when you use a non-standard paragraph shape, you can no longer specify the margins. Since the paragraph shape is defined by the path, the margins don't have any meaning. If you want a border effect, you can make a slightly larger object behind, and set the border of the larger object to As Shown and the border of the smaller object to None, but remember that the overall effect will depend on the amount of text contained in the frame.