14 The Ipe file format14.3 Ipe object elements14.4 The Ipe style sheet format

14.4 The Ipe style sheet format

Style sheets can either be embedded in an Ipe document, or reside in a separate file. Separate files can start with the optional <?xml> tag.

The style sheet itself consists of the single element <ipestyle>. It takes the optional attribute name, which serves to identify the style sheet informally, and can be used to automatically update the style sheet from a file with the matching name.

The contents of the style sheet element can consist of the following elements: template, color, dashstyle, linewidth, textsize, marksize, arrowsize, grid, angle, preamble, textstretch, layout, titlestyle, cmap, pathstyle, textstyle and shading.

The template element takes a required attribute name, which identifies the template and must be unique in the style sheet. Its contents is a single Ipe object.

The textstyle element defines a symbolic text style. Its attribute name sets the name (to be used in the style attribute of <text> elements), and the attributes begin and end contain the LaTeX code to be placed before and after the text of the object when it is formatted.

The contents of the preamble element defines a (piece of) LaTeX-preamble.

The layout element defines the layout of the frame on the paper and the paper size. It takes the required attributes paper, origin, and frame, and the optional attribute skip. The origin is the lower left corner of the frame in the paper coordinate system, frame is the size of the frame, and paper is the size of the paper. skip is the default paragraph skip between textboxes.

The titlestyle element defines the appearance of the page title on the page. It takes the required arguments pos, color, and size, and the optional arguments halign and valign. They have the same meaning as for <text> elements.

The pathstyle element takes the optional attributes cap, join, and fillrule, with the same meaning as the attributes to <path> elements. The define the default setting for path objects.

The shading element sets the background shading of a PDF page. Its required attributes are type (with the possible values axial and radial), colora and colorb (the two extreme colors that are being interpolated), extend (two integer flags, indicating whether to extend the shading to the full page), and coords (for axial shading, the coordinates of the endpoints of the axis, for radial shading, the center and radius of both circles). The shading will be applied to every PDF page, before anything else is drawn on it. It is completely invisible in the Ipe user interface, so use this it with care.

The cmap element defines a Unicode font. It takes the single required attribute font, which specifies the name of the font. See here for an example.

All other elements have empty contents and two required attributes, name and value. name defines a symbolic name, value an absolute value. The symbolic name must start with a letter 'a' to 'z' or 'A' to 'Z'. The value for the color and dashstyle elements must be a legal absolute value for the Ipe object attributes of the same name. The value for linewidth, textsize, marksize, arrowsize, grid, textstretch and angle must be single real number.

Note that the symbolic names for grid and angle cannot actually be used by objects in the document--they are only used to fill the grid size and angular snap angle in the user interface with values.


14 The Ipe file format14.3 Ipe object elements14.4 The Ipe style sheet format