Template:Barlabel/doc

This template is used to add labels to brackets and bars which have been added to cladograms using cladex.

Usage

 * 1) First create a cladogram using cladex and clade, as appropriate.
 * 2) Then embed the cladogram in this template as the value of cladogram.

Example
Suppose you have created the cladogram shown below.

To provide labels for the two groups identified in the cladogram:
 * Count the number of leaf nodes in the cladogram; here there are 7. The parameter size will be set to 7.
 * Decide against which leaf nodes you want the labels to go. To centre the labels, the label for the green group should be opposite leaf node 3; the label for the purple group should be between leaf nodes 5 and 6, i.e. opposite leaf node "5.5". The at parameters of the template are set to these values.

The full expression required is shown below (excluding the code to create the cladogram). This produces

To reduce the font size of the cladogram and its labels, use the style parameter. Thus produces

The cladogram can be aligned to the right, with text flowing around it to the left, but in this case you must specify the space allowed for the labels using the parameter labelwidth, otherwise the labels will appear off the right of the page. Trial and error may be needed, but about 60% of the number of characters in the longest label is usually a good starting point. Thus produces the cladogram on the right below.

The cladogram can be placed centrally on the page by specifying |align=center or |align=centre. The labelwidth parameter is needed to ensure the cladogram is centred; if it is omitted, the labels will be ignored in determining the placement. Thus  produces

The cladogram can also be aligned left with text flowing around it to the right by using |align=left</tt>. Again the labelwidth</tt> parameter is needed, otherwise the labels will overlap the text.

(The template can be used to align cladograms without brackets/bars and labels, although cladogram offers more options for doing this.) <br style="clear:both;">

Parameters

 * size</tt> must be set to the total number of leaf nodes in the cladogram, e.g. |size=23</tt>.

Up to five labels can be provided. They are identified by the digit in the name of the parameter. Each label requires three parameters, e.g. at2</tt>, label2</tt> and bar2</tt> for the second label. There is no connection between these numbers and the numbers used to identify child nodes in clade or cladex. The "1" can be omitted, i.e. at</tt>, label</tt> and bar</tt> are equivalent to at1</tt>, label1</tt> and bar1</tt>.


 * atN</tt> defines the position of label N in terms of position of the leaf node in the whole cladogram, starting from 1 and ending at the value of size</tt>. The label is placed opposite the chosen leaf node. For a label between two leaf nodes, use the average. Thus to place the first label opposite leaf node 6, use |at1=6</tt>; to place the third label opposite a point between leaf nodes 6 and 7, use |at3=6.5</tt>.
 * <tt>labelN</tt> defines the text of label N. Thus to give the third label the text "Group 3", use <tt>|label3=Group 3</tt>.
 * <tt>barN</tt> defines the colour of label N. Thus to put the second label in green text, use <tt>|bar3=green</tt>. (The name <tt>bar</tt> is consistent with cladex; however <tt>colourN</tt> or <tt>colorN</tt> can be used instead.)
 * <tt>style</tt> The size of the text used in the cladogram and labels can be altered by using the <tt>style</tt> parameter, e.g. <tt>|style=font-size:85%</tt>. Do not alter the font size in the cladex or clade templates! If you do, the cladogram and the labels will not align correctly as they will be of different sizes.
 * <tt>align</tt> The cladogram can be aligned centrally by specifying <tt>|align=center</tt> or <tt>|align=centre</tt>, or to the right or left by specifying <tt>|align=right</tt> or <tt>|align=left</tt>. The last two allow text to flow around the side of the cladogram, i.e. it is embedded in the text.
 * <tt>labelwidth</tt> When using <tt>|align=</tt>, you must also specify the space allowed for the labels using <tt>labelwidth=number</tt>, otherwise the space occupied by the labels will be ignored in placing the cladogram. Trial and error may be needed, but about 60% of the number of characters in the longest label is usually a good starting point.

Limitations, debugging
The template works by constructing a hidden table. Different browsers (user agents) have different algorithms for laying out tables, so the precise alignment of the labels differs between browsers and platforms, and is not always exactly opposite the chosen leaf node. Although it's possible to 'tweak' the alignment for one browser/platform combination (e.g. by using fractional positions other than 0.5), this won't work across combinations.

The template does not check the ranges of the parameters supplied, so make sure that the values of the <tt>atN</tt> parameters are less or equal to the value of the <tt>size</tt> parameters. Label N will only be displayed if <tt>size</tt>, <tt>atN</tt> and <tt>labelN</tt> are defined. The colour of the text of the label (defined by <tt>barN</tt>, <tt>colorN</tt> or <tt>colourN</tt>) defaults to black.

Setting <tt>labelwidth</tt> is needed whenever the cladogram is aligned to the centre, right or left. This includes placing <tt> </tt> inside cladogram and aligning it to the right via that template.