The package defines additional arrow tips, which are described below. See page 295 for the arrows tips that are defined by default. Note that neither the standard packages nor this package defines an arrow name containing > or <. These are left for the user to defined as he or she sees fit.
[-] | yields thick and thin |
]-[ | yields thick and thin |
(-) | yields thick and thin |
)-( | yields thick and thin |
o | yields thick and thin |
* | yields thick and thin |
diamond | yields thick and thin |
open diamond | yields thick and thin |
This library package defines basic snakes. Section 9.2.3 explains how snakes are used in TikZ, Section 22 explains how new snakes can be defined.
The snakes are influenced by the current values of parameters like \pgfsnakesegmentamplitude. Only this parameter and \pgfsnakesegmentlength are proper TEX dimensions, all other parameters are TEX macros.
In TikZ, each parameter can be set using an option having the parameters name minus the \pgfsnake part.
This snake adds straight lines the path that are at a specific angle to the line toward the target. The idea is to add these little lines to indicate the “border” or an area. The following parameters influence the snake:
|
This snake adds a long brace to the path. The left and right end of the brace will be exactly on the start and endpoint of the snake. The following parameters influence the snake:
|
This snake consists of little half ellipses. The following parameters influence the snake:
|
This snake adds a coil to the path. To understand how this works, imagine a three-dimensional spring. The spring’s axis points along the line toward the target. Then, we “view” the spring from a certain angle. If we look “straight from the side” we will see a perfect sine curve, if we look “more from the front” we will see a coil. The following parameters influence the snake:
|
This snake adds arcs to the path that get bigger along the line towards the target. The following parameters influence the snake:
|
This snake looks like the blade of a saw. The following parameters influence the snake:
|
This snake is the “architypical” snake: It looks like a snake seen from above. More precisely, the snake is a sine wave with a “softened” start and ending. The following parameters influence the snake:
|
This snake adds straight lines the path that are orthogonal to the line toward the target. The following parameters influence the snake:
|
This snake adds triangles to the path that point toward the target. The following parameters influence the snake:
|
This snake adds arcs to the path that have a constant size. The following parameters influence the snake:
|
This snake looks like a zig-zag line. The following parameters influence the snake:
|
This library packages defines additional plot handlers, see Section 29.3 for an introduction to plot handlers. The additional handlers are described in the following.
This handler will issue a \pgfpathcurveto command for each point of the plot, except possibly for the first. As for the line-to handler, what happens with the first point can be specified using \pgfsetmovetofirstplotpoint or \pgfsetlinetofirstplotpoint.
Obviously, the \pgfpathcurveto command needs, in addition to the points on the path, some control points. These are generated automatically using a somewhat “dumb” algorithm: Suppose you have three points x, y, and z on the curve such that y is between x and z:
|
In order to determine the control points of the curve at the point y, the handler computes the vector z - x and scales it by the tension factor (see below). Let us call the resulting vector s. Then y + s and y - s will be the control points around y. The first control point at the beginning of the curve will be the beginning itself, once more; likewise the last control point is the end itself.
Sets the factor used by the curve plot handlers to determine the distance of the control points from the points they control. The higher the curvature of the curve points, the higher this value should be. A value of 1 will cause four points at quarter positions of a circle to be connected using a circle. The default is 0.5.
|
This handler works like the curve-to plot handler, only it will add a new part to the current path that is a closed curve through the plot points.
|
There are three “comb” plot handlers. There name stems from the fact that the plots they produce look like “combs” (more or less).
This handler converts each point in the plot stream into a line from the y-axis to the point’s coordinate, resulting in a “horizontal comb.”
|
This handler converts each point in the plot stream into a line from the x-axis to the point’s coordinate, resulting in a “vertical comb.”
This handler is useful for creating “bar diagrams.”
|
This handler converts each point in the plot stream into a line from the origin to the point’s coordinate.
|
This command will execute the <mark code> for each point of the plot, but each time the coordinate transformation matrix will be setup such that the origin is at the position of the point to be plotted. This way, if the <mark code> draws a little circle around the origin, little circles will be drawn at each point of the plot.
|
Typically, the <code> will be \pgfuseplotmark{<plot mark name>}, where <plot mark name> is the name of a predefined plot mark.
Draws the given <plot mark name> at the origin. The <plot mark name> must previously have been declared using \pgfdeclareplotmark.
|
Declares a plot mark for later used with the \pgfuseplotmark command.
|
This command sets the TEX dimension \pgfplotmarksize to <dimension>. This dimension is a “recommendation” for plot mark code at which size the plot mark should be drawn; plot mark code may choose to ignore this <dimension> altogether. For circles, <dimension> should be the radius, for other shapes it should be about half the width/height.
The predefined plot marks all take this dimension into account.
|
A TEX dimension that is a “recommendation” for the size of plot marks.
The following plot marks are predefined (the filling color has been set to yellow):
When this package is loaded, the following plot marks are defined in addition to *, x, and + (the filling color has been set to a dark yellow):
This library packages defines additional shapes, which are described in the following.
This shape “crosses out” the node. Its foreground path are simply two diagonal lines that between the corners of the node’s bounding box. Here is an example:
|
A useful application is inside text as in the following example:
Cross out! |
|
This shape inherits all anchors from the rectangle shape, see also the following figure:
|
This shape is an ellipse tightly fitting the text box, if no inner separation is given. The following figure shows the anchors this shape defines; the anchors 10 and 130 are example of border anchors.
|
This shape places the node inside a circle with a diagonal from the lower left to the upper right added. The circle is part of the background, the diagonal line part of the foreground path; thus, the diagonal line is on top of the text.
|
The shape inherits all anchors from the circle shape, see also the following figure:
|
This shape is idential to the cross out shape, only its foreground path consists of a single line from the lower left to the upper right.
Strike out! |
|
See the cross out shape for the anchors.
This packages defines styles to be used when drawing trees.
The package pgflibrarytikztrees defines two new growth functions. They are installed using the following options:
The net effect of all this is that if you have a certain “linear arrangement” in mind and use this option to specify the placement of a single child and of two children, then any number of children will be placed correctly.
Here are some arrangements based on this growth function. We start with a simple “above” arrangement:
|
The next arrangement places children above, but “grows only to the right.”
|
In the final arrangement, the children are placed along a line going down and right.
|
These examples should make it clear how you can create new styles to arrange your children along a line.
Note that this function will rotate the coordinate system of the children to ensure that the grandchildren will grow in the right direction.
|
The following styles can be used to modify how the edges from parents are drawn:
|
|
This packages defines “backgrounds” for pictures. This does not refer to background pictures, but rather to frames drawn around and behind pictures. For example, this package allows you to just add the framed option to a picture to get a rectangular box around your picture or gridded to put a grid behind your picture.
When this package is loaded, the following styles become available:
|
The size of the background rectangle is determined as follows: We start with the bounding box of the picture. Then, a certain separator distance is added on the sides. This distance can be different for the x- and y-directions and can be set using the following options:
The following two styles make setting the inner separator a bit easier to remember:
You can influence how the background rectangle is rendered by setting the following style:
|
Naturally, no one in their right mind would use the above, but here is a nice background:
|
|
You can influence the background grid by setting the following style:
|
This option can be combined with the framed option (use the framed option first):
|
|
The following option allows you to lengthen (or shorten) the line:
|
|
You can influence how the line is drawn grid by setting the following style:
This packages, which is still under construction, provides shapes and styles for drawing automata.
This shape is currently just an alias for the circle shape. However, it is useful to have another shape state since one can then say, for example, the the style every state shape should be set to some special value.
This shape is a multi-part shape. The main part (the text part) is the name of the state as in the state shape. The second part is called output. This node part is drawn in the lower part of the node, separated from the upper part by a line.
|
The shape inherits all anchors from the circle shape and defines the output anchor in addition. See also the following figure:
|