*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: ideal | Section: 1 | Source: UNIX v10 | File: ideal.1
IDEAL(1) General Commands Manual IDEAL(1) NAME ideal - troff preprocessor for drawing pictures SYNOPSIS ideal [ option ... ] [ file ... ] DESCRIPTION Ideal is a constraint-based troff(1) preprocessor for typesetting fig- ures in the complex plane. A line beginning marks the start of an ideal program, .IE or .IF marks the end. .IE leaves the typesetting baseline below the bottom of the picture; .IF (flyback) leaves it at the top. The options are -Tdev Produce instructions for troff(1) device dev. -a is a synonym for -Taps; -t for -T202. -tex Produce output for tex(1). -p Produce plot(1) instructions. Erases come unbidden at every .IS. -4 Produce instructions for a Tektronix 4014 and wait at each .IE for an input character before erasing and starting the next pic- ture. -n Produce raw ideal output, which passes unharmed through nroff. -v Print calculated values of variables on standard error. Ideal programs are built of `boxes'; boxes look like C functions, in that they are named and delimited by braces. They may include the fol- lowing kinds of statements, each terminated by a semicolon: var declares one or more complex variables local to the box. Vari- able names are made up of letters and digits, and start with a letter; do not use any of the following keywords as variable names: equation declares relative positions of significant points of the box conn asks for a straight-line path through named points pen asks for a box to be replicated along a line between two points left left-justifies text with respect to a point text centers text with respect to a point right right-justifies text with respect to a point spline draws a spline guided by the named points put asks for an instance of a box to be drawn opaque asks for a box to erase lines already in the picture that are covered by its bounding polygon boundary specifies the bounding polygon for an opaque box construct builds a partial picture on a separate `sheet of paper' draw adds the contents of the named constructed box to the current picture Ideal expects all components of a picture to be specified as boxes; in- structions to draw the entire picture should comprise a box called Boxes are remembered across .IS/.IE boundaries; if you won't need a box again, you can reclaim the space it requires by including the command ...forget boxname on a line between any .IS/.IE pair after the last use of boxname. Box is an exception to this rule: it is always forgotten at .IE. During its first pass, ideal solves all the equations to determine the locations of all points it needs to know. These equations must be lin- ear equations in complex variables, although they may include non-lin- ear operators: ideal plugs in for as many variables, and does as much function evaluation, as it can before solving the linear equation. It waits until it has absolutely no hope of reducing an equation to a lin- ear equation before complaining. Ideal knows about the following func- tions: f[z,w] == z+(w-z)f, fraction f of the way from z to w re(z) real part of complex number im(z) imaginary part of complex number conj(z) complex conjugate of complex number abs(z) absolute value (modulus) of complex number cis(z) the unit vector cos(x) + i*sin(x) where x = re(z) and x is mea- sured in degrees (radians if the line ...radians appeared more recently in the file than the line ...degrees) E(x) == cis(360 x ) if x is measured in degrees angle(z) angle of complex number, arctan(im(z)/re(z)) During the second pass, ideal draws the picture. To draw a circle, include the line ...libfile circle between the .IS and .IE lines, and put the box named giving enough information that the circle can be determined; for instance, give the center and the radius, or give three points through which the circle passes, or give the cen- ter and a point on the circle. The circle has center radius and passes through z1, z2, and z3. To draw an arc, include the line ...libfile arc between the .IS and .IE lines, and put the box named again giving enough information to deter- mine the arc; for instance, give the center, radius, and starting and ending angles, or give three points on the arc--where to start, where to end, and somewhere in between. The arc has center radius starts at point passes through point at angle and ends at point at angle If no is specified, the arc is drawn counterclockwise from to The picture will be scaled to a default width of four inches and cen- tered in a column of six inches. The default width can be changed by a ...width command, which includes a number in inches. The default col- umn width can be changed by a ...colwid command. To defeat ideal's no- tion of the size of the picture, you can include lines of the form ...minx, ...miny, ...maxx, or ...maxy; these give the various coordi- nates of the bounding box of the picture in the coordinate system used by the picture. Ideal supports both C-style comments (between and brackets -- which nest), and shell-style comments (between and newline). EXAMPLES ...libfile circle triangle { var z1, z2, z3; conn z1 to z2 to z3 to z1; } main { put T: triangle { z1 = 0; z2 = 1; z3 = (2,2); } put circle { z1 = T.z1; z2 = T.z2; z3 = T.z3; } } SEE ALSO troff(1), pic(1), ped(9.1), doctype(1) C. J. Van Wyk, `IDEAL User's Manual', this manual, Volume 2 BUGS Ideal is relatively unforgiving about syntax errors. Bounding box computation is naive for arcs and text strings. IDEAL(1)

Navigation Options