SVG::VCD::Format - format of .vcd (vertebral column description) files
*width: 800 *height: 565 Taxon: Apatosaurus louisae Specimen: CM 3018 Citation: Gilmore 1936:195 and plates 24-25 Data: -----YVVVVVVVVV|VVVuuunnn-
Vertebral Column Description (VCD) format is line-oriented. Each line has a self-contained meaning.
Comments are introduced by a hash character (
#) and run to the end of the line. They are ignored.
Leading and trailing whitespace are ignored.
Blank lines (including those consisting only of spaces and/or comments) ignored.
All other lines fall into one of two categories:
- Configuration settings
These lines begin with an asterisk (
*). Each such line is of the form
:value. It sets the named property to the specified value. Valid properties and their meanings are described below.
- Taxon data
All other lines are data. Each such line is of the form property
:value with no leading asterisk. It provides data about a specific taxon in the vertebral column diagram. Data is described in detail below.
Lines that do not match of either of these forms are invalid.
Specifies the name of a taxon which will appear in the diagram. The data for each taxon begins with a
Taxonline. Following this, any or all of the other three data lines may follow in any order.
Indicates the specimen number of the individual that is described. Useful when multiple individuals of the same taxon are included.
Specifies the source of the observations in the
Dataline: typically either a citation of a published descriptive paper, or "personal observation". At present, this is not used: the intention is that a future version of vcd2svg will included it in an auto-generated caption.
Specifies the information about the individual vertebrae of the column in question. The state of each vertebra is specified by a single character, which can be anything at all. The way those states are illustrated depends on how they are described by the
-polygonconfiguration settings described below. These can be configured in such as way as to represent cervicals vs. dorsals, pneumatic vs. apneumatic vertebrae, bifid vs. simple neural spines, or whatever other characteristic is of interest.
Two character in the data is special:
First, the hyphen (
-) indicates that no data is available for the vertebra in question, so nothing is drawn.
Second, the vertical bar (
|) indicates the anchor point: a position within the vertebral column that is particular interest, such as the cervicodorsal transition, or the dorsosacral transition. The anchor points of all the vertebral columns will be horizontally aligned in the output.
For consistency, in the configuration settings below this anchor point is always referred to as the "cervico-dorsal" transition, the vertebrae before it are referred to as "cervicals" and those after it as "dorsals". But since these terms do not appear in the output, the anchor point may be used as a different transition.
Each of these properties has a single global setting, which applies across all taxa in the diagram. If a setting is set for a second time, the new value replaces the old.
The following settings are recognised:
If specified, then the emitted SVG file has a solid background in the specified colour; otherwise, it is transparent.
The value can be any string that is interpreted as identifying a color in SVG -- for example, a name such as
redor an RGB triple such as
rgb(0,193,252). See http://www.w3.org/TR/SVG11/types.html#Color
The color of the boxes that outline each vertebra. Can be removed altogether by setting it to the same as the background colour.
The height of the boxes drawn to contain "cervical" vertebrae, i.e. those before the anchor point.
The value can be any string that is interpreted as identifying a length in SVG -- for example,
2.4cm. See http://www.w3.org/TR/SVG11/types.html#Length
The width of the boxes drawn to contain "cervical" vertebrae, i.e. those before the anchor point.
If specified, this is the colour in which the vertical line through the cervical-dorsal anchor points of the aligned vertebral columns is drawn; otherwise, no line is drawn.
The offset of the cervico-dorsal anchor point across the area of the drawing. Should between 0 and width.
If defined, the height of each successive dorsal vertebra exceeds that of its predecessor by the specified amount. Can be used to produce increasingly tall (or increasingly short if negative) dorsal vertebrae.
There is currently no corresponding
The height of the boxes drawn to contain "dorsal" vertebrae, i.e. those after the anchor point.
The width of the boxes drawn to contain "dorsal" vertebrae, i.e. those after the anchor point.
The font family to be used for captions, including taxa and specimen numbers. Taxon names are rendered in the italic variant of the font, specimen numbers in the regular font. To inhibit the use of italics for a taxon name (e.g. because it's a clade or family rather than a genus or species), precede it with a forward slash (
The font family may be specified by a list of family-names, as in SVG and CSS. See http://www.w3.org/TR/SVG11/types.html#DataTypeListOfFamilyNames
The font size to be used for captions.
The height of the entire picture to be generated.
The states of individual vertebra, represented by single characters and indicated by
Datalines, are defined by
state-X-polygonpairs of settings.
state-X-colorspecifies what color to use for drawing vertebrae of the state corresponding with the characters X.
This specifies how vertebrae with state X are drawn within their boxes. It is specified as a space-separated sequence of x,y pairs, each representing a point within a notional 1.0-by-1.0 space; a polyline between each of these points in order and returning to the first point is drawn and filled in the colour specified by the corresponding
The x-coordinate runs from left to right; the y-coordinate runs from top to bottom.
0,0 0,1 1,1 1,0simply fills the box with solid color.
0,0 0.5,1 1,0draws a triangle pointing downwards.
0.1,0.3 0.9,0.5 0.1,0.7draws a small, narrow triangle pointing to the right.
The vertical spacing between consecutive taxa.
The distance to move text (i.e. taxon-and-specimen captions) down the drawing relative to the vertebrae (or up if the offset is negative). This can be useful to tweak alignment depending on what font-family and size are used.
The width of the entire picture to be generated.
examples/pbj/pbj.vcd in the distributon. (Note that the latter must be preprocessed by the m4 macro processor.)
vcd2svg - program for translating VCD files into SVG.
Copyright (C) 2013-2014 by Mike Taylor <email@example.com>
GNU General Public Licence v3.0