328 lines
11 KiB
HTML
328 lines
11 KiB
HTML
<!-- Creator : groff version 1.24.1 -->
|
|
<!-- CreationDate: Mon Mar 16 21:28:01 2026 -->
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="Content-Style" content="text/css">
|
|
<style type="text/css">
|
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
h1 { text-align: center }
|
|
</style>
|
|
<title>pic-6.html</title>
|
|
|
|
</head>
|
|
<hr>
|
|
[ <a href="pic-5.html">prev</a> | <a href="pic-7.html">next</a> | <a href="pic.html">top</a> ]
|
|
<hr>
|
|
|
|
|
|
<h2>6. Decorating Objects
|
|
<a name="6. Decorating Objects"></a>
|
|
</h2>
|
|
|
|
|
|
<h3>6.1. Text Special Effects
|
|
<a name="6.1. Text Special Effects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">All <b>pic</b> implementations
|
|
support the following font-styling escapes within text
|
|
objects:</p>
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
cellspacing="0" cellpadding="0">
|
|
<tr valign="top" align="left">
|
|
<td width="18%">
|
|
|
|
|
|
<p style="margin-top: 1em">\fR, \f1</p></td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em">Set Roman style (the
|
|
default)</p> </td></tr>
|
|
<tr valign="top" align="left">
|
|
<td width="18%">
|
|
|
|
|
|
<p style="margin-top: 1em">\fI, \f2</p></td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em">Set Italic style</p></td></tr>
|
|
<tr valign="top" align="left">
|
|
<td width="18%">
|
|
|
|
|
|
<p style="margin-top: 1em">\fB, \f3</p></td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em">Set Bold style</p></td></tr>
|
|
<tr valign="top" align="left">
|
|
<td width="18%">
|
|
|
|
|
|
<p style="margin-top: 1em">\fP</p></td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em">Revert to previous style; only
|
|
works one level deep, does not stack.</p></td></tr>
|
|
</table>
|
|
|
|
<p style="margin-top: 1em">In the <b>pic</b>
|
|
implementations that are preprocessors for a toolchain that
|
|
include <b>[gtn]roff</b>, text objects may also contain
|
|
<b>[gtn]roff</b> vertical- and horizontal-motion escapes
|
|
such as \h or \v. Troff special glyphs are also available.
|
|
All \-escapes will be passed through to the postprocessing
|
|
stage and have their normal effects. The base font family is
|
|
set by the <b>[gtn]roff</b> environment at the time the
|
|
picture is rendered.</p>
|
|
|
|
<p style="margin-top: 1em"><b>pic2plot</b> replaces
|
|
<b>[gtn]roff</b> horizontal- and vertical-motion escapes
|
|
with \-escapes of its own. Troff special glyphs are not
|
|
available, but in most back ends Latin-1 special characters
|
|
and a square-root radical will be. See the <b>pic2plot</b>
|
|
documentation for full details.</p>
|
|
|
|
<h3>6.2. Dashed Objects
|
|
<a name="6.2. Dashed Objects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">We’ve already seen that
|
|
the modifier <b>dashed</b> can change the line style of an
|
|
object from solid to dashed. GNU <b>gpic</b> permits you to
|
|
dot or dash ellipses, circles, and arcs (and splines in TeX
|
|
mode only); some versions of DWB may only permit dashing of
|
|
lines and boxes. It’s possible to change the dash
|
|
interval by specifying a number after the modifier.</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-19.png" alt="Image img/pic-19.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-1:
|
|
Dashed objects</p>
|
|
|
|
<h3>6.3. Dotted Objects
|
|
<a name="6.3. Dotted Objects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">Another available qualifier is
|
|
<b>dotted</b>. GNU <b>gpic</b> permits you to dot or dash
|
|
ellipses, circles, and arcs (and splines in TeX mode only);
|
|
some versions of DWB may only permit dashing of lines and
|
|
boxes. It too can be suffixed with a number to specify the
|
|
interval between dots:</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-20.png" alt="Image img/pic-20.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-2:
|
|
Dotted objects</p>
|
|
|
|
<h3>6.4. Rounding Box Corners
|
|
<a name="6.4. Rounding Box Corners"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">It is also possible, in GNU
|
|
<b>gpic</b> only, to modify a box so it has rounded
|
|
corners:</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-21.png" alt="Image img/pic-21.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-3:
|
|
<b>box rad</b> with increasing radius values</p>
|
|
|
|
<p style="margin-top: 1em">Radius values higher than half
|
|
the minimum box dimension are silently truncated to that
|
|
value.</p>
|
|
|
|
<h3>6.5. Slanted Boxes
|
|
<a name="6.5. Slanted Boxes"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">GNU <b>gpic</b> supports slanted
|
|
boxes:</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-22.png" alt="Image img/pic-22.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-4:
|
|
Various slanted boxes.</p>
|
|
|
|
<p style="margin-top: 1em">The <b>xslanted</b> and
|
|
<b>yslanted</b> attributes specify the x and y offset,
|
|
respectively, of the box’s upper right corner from its
|
|
default position.</p>
|
|
|
|
<h3>6.6. Arrowheads
|
|
<a name="6.6. Arrowheads"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">Lines and arcs can be decorated
|
|
as well. Any line or arc (and any spline as well) can be
|
|
decorated with arrowheads by adding one or more as
|
|
modifiers:</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-23.png" alt="Image img/pic-23.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-5:
|
|
Double-headed line made with <b>line <- -></b></p>
|
|
|
|
<p style="margin-top: 1em">In fact, the <b>arrow</b>
|
|
command is just shorthand for <b>line -></b>. And there
|
|
is a double-head modifier <->, so the figure above
|
|
could have been made with <b>line <-></b>.</p>
|
|
|
|
<p style="margin-top: 1em">Arrowheads have a <b>width</b>
|
|
attribute, the distance across the rear; and a <b>height</b>
|
|
attribute, the length of the arrowhead along the shaft.</p>
|
|
|
|
<p style="margin-top: 1em">Arrowhead style is controlled by
|
|
the style variable <b>arrowhead</b>. The DWB and GNU
|
|
versions interpret it differently. DWB defaults to open
|
|
arrowheads and an <b>arrowhead</b> value of 2; the
|
|
Kernighan paper says a value of 7 makes solid
|
|
arrowheads. GNU <b>gpic</b> defaults to solid arrowheads and
|
|
an <b>arrowhead</b> value of 1; a value of 0
|
|
produces open arrowheads. Note that solid arrowheads are
|
|
always filled with the current outline color.</p>
|
|
|
|
<h3>6.7. Line Thickness
|
|
<a name="6.7. Line Thickness"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">It’s also possible to
|
|
change the line thickness of an object (this is a GNU
|
|
extension, DWB <b>pic</b> doesn’t support it). The
|
|
default thickness of the lines used to draw objects is
|
|
controlled by the <b>linethick</b> variable. This gives the
|
|
thickness of lines in points. A negative value means use the
|
|
default thickness: in TeX output mode, this means use a
|
|
thickness of 8 milliinches; in TeX output mode with the
|
|
<b>-c</b> option, this means use the line thickness
|
|
specified by <b>.ps</b> lines; in troff output mode, this
|
|
means use a thickness proportional to the pointsize. A zero
|
|
value means draw the thinnest possible line supported by the
|
|
output device. Initially it has a value of -1. There is also
|
|
a <b>thickness</b> attribute (which can be abbreviated to
|
|
<b>thick</b>). For example, <b>circle thickness 1.5</b>
|
|
would draw a circle using a line with a thickness of 1.5
|
|
points. The thickness of lines is not affected by the value
|
|
of the <b>scale</b> variable, nor by any width or height
|
|
given in the <b>.PS</b> line.</p>
|
|
|
|
<h3>6.8. Invisible Objects
|
|
<a name="6.8. Invisible Objects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">The modifier <b>invis[ible]</b>
|
|
makes an object entirely invisible. This used to be useful
|
|
for positioning text in an invisible object that is properly
|
|
joined to neighboring ones. Newer DWB versions and GNU
|
|
<b>pic</b> treat stand-alone text in exactly this way.</p>
|
|
|
|
<h3>6.9. Filled Objects
|
|
<a name="6.9. Filled Objects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">It is possible to fill boxes,
|
|
circles, ellipses, and polygons. The modifier
|
|
<b>fill[ed]</b> accomplishes this. You can suffix it with a
|
|
fill value; the default is given by the style variable
|
|
<b>fillval</b>.</p>
|
|
|
|
<p style="margin-top: 1em">DWB <b>pic</b> and <b>gpic</b>
|
|
have opposite conventions for fill values and different
|
|
defaults. DWB <b>fillval</b> defaults to 0.3 and smaller
|
|
values are darker; GNU <b>fillval</b> uses 0 for white and 1
|
|
for black.</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><img src="img/pic-24.png" alt="Image img/pic-24.png"></p>
|
|
|
|
<p align="center" style="margin-top: 1em">Figure 6-6:
|
|
<b>circle fill; move; circle fill 0.4; move; circle fill
|
|
0.9;</b></p>
|
|
|
|
<p style="margin-top: 1em">GNU <b>gpic</b> makes some
|
|
additional guarantees. A fill value greater than 1 can also
|
|
be used: this means fill with the shade of gray that is
|
|
currently being used for text and lines. Normally this is
|
|
black, but output devices may provide a mechanism for
|
|
changing this. The invisible attribute does not affect the
|
|
filling of objects. Any text associated with a filled object
|
|
is added after the object has been filled, so that the text
|
|
is not obscured by the filling.</p>
|
|
|
|
<h3>6.10. Colored Objects
|
|
<a name="6.10. Colored Objects"></a>
|
|
</h3>
|
|
|
|
|
|
<p style="margin-top: 1em">As a GNU extension, three
|
|
additional modifiers are available to specify colored
|
|
objects. <b>outline</b> sets the color of the outline,
|
|
<b>shaded</b> the fill color, and <b>color</b> sets both.
|
|
All three keywords expect a suffix specifying the color.
|
|
Example:</p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><font color="#000000"><img src="img/pic-25.png" alt="Image img/pic-25.png"></font></p>
|
|
|
|
|
|
<p align="center" style="margin-top: 1em"><font color="#000000">Figure
|
|
6-7: <b>box color "yellow"; arrow color
|
|
"cyan"; circle shaded "green" outline
|
|
"black";</b></font></p>
|
|
|
|
|
|
<p style="margin-top: 1em"><font color="#000000">Alternative
|
|
spellings are <b>colour</b>, <b>colored</b>,
|
|
<b>coloured</b>, and <b>outlined</b>.</font></p>
|
|
|
|
|
|
<p style="margin-top: 1em"><font color="#000000">Predefined
|
|
color names for <i>[gtn]roff</i>-based <b>pic</b>
|
|
implementations are defined in the device macro files, for
|
|
example ps.tmac; additional colors can be defined with the
|
|
<b>.defcolor</b> request (see the manual page of GNU
|
|
<i>troff</i>(1) for more details). Currently, color support
|
|
is not available at all in TeX mode.</font></p>
|
|
|
|
<p style="margin-top: 1em"><font color="#000000">The
|
|
<i>pic2plot</i>(1) carries with its own set of color names,
|
|
essentially those recognized by the X window system
|
|
with “grey” accepted as a variant of
|
|
“gray”.</font></p>
|
|
|
|
|
|
<p style="margin-top: 1em"><font color="#000000"><b>pic</b>
|
|
assumes that at the beginning of a picture both glyph and
|
|
fill color are set to the default value.</font></p>
|
|
<hr>
|
|
[ <a href="pic-5.html">prev</a> | <a href="pic-7.html">next</a> | <a href="pic.html">top</a> ]
|
|
<hr>
|