diff options
Diffstat (limited to 'Master/texmf-dist/doc/support/texdraw/texdraw_2.html')
-rw-r--r-- | Master/texmf-dist/doc/support/texdraw/texdraw_2.html | 882 |
1 files changed, 0 insertions, 882 deletions
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_2.html b/Master/texmf-dist/doc/support/texdraw/texdraw_2.html deleted file mode 100644 index 25abbb1af0e..00000000000 --- a/Master/texmf-dist/doc/support/texdraw/texdraw_2.html +++ /dev/null @@ -1,882 +0,0 @@ -<HTML> -<HEAD> -<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 --> - -<TITLE>TeXdraw - 2. Using the TeXdraw Commands</TITLE> -</HEAD> -<BODY> -Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_1.html">previous</A>, <A HREF="texdraw_3.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>. -<P><HR><P> - - -<H1><A NAME="SEC3" HREF="texdraw_toc.html#TOC3">2. Using the TeXdraw Commands</A></H1> - -<P> -The main TeXdraw macros (commands) are defined in the file -<TT>`texdraw.tex'</TT>. These macros may be used directly in TeX. The -file <TT>`texdraw.sty'</TT> provides an interface for use with LaTeX2e. -The following sections describe the basic commands for TeXdraw. - - - -<UL> -<LI><A HREF="texdraw_2.html#SEC4">Accessing TeXdraw</A> -<LI><A HREF="texdraw_2.html#SEC5">Command syntax</A> -<LI><A HREF="texdraw_2.html#SEC6">TeXdraw coordinates</A> -<LI><A HREF="texdraw_2.html#SEC7">Coordinate specification</A> -<LI><A HREF="texdraw_2.html#SEC8">Line vectors</A> -<LI><A HREF="texdraw_2.html#SEC9">TeX text</A> -<LI><A HREF="texdraw_2.html#SEC10">Circles and arcs</A> -<LI><A HREF="texdraw_2.html#SEC11">Bezier curves</A> -<LI><A HREF="texdraw_2.html#SEC12">Fill commands</A> -</UL> - - - -<H2><A NAME="SEC4" HREF="texdraw_toc.html#TOC4">2.1 Accessing TeXdraw</A></H2> -<P> -<A NAME="IDX5"></A> -<A NAME="IDX6"></A> - - -<P> -<A NAME="IDX7"></A> -<A NAME="IDX8"></A> -The form of the user command to run the TeX program depends on which -version of TeX is being used, and which other macro packages are -preloaded as format files. Typically, installations have at least two -versions of TeX -- plain TeX which includes basic typesetting -macros (usually invoked as <TT>`tex'</TT>) and LaTeX2e which includes the -LaTeX2e typesetting macros (usually invoked as <TT>`latex'</TT>). An -older version of LaTeX, version 2.09, may also be available. The -TeXdraw macros can be used with plain TeX and with either version -of LaTeX. - - -<P> -For use with plain TeX, the user must read in the TeXdraw macros -from the file <TT>`texdraw.tex'</TT>. - -<PRE> -\input texdraw % Read in the TeXdraw macros - ... -\btexdraw - ... % TeXdraw commands to generate a drawing -\etexdraw -</PRE> - -<P> -For use with LaTeX version 2.09, the user reads in the TeXdraw -macros from the file <TT>`texdraw.tex'</TT> and optionally defines the -<CODE>\begin{texdraw}</CODE> / <CODE>\end{texdraw}</CODE> environment. - -<PRE> -\documentstyle[11pt]{article} % Article style with the 11pt size options -... -\input texdraw % Read in the TeXdraw macros -\newenvironment{texdraw}{\leavevmode\btexdraw}{\etexdraw} - ... -\begin{texdraw} - ... % TeXdraw commands to generate a drawing -\end{texdraw} -... -\end{document} -</PRE> - -<P> -<A NAME="IDX9"></A> -<A NAME="IDX10"></A> -For use with LaTeX2e, the user must load the <CODE>texdraw</CODE> package -(file <TT>`texdraw.sty'</TT>). This package file defines the -<CODE>\begin{texdraw}</CODE> / <CODE>\end{texdraw}</CODE> environment, brings in -the standard <CODE>graphics</CODE> package and reads in the file -<TT>`texdraw.tex'</TT> containing the definitions of the TeXdraw macros. - -<PRE> -\documentclass[11pt]{article} % Article class with the 11pt size option -\usepackage{texdraw} % TeXdraw commands - -\begin{document} - ... -\begin{texdraw} - ... % TeXdraw commands to generate a drawing -\end{texdraw} - ... -\end{document} -</PRE> - -<P> -As the TeXdraw commands are processed by TeX, an intermediate -PostScript file is generated. The intermediate PostScript has a name of -the form <TT>`<VAR>name</VAR>.ps1'</TT>. The name part is derived from the name -of the main TeX file being processed. If more than one drawing is -produced, the digit in the file name extension is -incremented.<A NAME="DOCF1" HREF="texdraw_foot.html#FOOT1">(1)</A> - - -<P> -The TeXdraw commands to produce a drawing are inserted between -<CODE>\btexdraw</CODE> and <CODE>\etexdraw</CODE> commands, or for LaTeX, between -<CODE>\begin{texdraw}</CODE> and <CODE>\end{texdraw}</CODE> commands. This -results in a TeX box of appropriate size containing the drawing -generated by the TeXdraw commands. The TeXdraw box can be -positioned in a document like any other TeX box. - - -<P> -The <CODE>\centertexdraw{...}</CODE> macro centers the box generated by -TeXdraw. The vertical space taken up is equal to the vertical size -of the drawing. The <CODE>\centertexdraw</CODE> macro is normally used in -vertical mode (between paragraphs). A <CODE>\par</CODE> command (a blank line -will do also) before a <CODE>\centertexdraw</CODE> command will terminate -horizontal mode and return to vertical mode. For LaTeX, a structured -equivalent to the <CODE>\centertexdraw{...}</CODE> command is shown below. - -<PRE> -\begin{center} -\begin{texdraw} - ... -\end{texdraw} -\end{center} -</PRE> - -<P> -The <CODE>\everytexdraw</CODE> command can be used to define a set of -TeXdraw commands that will be executed at the beginning of every -TeXdraw drawing. It is invoked as <CODE>\everytexdraw{ ...}</CODE>, -with the desired TeXdraw commands as arguments. - - -<DL COMPACT> - -<DT><CODE>\btexdraw</CODE> -<DD> -<A NAME="IDX11"></A> - -Start a TeXdraw drawing. The drawing is terminated with an -<CODE>\etexdraw</CODE> command. -<A NAME="IDX12"></A> -<DT><CODE>\etexdraw</CODE> -<DD> -End a TeXdraw drawing started with a <CODE>\btexdraw</CODE> command. The -resulting TeXdraw drawing is placed in a box with height equal to the -height of the drawing and width equal to the width of the drawing. The -depth of the box is zero. -<A NAME="IDX13"></A> -<DT><CODE>\begin{texdraw}</CODE> -<DD> -Start a TeXdraw drawing. The drawing is terminated with an -<CODE>\end{texdraw}</CODE> command. This command is for use with LaTeX. -<A NAME="IDX14"></A> -<DT><CODE>\end{texdraw}</CODE> -<DD> -End a TeXdraw drawing started with a <CODE>\begin{texdraw}</CODE> -command. The resulting TeXdraw drawing is placed in a box with -height equal to the height of the drawing and width equal to the width -of the drawing. The depth of the box is zero. This command is for use -with LaTeX. -<A NAME="IDX15"></A> -<DT><CODE>\centertexdraw{ ... }</CODE> -<DD> -Center a TeXdraw box horizontally. The argument contains TeXdraw -commands. The resulting box has the horizontal size <CODE>\hsize</CODE> and -height equal to the height of the drawing. -<A NAME="IDX16"></A> -<DT><CODE>\everytexdraw{ ... }</CODE> -<DD> -Specify TeXdraw commands to be executed at the beginning of every -TeXdraw drawing. -</DL> - - - -<H2><A NAME="SEC5" HREF="texdraw_toc.html#TOC5">2.2 Command syntax</A></H2> -<P> -<A NAME="IDX17"></A> -<A NAME="IDX18"></A> - - -<P> -Generally TeXdraw commands that take a single argument need a -terminating blank or newline after the argument. Arguments that are -self-delimiting, such as coordinates within parentheses and text within -braces, do not need the terminating blank. However, even when not -needed by the defining syntax of the command, blanks following command -arguments are allowed and ignored within the TeXdraw environment. - - -<P> -On entering the TeXdraw environment, TeX is in internal vertical -mode (vertical mode inside a <CODE>\vbox</CODE>). In this mode, spaces can be -placed freely between commands. However, any other extraneous input -that generates output that is not part of the TeXdraw environment is -disallowed. - - -<P> -Blank lines are interpreted as paragraph breaks, equivalent to a -<CODE>\par</CODE> command. The TeXdraw macro <CODE>\centertexdraw</CODE> is -defined with the <CODE>\long</CODE> attribute to allow <CODE>\par</CODE> commands -and blank lines to be interspersed between TeXdraw commands. The -<CODE>\btexdraw</CODE> and <CODE>\etexdraw</CODE> commands also allow <CODE>\par</CODE> -command and blank lines to be included. - - - - -<H2><A NAME="SEC6" HREF="texdraw_toc.html#TOC6">2.3 TeXdraw coordinates</A></H2> -<P> -<A NAME="IDX19"></A> - - -<P> -The TeXdraw coordinate system has increasing <VAR>x</VAR> to the right and -increasing <VAR>y</VAR> upward. The coordinates (without the unit) are -floating point numbers. Integer values can be written without a decimal -point. The size of the drawing is determined by the maximum excursions -of the coordinates specified in TeXdraw commands. - - -<P> -Consider the following example of TeXdraw commands to draw a simple -figure. - -<PRE> -\centertexdraw{ - \drawdim cm \linewd 0.02 - \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2) - \textref h:C v:C \htext(2 3){$\sum \rho_n$} -} -</PRE> - -<P> -This drawing uses units of centimetres, with a line width of 0.02 cm. -The <VAR>x</VAR> coordinate ranges between 1 and 3 while the <VAR>y</VAR> -coordinate ranges between 2 and 4. When included into a document, the -size of the drawing is 2 cm by 2 cm. The drawing is placed in a TeX -box, with the lower lefthand corner of the box corresponding to -TeXdraw coordinate <CODE>(1 2)</CODE> and the upper righthand corner at -<CODE>(3 4)</CODE>. The <CODE>\centertexdraw</CODE> command centers the drawing -horizontally. The <CODE>\textref</CODE> command controls the centering of the -text. The text in this drawing is centered (both horizontally and -vertically) at the coordinate <CODE>(2 3)</CODE>. - - - - -<H2><A NAME="SEC7" HREF="texdraw_toc.html#TOC7">2.4 Coordinate specification</A></H2> -<P> -<A NAME="IDX20"></A> -<A NAME="IDX21"></A> - - -<P> -Coordinates are specified within parentheses, with blanks (but no comma) -between the values. Leading blanks and trailing blanks are permitted -within the parentheses. The coordinates refer to units, which are -specified by the <CODE>\drawdim</CODE> command. The default is inches, but -any valid TeX dimension unit can be specified. Symbolic -specification of saved coordinate values will be discused later -(see section <A HREF="texdraw_3.html#SEC16">3.3 Saving positions</A>). - - -<DL COMPACT> - -<DT><CODE>\drawdim <VAR>dim</VAR></CODE> -<DD> -<A NAME="IDX22"></A> - -Set the units to <VAR>dim</VAR>. The argument <VAR>dim</VAR> can be any valid -TeX dimension unit. The units are used to interpret coordinate -values. Examples of valid units: <CODE>cm</CODE>, <CODE>mm</CODE>, <CODE>in</CODE>, -<CODE>pt</CODE>, and <CODE>bp</CODE>. -</DL> - -<P> -Examples of coordinate and scaling specifications: -<DL COMPACT> - -<DT><CODE>\drawdim {cm} \move(2 2)</CODE> -<DD> -Set the units to centimetres, move to a position 2 cm to the right and 2 -cm up from the origin of the drawing coordinate system. -<DT><CODE>\drawdim bp</CODE> -<DD> -Set the units to big points. -<DT><CODE>\lvec ( 2.2 +5.5) \lvec(2.3 -2) \lvec(2.2 5.4 )</CODE> -<DD> -Examples of acceptable coordinate specifications. -</DL> - - - -<H2><A NAME="SEC8" HREF="texdraw_toc.html#TOC8">2.5 Line vectors</A></H2> -<P> -<A NAME="IDX23"></A> -<A NAME="IDX24"></A> -<A NAME="IDX25"></A> -<A NAME="IDX26"></A> -<A NAME="IDX27"></A> - - -<P> -TeXdraw implements moves, line vectors and arrow vectors. There are -both absolute and relative motion versions of these vector commands. -TeXdraw maintains a current position. Lines are drawn from the -current position to a new coordinate, with the new coordinate becoming -the new current position. An explicit move can be used to establish a -new current position. The position <CODE>(0 0)</CODE> is used if there is no -move to an initial current position. - - -<P> -The <CODE>\move</CODE> and <CODE>\rmove</CODE> commands establish a new current -position without drawing a line. The <CODE>\lvec</CODE> and <CODE>\rlvec</CODE> -commands draw a line from the current position to a new position, which -then becomes the new current position. The <CODE>\avec</CODE> and -<CODE>\ravec</CODE> commands draw a line with an arrowhead from the current -position to a new coordinate, which then becomes the new current -position. The tip of the arrow is at the new current position. The -direction of the arrow follows the direction of the line. Since this -direction is undefined for zero length vectors, these are not allowed -for <CODE>\avec</CODE> or <CODE>\ravec</CODE>. Zero length arrow vectors will -generate a PostScript print error: <CODE>undefinedresult</CODE>. For any -non-zero length vector, the full size arrowhead is drawn, even if that -arrowhead is longer than the line length. - - -<P> -The absolute motion versions of these commands specify the coordinate of -the final position. - - -<DL COMPACT> - -<DT><CODE>\move (<VAR>x</VAR> <VAR>y</VAR>)</CODE> -<DD> -<A NAME="IDX28"></A> - -Move to coordinate <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The new current position -is <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. -<A NAME="IDX29"></A> -<DT><CODE>\lvec (<VAR>x</VAR> <VAR>y</VAR>)</CODE> -<DD> -Draw a line from the current position to coordinate <CODE>(<VAR>x</VAR> -<VAR>y</VAR>)</CODE>. The new current position is <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. -<A NAME="IDX30"></A> -<DT><CODE>\avec (<VAR>x</VAR> <VAR>y</VAR>)</CODE> -<DD> -Draw a line with an arrowhead from the current position to -<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The new current position is <CODE>(<VAR>x</VAR> -<VAR>y</VAR>)</CODE>. The arrowhead is aligned with the line, with the tip at -<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. -</DL> - -<P> -<A NAME="IDX31"></A> -The relative motion versions of these commands interpret the coordinates -as displacements relative to the current position. Given the -displacements <CODE>(<VAR>dx</VAR> <VAR>dy</VAR>)</CODE> as a parameter, each of the -relative motion commands moves <VAR>dx</VAR> units in the <VAR>x</VAR> direction -and <VAR>dy</VAR> units in the <VAR>y</VAR> direction. - - -<DL COMPACT> - -<DT><CODE>\rmove (<VAR>dx</VAR> <VAR>dy</VAR>)</CODE> -<DD> -<A NAME="IDX32"></A> - -Move from the current position, <VAR>dx</VAR> units in the <VAR>x</VAR> direction -and <VAR>dy</VAR> units in the <VAR>y</VAR> direction. The final position becomes -the new current position. -<A NAME="IDX33"></A> -<DT><CODE>\rlvec (<VAR>dx</VAR> <VAR>dy</VAR>)</CODE> -<DD> -Draw a line from the current position, <VAR>dx</VAR> units in the <VAR>x</VAR> -direction and <VAR>dy</VAR> units in the <VAR>y</VAR> direction. The final -position becomes the new current position. -<A NAME="IDX34"></A> -<DT><CODE>\ravec (<VAR>dx</VAR> <VAR>dy</VAR>)</CODE> -<DD> -Draw a line with an arrowhead from the current position, <VAR>dx</VAR> units -in the <VAR>x</VAR> direction and <VAR>y</VAR> units in the <VAR>y</VAR> direction. -The final position becomes the new current position. The arrowhead is -aligned with the line, with the tip at the new current position. -</DL> - -<P> -Lines can be customized with commands to change the line width, line -pattern and line gray level rendition. In addition, commands for -changing the type and size of the arrowhead are available. - - -<P> -<A NAME="IDX35"></A> -<A NAME="IDX36"></A> -<A NAME="IDX37"></A> -<A NAME="IDX38"></A> -<A NAME="IDX39"></A> -<A NAME="IDX40"></A> -<DL COMPACT> - -<DT><CODE>\linewd <VAR>width</VAR></CODE> -<DD> -<A NAME="IDX41"></A> - -Set the line width to <VAR>width</VAR> units. Initially <VAR>width</VAR> is 0.01 -inches (corresponding to 3 pixels at 300 pixels to the inch). -<DT><CODE>\lpatt (<VAR>pattern</VAR>)</CODE> -<DD> -Set lines to have the pattern <CODE>(<VAR>pattern</VAR>)</CODE>. A pattern is a -sequence of on/off lengths separated by blanks and enclosed in parentheses. -The lengths alternately specify the length of a dash and the length of a -gap between dashes. Each length is interpreted using the current -scaling and drawing units. The pattern is used cyclically. The empty -pattern signifies a solid line. The initial line pattern is a solid -line, corresponding to the empty pattern <CODE>\lpatt ()</CODE>. -<A NAME="IDX42"></A> -<DT><CODE>\setgray <VAR>level</VAR></CODE> -<DD> -Set the gray level of lines. Gray levels are real values from 0 (black) -through intermediate values (gray) to 1 (white). The initial gray level -is 0 corresponding to black. -<A NAME="IDX43"></A> -<DT><CODE>\arrowheadtype t:<VAR>type</VAR></CODE> -<DD> -Set the arrowhead type to <VAR>type</VAR>, where <VAR>type</VAR> is one of -<CODE>F</CODE>, <CODE>T</CODE>, <CODE>W</CODE>, <CODE>V</CODE>, or <CODE>H</CODE>. There are two -kinds of arrowheads. The first kind is a triangle. There are 3 -variants: type <CODE>T</CODE> is an empty triangle, type <CODE>F</CODE> is a filled -triangle (using the current gray level for lines), type <CODE>W</CODE> is a -triangle filled with white. The second kind of arrowhead is an open -ended Vee. There are 2 variants: type <CODE>V</CODE> has the stem continue to -the tip, type <CODE>H</CODE> has the stem stop at the base of the arrowhead. -The initial arrowhead type is <CODE>T</CODE>. -<A NAME="IDX44"></A> -<DT><CODE>\arrowheadsize l:<VAR>length</VAR> w:<VAR>width</VAR></CODE> -<DD> -Set the arrowhead size to be <VAR>length</VAR> units long and <VAR>width</VAR> -units wide. The width is measured across the "base" of the arrowhead. -The initial arrowhead size has a <VAR>length</VAR> of 0.16 inches and a -<VAR>width</VAR> of 0.08 inches. -</DL> - -<P> -Note that the lines which outline the arrowhead will be drawn with the -same line pattern used for the stem. Normally, arrow vectors are drawn -with the line pattern set for a solid line. Note that the fill level -used for the <CODE>F</CODE> variant of the arrowhead uses the same gray level -as used for lines. The difference between the <CODE>T</CODE> variant and the -<CODE>W</CODE> variant only shows up if the arrowhead is placed over non-white -areas of the drawing. The <CODE>W</CODE> variant obliterates the area under -the arrowhead. - - -<P> -Examples of line parameter and arrowhead settings are shown in the -following code. - -<PRE> -\centertexdraw{ - \drawdim in - \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0 0.5) - \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(0.5 0.5) - \linewd 0.015 \lpatt(0.067 0.1) \lvec (1 0) - \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(1.5 0.5) - \arrowheadtype t:H \avec(2.0 0.5) - \setgray 0.4 \arrowheadtype t:W \avec(3.0 0) -} -</PRE> - - - -<H2><A NAME="SEC9" HREF="texdraw_toc.html#TOC9">2.6 TeX text</A></H2> -<P> -<A NAME="IDX45"></A> - - -<P> -Text may be superimposed on the drawing. The text argument of the -<CODE>\htext</CODE> command is in horizontal mode. This text can be ordinary -text, math mode expressions, or even more complicated boxes consisting -of tables and the like. The resulting TeX text is placed in a box. -The reference point of the box can be chosen to be one of nine -locations: horizontally left, center or right; vertically top, center or -bottom. The <CODE>\htext</CODE> command takes one of two forms. - - -<DL COMPACT> - -<DT><CODE>\htext (<VAR>x</VAR> <VAR>y</VAR>){<VAR>text</VAR>}</CODE> -<DD> -<A NAME="IDX46"></A> - -<DT><CODE>\htext {<VAR>text</VAR>}</CODE> -<DD> -The first form of this command places the TeX text <VAR>text</VAR> -horizontally with the text reference point at the coordinate -<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The new current position is <CODE>(<VAR>x</VAR> -<VAR>y</VAR>)</CODE>. The second form of this command places the TeX text -<VAR>text</VAR> horizontally with the text reference point at the current -position. The text reference point is set with the <CODE>\textref</CODE> -command. -</DL> - -<P> -<A NAME="IDX47"></A> -<A NAME="IDX48"></A> -<A NAME="IDX49"></A> -Text can be placed vertically using the <CODE>\vtext</CODE> command. The text -argument is in horizontal mode. The TeX text is placed in a box and -then rotated counterclockwise. The reference point is the point in the -box, <EM>before</EM> rotation of the text. Not all PostScript printer -drivers support vertical text. - - -<DL COMPACT> - -<DT><CODE>\vtext (x y){<VAR>text</VAR>}</CODE> -<DD> -<A NAME="IDX50"></A> - -<DT><CODE>\vtext {<VAR>text</VAR>}</CODE> -<DD> -The first form of this command places the TeX text <VAR>text</VAR> -vertically with the text reference point at the coordinate -<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The new current position is <CODE>(<VAR>x</VAR> -<VAR>y</VAR>)</CODE>. The second form of this command places the TeX text -<VAR>text</VAR> vertically with the text reference point at the current -position. In both cases, the TeX text is placed in a box and the box -is rotated counterclockwise by 90 degrees about the text reference -point. The text reference point is set with the <CODE>\textref</CODE> -command. -</DL> - -<P> -<A NAME="IDX51"></A> -<A NAME="IDX52"></A> -Text can be placed at an arbitrary angle using the <CODE>\rtext</CODE> -command. The text argument is in horizontal mode. The TeX text is -placed in a box and then rotated counterclockwise. The reference point -is the point in the box, <EM>before</EM> rotation of the text. Not all -PostScript printer drivers support rotated text. - - -<DL COMPACT> - -<DT><CODE>\rtext td:<VAR>angle</VAR> (x y){<VAR>text</VAR>}</CODE> -<DD> -<A NAME="IDX53"></A> - -<DT><CODE>\rtext td:<VAR>angle</VAR> {<VAR>text</VAR>}</CODE> -<DD> -The first form of this command places the TeX text <VAR>text</VAR> at an -angle with the text reference point at the coordinate <CODE>(<VAR>x</VAR> -<VAR>y</VAR>)</CODE>. The new current position is <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The -second form of this command places the TeX text <VAR>text</VAR> at an -angle with the text reference point at the current position. In both -cases, the TeX text is placed in a box and the box is rotated -counterclockwise by <VAR>angle</VAR> degrees about the text reference point. -The text reference point is set with the <CODE>\textref</CODE> command. -</DL> - -<P> -The reference point for subsequent TeX text in a <CODE>\htext</CODE>, -<CODE>\vtext</CODE> or <CODE>\rtext</CODE> command is set with the <CODE>\textref</CODE> -command. - - -<DL COMPACT> - -<DT><CODE>\textref h:<VAR>h-ref</VAR> v:<VAR>v-ref</VAR></CODE> -<DD> -<A NAME="IDX54"></A> - -Set the text reference point for subsequent text commands. The -horizontal reference point <VAR>h-ref</VAR> is one of <CODE>L</CODE>, <CODE>C</CODE> or -<CODE>R</CODE> (left, center or right). The vertical reference point -<VAR>v-ref</VAR> is one of <CODE>T</CODE>, <CODE>C</CODE> or <CODE>B</CODE> (top, center or -bottom). For rotated text, the reference point is determined before -rotation. The initial text reference point corresponds to -<CODE>\textref h:L v:B</CODE>. -</DL> -<P> - - -<P> -The font used to render the text is determined as for any other TeX -text. Normally the font used outside of TeXdraw is in effect. If -desired, other fonts can be specified as part of the text. Any font -changes within a TeXdraw text command remain local to that command. - - -<P> -Only the coordinate of the text reference point in a <CODE>\htext</CODE>, -<CODE>\vtext</CODE> or <CODE>\rtext</CODE> command is used in calculating the size -of the drawing. This means that text itself can spill outside of the -drawing area determined by TeXdraw. The area of the drawing can be -increased to include the text by issuing additional <CODE>\move</CODE> -commands. - - - -<PRE> -\centertexdraw{ - \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text} - \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text} - \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text} - \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text} - \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text} -} -</PRE> - - - -<H2><A NAME="SEC10" HREF="texdraw_toc.html#TOC10">2.7 Circles, ellipses and arcs</A></H2> -<P> -<A NAME="IDX55"></A> -<A NAME="IDX56"></A> -<A NAME="IDX57"></A> -<A NAME="IDX58"></A> - - -<P> -TeXdraw supplies commands to generate circles, ellipses and arcs. -There are two forms of the circle command. The <CODE>\lcir</CODE> command -draws a circle of given radius. The <CODE>\fcir</CODE> command draws a filled -circle. In the latter case, the circle is filled by a specified gray -level. For the filled circle, the line defining the circumference of -the circle is not drawn. Note that the gray level area filled in by the -<CODE>\fcir</CODE> command is opaque, even if the fill is chosen to be white. -For either form of the circle command, the drawing size is increased if -necessary to contain the circle. - - -<P> -The <CODE>\lellip</CODE> command generates an ellipse specified by the radius -of the ellipse in the <VAR>x</VAR> direction and the radius of the ellipse in -the <VAR>y</VAR> direction. The ellipse is symmetrical about horizontal and -vertical lines drawn through the current point. The <CODE>\fellip</CODE> -command draws a filled ellipse. In the latter case, the ellipse is -filled by a specified gray level. For the filled ellipse, the line -defining the boundary of the ellipse is not drawn. For either form of -the ellipse command, the drawing size is increased if necessary to -contain the ellipse. - - -<P> -The <CODE>\larc</CODE> command generates a counterclockwise arc specified by a -start angle in degrees and an end angle in degrees. The center of the -arc is the current position. Only the arc is drawn, not the line -joining the center to the beginning of the arc. Note that the -<CODE>\larc</CODE> command does not affect the size of the drawing. - - -<DL COMPACT> - -<DT><CODE>\lcir r:<VAR>radius</VAR></CODE> -<DD> -<A NAME="IDX59"></A> - -Draw a circle with center at the current position. The radius is -specified by <VAR>radius</VAR>. This command draws a line along the -circumference of the circle. The drawing size is increased if necessary -to contain the circle. -<A NAME="IDX60"></A> -<DT><CODE>\fcir f:<VAR>level</VAR> r:<VAR>radius</VAR></CODE> -<DD> -Draw a filled circle with center at the current position. The radius is -specified by <VAR>radius</VAR>. The circle is painted with the gray level -specified by <VAR>level</VAR>. A gray level of 1 corresponds to white, with -decreasing values getting darker. The level 0 is full black. This -command does not draw a line along the circumference. The drawing size -is increased if necessary to contain the circle. -<A NAME="IDX61"></A> -<DT><CODE>\lellip rx:<VAR>x-radius</VAR> ry:<VAR>y-radius</VAR></CODE> -<DD> -Draw an ellipse with center at the current position. The radius in the -<VAR>x</VAR> direction is specified by <VAR>x-radius</VAR>. The radius in the -<VAR>y</VAR> direction is specified by <VAR>y-radius</VAR>. The drawing size is -increased if necessary to contain the ellipse. -<A NAME="IDX62"></A> -<DT><CODE>\fellip f:<VAR>level</VAR> rx:<VAR>x-radius</VAR> ry:<VAR>y-radius</VAR></CODE> -<DD> -Draw a filled ellipse with center at the current position. The radius -in the <VAR>x</VAR> direction is specified by <VAR>x-radius</VAR>. The radius in -the <VAR>y</VAR> direction is specified by <VAR>y-radius</VAR>. The ellipse is -painted with the gray level specified by <VAR>level</VAR>. A gray level of 1 -corresponds to white, with decreasing values getting darker. The level -0 is full black. This command does not draw a line along the boundary -of the ellipse. The drawing size is increased if necessary to contain -the ellipse. -<A NAME="IDX63"></A> -<DT><CODE>\larc r:<VAR>radius</VAR> sd:<VAR>start-angle</VAR> ed:<VAR>end-angle</VAR></CODE> -<DD> -Draw a counterclockwise arc. The center of the arc is at the current -position. The radius is specified by <VAR>radius</VAR>. The start and end -angles (in degrees) are specified by <VAR>start-angle</VAR> and -<VAR>end-angle</VAR>. This command does not affect the limits (size) of the -drawing. -</DL> - -<P> -As an example, the following commands draw a filled circle, and -superimpose an arc. - -<PRE> -\centertexdraw{ - \linewd 0.02 - \fcir f:0.7 r:1 - \larc r:1 sd:45 ed:135 - \lvec (+0.707 +0.707) \move (0 0) \lvec (-0.707 +0.707) -} -</PRE> - -<P> -Note that for the arc command, the resulting figure can spill outside of -the TeXdraw box as determined by the maximum excursions of the -coordinates. Extra moves can be used to compensate for the size of the -arc. - - - - -<H2><A NAME="SEC11" HREF="texdraw_toc.html#TOC11">2.8 Bezier curves</A></H2> -<P> -<A NAME="IDX64"></A> -<A NAME="IDX65"></A> - - -<P> -Bezier curves in TeXdraw use 4 reference coordinates, two as the end -points and two others to control the shape of the curve. Let the 4 -points be <CODE>(<VAR>x0</VAR> <VAR>y0</VAR>)</CODE>, <CODE>(<VAR>x1</VAR> <VAR>y1</VAR>)</CODE>, -<CODE>(<VAR>x2</VAR> <VAR>y2</VAR>)</CODE> and <CODE>(<VAR>x3</VAR> <VAR>y3</VAR>)</CODE>. The curve -starts out tangent to the line joining the first two points and ends up -tangent to the line joining the second two points. The control points -"pull" at the curve to control the curvature. The amount of pull -increases with the distance of the control point from the endpoint. - - -<P> -As the parameter u varies from 0 to 1, the coordinates of the Bezier -curve are given by a pair of parametric cubic equations, - - -<P> -x(u) = (1-u)^3 x0 + 3u (1-u)^2 x1 + 3u^2 (1-u) x2 + u^3 x3 -y(u) = (1-u)^3 y0 + 3u (1-u)^2 y1 + 3u^2 (1-u) y2 + u^3 y3 . - - -<DL COMPACT> - -<DT><CODE>\clvec (<VAR>x1</VAR> <VAR>y1</VAR>)(<VAR>x2</VAR> <VAR>y2</VAR>)(<VAR>x3</VAR> <VAR>y3</VAR>)</CODE> -<DD> -<A NAME="IDX66"></A> - -Draw a Bezier curve from the current position to the coordinate -<CODE>(<VAR>x3</VAR> <VAR>y3</VAR>)</CODE> which becomes the new current position. The -coordinates <CODE>(<VAR>x1</VAR> <VAR>y1</VAR>)</CODE> and <CODE>(<VAR>x2</VAR> <VAR>y2</VAR>)</CODE> -serve as control points for the curve. Only the last coordinate given -is used to update the size of the drawing. -</DL> -<P> -Note that only 3 coordinate pairs are specified. The other point is the -current position before the <CODE>\clvec</CODE> command is executed. Only the -last coordinate specified in the <CODE>\clvec</CODE> command is used to -determine the extent of the drawing. While the Bezier curve passes -through the old current position and the new current position, in -general the curve will not reach the intermediate control points. The -curve is always entirely enclosed by the convex quadrilateral defined by -the two end points and the two control points. Note that the curve may -pass outside the limits of the drawing as determined by the end point of -the curve. - - -<P> -A simple Bezier curve is produced by the following example. - -<PRE> -\btexdraw - \move (0 0) - \clvec (0 1)(1 0)(1 1) -\etexdraw -</PRE> - - - -<H2><A NAME="SEC12" HREF="texdraw_toc.html#TOC12">2.9 Fill commands</A></H2> -<P> -<A NAME="IDX67"></A> -<A NAME="IDX68"></A> -<A NAME="IDX69"></A> - - -<P> -PostScript deals with paths consisting of line segments. The paths can -be closed and the interior of the closed region filled. From -TeXdraw, paths start with a <CODE>\move</CODE> or <CODE>\rmove</CODE> command and -continue with <CODE>\lvec</CODE>, <CODE>\rlvec</CODE> or <CODE>\clvec</CODE> commands. -The TeXdraw fill commands close the path and fill the interior of the -closed region. Closing the path means that effectively another -<CODE>\lvec</CODE> line is drawn from the last point specified to the initial -point. TeXdraw provides two forms of the fill command. The -<CODE>\ifill</CODE> fills the interior of the region with the given gray -level. The lines defining the path are not drawn. The <CODE>\lfill</CODE> -command fills the region defined by the closed path and draws a line -along the enclosing path. Note for both forms of the fill command, the -gray level used for filling is opaque, even if the gray level is chosen -to be white. - - -<DL COMPACT> - -<DT><CODE>\lfill f:<VAR>level</VAR></CODE> -<DD> -<A NAME="IDX70"></A> - -Close the current path, draw the line around the path using the current -grey level for lines and paint the interior of the region with specified -gray level <VAR>level</VAR>. Gray levels are real values from 0 (black) -through intermediate values (grays) to 1 (white). -<A NAME="IDX71"></A> -<DT><CODE>\ifill f:<VAR>level</VAR></CODE> -<DD> -Close the current path and paint the interior of the region with gray -level <VAR>level</VAR>. The line around the path is not drawn. Gray levels -are real values from 0 (black) through intermediate values (grays) to 1 -(white). -</DL> - -<P> -The following example draws a "flag" with the interior filled in. The -path around the boundary is given in a clockwise order to define a -closed path. We could take advantage of the fact that the fill command -will close an open path to eliminate one of the <CODE>\lvec</CODE> commands. - -<PRE> -\centertexdraw{ -\move (0.5 0) -\lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1) -\lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0) -\lfill f:0.8 -} -</PRE> - -<P> -In TeXdraw, the <CODE>\move</CODE> command always terminates any previous -paths and starts a new path. Commands that change line parameters -(e.g. <CODE>\setgray</CODE> or <CODE>\lpatt</CODE>) also terminate paths and start -new paths. The circle, ellipse and arc commands do not affect the -definition of the current path. The <CODE>\avec</CODE> command is not -appropriate for defining a path to be filled. It ends a subpath at its -tail and begins a new subpath at its tip. Filling a region defined by a -path with subpaths is more complicated in that each subpath is closed -before filling. - - -<P><HR><P> -Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_1.html">previous</A>, <A HREF="texdraw_3.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>. -</BODY> -</HTML> |