=include name
-=head1 SYNOPSYS
+=head1 SYNOPSIS
=over 4
-=item B<to be depriciated commands>
+=item B<old-style commands, for compatibility>
=over 4
=back
+Z<>
+
=item B<available commands>
=over 8
=item B<VRULE> : I<vname> # I<color> [ : I<legend> ]
-=item B<LINE>{I<width>} : I<vname> # I<color> [ : I<legend> ] [ : STACK ]
+=item B<LINE>{I<width>} : I<vname> # I<color> [ : I<legend> ] [ C<:STACK> ]
-=item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:> C<STACK> ]
+=item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:STACK> ]
-=item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
+=cut
-=item B<TICK> : I<vname> B<#> I<rrggbbaa> [ : I<fraction> [ : I<legend> ] ]
+# =item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
-=back
+=pod
-=item B<to be implemented commands>
-
-=over 8
+=item B<TICK> : I<vname> B<#> I<rrggbbaa> [ : I<fraction> [ : I<legend> ] ]
=item B<SHIFT> : I<vname> , I<offset>
=item B<PRINT> : I<vname> : I<CF> : I<format>
-I<Depriciated. Use the new form of this command in new scripts.>
+I<Deprecated. Use the new form of this command in new scripts.>
The first form of this command is to be used with B<CDEF> I<vname>s.
=item B<PRINT> : I<vname> : I<format>
=item *
-B<%#.#le> (where # is an optional number) prints like 1.2346e+04
+B<%#.#le> prints like 1.2346e+04. Optional numbers # are field width and
+decimal precision
=item *
-B<%#.#lf> prints like 12345.6789
+B<%#.#lf> prints like 12345.6789, with optional field width and precision
=item *
-B<%s> place this after B<%le> or B<%lf>. This will be replaced by the
+B<%s> place this after B<%le>, B<%lf> or B<%lg>. This will be replaced by the
appropriate SI magnitude unit and the value will be scaled
accordingly (123456 -> 123.456 k)
=item *
-B<%U, %W> week number of the current year with either the first sunday or
-the first monday determining the first week
+B<%U, %W> week number of the current year with either the first Sunday or
+the first Monday determining the first week
=item *
=item B<GPRINT> : I<vname> : I<CF> : I<format>
-I<Depriciated. Use the new form of this command in new scripts.>
+I<Deprecated. Use the new form of this command in new scripts.>
This is the same as C<PRINT> but now it is printed inside the graph.
=item B<GPRINT> : I<vname> : I<format>
=item B<HRULE> : I<value> # I<color> [ :I<legend> ]
-Draw an horizontal line at I<value>. Its color is composed from three
-hexadecimal numbers specifying the color components (00 is off, FF is
-maximum) red, green and blue. Optionally a legend box and string is
-printed in the legend section. I<value> can be a variable from a B<VDEF>.
-It is an error to use I<vname>s from B<DEF> or B<CDEF> here.
+I<Deprecated. Use B<LINEx> in new scripts.>
=item B<VRULE> : I<vname> # I<color> [ : I<legend> ]
printed in the legend section. I<time> may be a number or a variable
from a B<VDEF>. It is an error to use I<vname>s from B<DEF> or B<CDEF> here.
-=item B<LINE>{I<width>} : I<vname> # I<color> [ : I<legend> ] [ : STACK ]
+=item B<LINE>{I<width>} : I<{vname or number}> # I<color> [ : I<legend> ]
+[ C<:STACK> ]
Draw a line of the specified width into the graph. If the color
is not specified, the drawing is done 'blind'. This is useful when
stacked on top of the previous element which can be a B<LINEx> or
an B<AREA>
-=item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:> C<STACK> ]
+=item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:STACK> ]
See B<LINE>, however the area between the x-axis and the line will
also be filled.
-=item B<STACK> : I<vname> # I<color> [ :I<legend> ]
-
-I<Depriciated. Use the B<STACK> modifiers on the other commands.>
-I<Note: the comments on stacking are still valid...>
-Repeats the last B<LINEx> or B<AREA> however it doesn't start at the
-x-axis but rather on top of the previous element. This implies that
-there needs to be something to stack on. An invisible B<LINEx> or
-B<AREA> is something you can stack on, an unknown value is not!
-
-Note: When you stack on something that was I<unknown>, the whole
-stack will be I<unknown> for that point in time. If the beginning
-is undefined, there's no way to end somewhere... If you want to
-graph this stacked variable anyway you need to make sure that the
-B<LINEx> or B<AREA> it gets stacked on is not unknown. Use a CDEF
-instruction with B<IF> and B<UN> to do so.
-
-=item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
-
-B<RRDtool> has now support for B<pie charts>. If you include the
-B<PART> command, the canvas is extended to make room for a chart
-The size of the canvas is determined by the lesser of
-L<width and height|rrdgraph/item_Size>.
-
-Pie parts will be concatenated, the first one will start at the
-top and parts will be created clockwise. The size of the part
-is defined by the value part of the L<VDEF|rrdgraph_data/VDEF>
-function. It should return a number between 0 and 100, being a
-percentage. Providing wrong input will produce undefined results.
-
=item B<TICK> : I<vname> B<#> I<rrggbbaa> [ : I<fraction> [ : I<legend> ] ]
Plot a tick mark (a vertical line) for each value of I<vname> that is
is 0.1 (10% of the axis). Note that the color specification is not
optional.
-=back
-
-B<THE NEXT COMMAND IS NOT YET IMPLEMENTED>
-
-=over 4
-
-=item B<SHIFT> : I<vname> , I<offset>
+=item B<SHIFT> : I<vname> : I<offset>
Using this command B<RRDtool> will graph the following elements
with the specified offset. For instance, you can specify an
offset of S<( 7*24*60*60 = ) 604800 seconds> to "look back" one
week. Make sure to notify the viewer you did so...
-The offset will be valid until the next B<SHIFT> command, which
-can have an offset of zero to restore normal graphing.
-As with the other grapher elements, you can specify a number or
+As with the other graphing elements, you can specify a number or
a variable here.
+=cut
+
+#=item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
+#
+#B<RRDtool> has now support for B<pie charts>. If you include the
+#B<PART> command, the canvas is extended to make room for a chart
+#The size of the canvas is determined by the lesser of
+#L<width and height|rrdgraph/item_Size>.
+#
+#Pie parts will be concatenated, the first one will start at the
+#top and parts will be created clockwise. The size of the part
+#is defined by the value part of the L<VDEF|rrdgraph_data/VDEF>
+#function. It should return a number between 0 and 100, being a
+#percentage. Providing wrong input will produce undefined results.
+
+=pod
+
+=item B<STACK> : I<vname> # I<color> [ :I<legend> ]
+
+I<Deprecated. Use the B<STACK> modifiers on the other commands.>
+
=back
+B<Some notes on stacking>
+
+When stacking, an element is not placed above the X-axis but rather
+on top of the previous element. There must be something to stack
+upon.
+
+An B<invisible> LINEx or AREA B<is> present and can be stacked upon.
+
+An B<unknown> value makes the entire stack unknown from that moment on.
+You don't know where to begin (the unknown value) and therefore do
+not know where to end.
+
+If you want to make sure you will be displaying a certain variable,
+make sure never to stack upon the unknown value. Use a CDEF instruction
+with B<IF> and B<UN> to do so.
+
+=head1 NOTES on legend arguments
+
+=head2 Escaping the colon
+
+In a ':' in a I<legend> argument will mark the end of the legend. To
+enter a ':' into a legend, the colon must be escaped with a backslash '\:'.
+Beware, that many environments look for backslashes themselves, so it may
+be necessary to write two backslashes so that one is passed onto rrd_graph.
+
+=head2 String Formatting
+
+The text printed below the actual graph can be formated by appending special
+escaped characters at the end of a text. When ever such a character occurs,
+all pending text is pushed onto the graph according to the character
+specified.
+
+Valid markers are: B<\j> for justified, B<\l> for left aligned, B<\r> for
+right aligned and B<\c> for centered. In the next section there is an
+example showing how to use centered formating.
+
+Normally there are two space characters inserted between every two items
+printed into the graph. The space following a string can be suppressed by
+putting a B<\g> at the end of the string. The B<\g> also ignores any space
+inside the string if it is at the very end of the string. This can be used
+in connection with B<%s> to suppress empty unit strings.
+
+ GPRINT:a:MAX:%lf%s\g
+
+A special case is COMMENT:B<\s> this inserts some additional vertical space
+before placing the next row of legends.
+
+If you are using the proportional font in your graph, you can use tab characters
+or the sequence B<\t> to lin-up legend elements. Note that the tabs inserted are
+relative to the start of the current legend element!
+
=include see_also