summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/support')
-rw-r--r--Master/texmf-dist/doc/support/texdraw/ChangeLog37
-rw-r--r--Master/texmf-dist/doc/support/texdraw/README170
-rw-r--r--Master/texmf-dist/doc/support/texdraw/getopt.c762
-rw-r--r--Master/texmf-dist/doc/support/texdraw/getopt.h129
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw.pdfbin265399 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw.ps5665
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_1.html82
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_10.html126
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_11.html205
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_2.html882
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_3.html369
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_4.html119
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_5.html314
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_6.html183
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_7.html250
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_8.html342
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_9.html321
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_foot.html25
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw_toc.html78
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texi2dvi275
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texindex.c1700
-rw-r--r--Master/texmf-dist/doc/support/texdraw/txdexamp.latex514
-rw-r--r--Master/texmf-dist/doc/support/texdraw/txdexamp.tex485
-rw-r--r--Master/texmf-dist/doc/support/texdraw/txi-src.tgzbin0 -> 66880 bytes
24 files changed, 5872 insertions, 7161 deletions
diff --git a/Master/texmf-dist/doc/support/texdraw/ChangeLog b/Master/texmf-dist/doc/support/texdraw/ChangeLog
new file mode 100644
index 00000000000..8e7942e19ff
--- /dev/null
+++ b/Master/texmf-dist/doc/support/texdraw/ChangeLog
@@ -0,0 +1,37 @@
+$Id: ChangeLog,v 2.0 1995/12/18 texdraw-V2R0 $
+
+V2R0 1995/12/17
+ - Interface to standard LaTeX2e graphics package
+
+V1R5c 1995/11/03
+ - Fix version number reporting
+ - Modify LaTeX example for LaTeX2e
+ - Fix compilation of texindex
+ - Remove longstanding spurious character in blockdiagram.tex
+
+V1R5 1993/04/10
+ - Fix \lpatt; it was only passing the first element of the pattern,
+ reported by Alex Stark (jas2@eng.cam.ac.uk).
+ - Added \fellip and \everytexdraw at the suggestion of Karl Berry
+ (karl@cs.umb.edu)
+ - Changes to documentation
+ - More docs on porting to other drivers
+
+V1R4a 1992/07/07
+ - Removed a lingering space in \pixtobp
+ - Fix incorrect position when "move pending" AND "path in prgress"
+ - Repackage \special for easier porting to other systems
+
+V1R3 1991/05/08
+ - Track pending moves to give a smaller PS file
+ - Added a path in progress flag
+
+V1R2 1991/04/21
+ - Improved \intdiv with more precise results
+
+V1R1 1991/04/16
+ - Macro names changed for compatibility with LaTeX
+ - EPSF style PostScript
+
+V1R0 1991/02/24
+ - First version with revision control
diff --git a/Master/texmf-dist/doc/support/texdraw/README b/Master/texmf-dist/doc/support/texdraw/README
new file mode 100644
index 00000000000..91cced49d63
--- /dev/null
+++ b/Master/texmf-dist/doc/support/texdraw/README
@@ -0,0 +1,170 @@
+This file describes the contents of the distribution for TeXdraw
+
+$Id: README,v 2.0 1995/12/18 texdraw-V2R0 $
+
+The TeXdraw package consists of a set of macro definitions for the TeX
+typesetting program. These macros allow the user to produce PostScript
+drawings from within TeX and LaTeX.
+
+The main benefits of TeXdraw accrue from the ability to produce drawings
+from <within> TeX, using TeX fonts for labelling the drawing.
+
+Basic drawing features include:
+(1) moves, lines and arrow vectors
+ - selectable gray level, line width pattern, arrowhead size and type
+(2) circles, ellipses, arcs, and Bezier curves
+(3) general fill command to fill a region defined by lines and Bezier
+ curves (selectable gray level)
+(4) TeX text, including mathematics, can be positioned and superimposed
+ on the drawing
+
+TeXdraw has been designed to be extensible. Drawing "segments" are
+relocatable, self-contained units. Using a combination of the begingroup/
+endgroup mechanism in TeX and the gsave/grestore mechanism in PostScript,
+drawing segments allow for local changes to the scaling and line
+parameters. Using TeX's macro definition capability, new drawing commands
+can be constructed from drawing segments.
+
+The extensibility features include,
+(1) relocatable drawing segments to keep changes local
+(2) local segment scaling
+(3) saving and restoring positions using symbolic positions
+
+The compressed file texdraw-V2R0.tar.Z is available for anonymous ftp on
+ftp.TSP.EE.McGill.CA in directory /pub/tsp/texdraw.
+
+=====
+Peter Kabal kabal@TSP.EE.McGill.CA
+Department of Electrical Engineering
+McGill University
+Montreal, Quebec
+
+
+=====
+The distribution consists of the TeXdraw macros themselves, files with
+auxiliary macros, and the TeXdraw manual (texinfo format, also as a
+PostScript file).
+
+Distribution Contents:
+----------------------
+
+Miscellaneous:
+ README - this file
+ ChangeLog - log of changes to TeXdraw
+
+TeXdraw macros (main directory):
+ texdraw.tex - TeXdraw macros for TeX
+ texdraw.sty - LaTeX2e interface to TeXdraw
+ txdtools.tex - TeXdraw toolbox for extending TeXdraw
+ txdps.tex - TeXdraw macros for accessing PostScript macros
+ blockdiagram.tex - Block diagram macros for TeXdraw
+ txdexamp.tex - plain TeX code for the examples in the manual
+ txdexamp.latex - LaTeX2e code for the examples in the manual
+
+compacted TeXdraw macros (directory compact/):
+ texdraw.tex
+ txdtools.tex
+ txdps.tex
+
+TeXdraw documentation (directory manual/):
+ texdraw.ps - PostScript version of the manual
+ texdraw.texi - Texinfo source file for the TeXdraw manual
+ texdraw.aux - cross-references (generated by an earlier run, used
+ as input when TeX'ing the manual)
+ texdraw.cps - concept index (generated by an earlier run, used as
+ input when TeX'ing the manual)
+ texdraw.fns - sorted functon index (generated by an earlier run,
+ used as input when TeX'ing the manual).
+
+GNU Texinfo utilities (directory manual/):
+ texindex.c - Source for the texindex program
+ getopt.h - Include file for texindex.c
+ texinfo.tex - Texinfo macros used to make manuals and on-line
+ documentation
+ texi2dvi - Script to run TeX and texindex
+
+===============================================
+The following notes on setup are for Unix systems.
+
+Initial Tests:
+
+(1) Print the PostScript version of the manual ("texdraw.ps") to see the
+ capabilities of TeXdraw.
+(2) Try TeX'ing the examples file. Assuming plain TeX is invoked with the
+ command "tex" and LaTeX2e is invoked with the command "latex"
+ % tex txdexamp
+ ... or ...
+ % latex texdexamp.latex
+(3) Printing the examples using the appropriate printer driver program (only
+ dvips can be used with the plain TeX version of the examples),
+ % dvips txdexamp
+
+=====
+Permanent Setup:
+
+Compact source files:
+In the subdirectory "compact", there are versions of the macro files
+with most comments and white space removed.
+
+(1) Private copy of TeXdraw.
+ Move the TeXdraw sources files ("texdraw.sty", texdraw.tex",
+ "txdtools.tex" and "txdps.tex") to an appropriate directory. If you are
+ keeping private versions of the files, consider using the directory
+ ~mylogin/tex . With many versions of TeX, including this directory in
+ the TeX input path variable (the environment variable TEXINPUTS) allows
+ you to refer to the files in TeX without specifying the full pathname.
+ With the C-cshell, a line in the ".login" file sets the environment
+ variable TEXINPUTS
+ % setenv TEXINPUTS ".:$HOME/tex:".
+ The last part of the path string should terminate with a colon to have
+ the default directory of TeX files available.
+(2) Public copy of TeXdraw.
+ Move the TeXdraw source files ("texdraw.sty", "texdraw.tex",
+ "txdtools.tex" and "txdps.tex") to a directory that TeX searches by
+ default. This might be a directory such as "/usr/local/lib/tex/inputs".
+ Newer versions of TeX allow subdirectory searching - in that case, use
+ the directory "/usr/local/lib/tex/inputs/TeXdraw".
+
+=====
+The following instructions pertain to installing the ability to use the
+Texinfo system for any texinfo type manual.
+(1) The GNU program "texindex" should built using
+ % cc texindex.c -o texindex
+ Move the program to an appropriate place such as "/usr/local/bin".
+(2) The GNU script "texi2dvi" runs TeX and texindex for a texinfo file.
+ Move this script to an appropriate place such as "/usr/local/bin".
+(3) The GNU "texinfo.tex" file should go into the public directories
+ searched by TeX, for instance "/usr/local/lib/tex/inputs", or
+ "/usr/local/lib/tex/inputs/texinfo".
+
+=====
+Creating a TeXdraw manual from the sources:
+(1) Make sure "texdraw.tex", "txdtools.tex" and "texinfo.tex" will be found
+ by TeX.
+(2) To create the manual, you have to TeX the manual twice - the second
+ time to access the sorted indices and the cross-references. The
+ program "texindex" sorts the indices. (The distribution includes pre-
+ sorted indices that can be used). The three steps can be replaced by
+ an invokation of the script "texi2dvi".
+ % tex texdraw.texinfo
+ % texindex texdraw
+ % tex texdraw.texinfo
+(3) If you have the printer driver program dvips, a PostScript version of the
+ manual is created as follows.
+ % dvips texdraw -o texdraw.ps
+
+=====
+On-line info manual:
+
+Consider building an info version of the manual. For this you need the
+GNU program "makeinfo" (available by anonymous ftp from prep.ai.mit.edu
+as part of texinfo-XXX.tar.gz). After running "makeinfo texdraw", the top
+level info directory file "dir" in /usr/local/emacs/info needs to be
+updated to include a menu entry for TeXdraw. This entry is of the form
+* TeXdraw: (texdraw).
+ TeXdraw is a collection of macros that allow drawings to be
+ created from within TeX.
+Also the files produced by makeinfo (texdraw, texdraw-1, texdraw-2, and
+texdraw-3) need to be moved there. The info file can be read from within
+the emacs editor, or with the info reader program "info" (also part of the
+texinfo distribution).
diff --git a/Master/texmf-dist/doc/support/texdraw/getopt.c b/Master/texmf-dist/doc/support/texdraw/getopt.c
deleted file mode 100644
index 36ebf5c5b03..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/getopt.c
+++ /dev/null
@@ -1,762 +0,0 @@
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
- before changing it!
-
- Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
- Ditto for AIX 3.2 and <stdlib.h>. */
-#ifndef _NO_PROTO
-#define _NO_PROTO
-#endif
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if !defined (__STDC__) || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
- contain conflicting prototypes for getopt. */
-#include <stdlib.h>
-#endif /* GNU C library. */
-
-/* This is for other GNU distributions with internationalized messages.
- The GNU C Library itself does not yet support such messages. */
-#if HAVE_LIBINTL_H
-# include <libintl.h>
-#else
-# define gettext(msgid) (msgid)
-#endif
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg = NULL;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* XXX 1003.2 says this must be 1 before any call. */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return EOF with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable. */
-static char *posixly_correct;
-
-#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-#include <string.h>
-#define my_index strchr
-#else
-
-/* Avoid depending on library functions or files
- whose names are inconsistent. */
-
-char *getenv ();
-
-static char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-#if !defined (__STDC__) || !__STDC__
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-#endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-static void
-exchange (argv)
- char **argv;
-{
- int bottom = first_nonopt;
- int middle = last_nonopt;
- int top = optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- first_nonopt += (optind - last_nonopt);
- last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-static const char *
-_getopt_initialize (optstring)
- const char *optstring;
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- first_nonopt = last_nonopt = optind = 1;
-
- nextchar = NULL;
-
- posixly_correct = getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (posixly_correct != NULL)
- ordering = REQUIRE_ORDER;
- else
- ordering = PERMUTE;
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns `EOF'.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- The elements of ARGV aren't really const, because we permute them.
- But we pretend they're const in the prototype to be compatible
- with other systems.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
-{
- optarg = NULL;
-
- if (optind == 0)
- {
- optstring = _getopt_initialize (optstring);
- optind = 1; /* Don't scan ARGV[0], the program name. */
- }
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc
- && (argv[optind][0] != '-' || argv[optind][1] == '\0'))
- optind++;
- last_nonopt = optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return EOF;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if ((argv[optind][0] != '-' || argv[optind][1] == '\0'))
- {
- if (ordering == REQUIRE_ORDER)
- return EOF;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound;
- int option_index;
-
- for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if (nameend - nextchar == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (opterr)
- fprintf (stderr, gettext ("%s: option `%s' is ambiguous\n"),
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (opterr)
- if (argv[optind - 1][1] == '-')
- /* --option */
- fprintf (stderr,
- gettext ("%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
- else
- /* +option or -option */
- fprintf (stderr,
- gettext ("%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[optind - 1][0], pfound->name);
-
- nextchar += strlen (nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (opterr)
- fprintf (stderr,
- gettext ("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
- {
- if (opterr)
- {
- if (argv[optind][1] == '-')
- /* --option */
- fprintf (stderr, gettext ("%s: unrecognized option `--%s'\n"),
- argv[0], nextchar);
- else
- /* +option or -option */
- fprintf (stderr, gettext ("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[optind][0], nextchar);
- }
- nextchar = (char *) "";
- optind++;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *nextchar++;
- char *temp = my_index (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (opterr)
- {
- if (posixly_correct)
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, gettext ("%s: illegal option -- %c\n"),
- argv[0], c);
- else
- fprintf (stderr, gettext ("%s: invalid option -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- return '?';
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = NULL;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (opterr)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr,
- gettext ("%s: option requires an argument -- %c\n"),
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-#endif /* _LIBC or not __GNU_LIBRARY__. */
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
- the above definition of `getopt'. */
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
-
- c = getopt (argc, argv, "abc:d:0123456789");
- if (c == EOF)
- break;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
diff --git a/Master/texmf-dist/doc/support/texdraw/getopt.h b/Master/texmf-dist/doc/support/texdraw/getopt.h
deleted file mode 100644
index 952f4830d3d..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/getopt.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Declarations for getopt.
- Copyright (C) 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int optopt;
-
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
-#if defined (__STDC__) && __STDC__
- const char *name;
-#else
- char *name;
-#endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-#if defined (__STDC__) && __STDC__
-#ifdef __GNU_LIBRARY__
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-#endif /* __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
- const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind);
-
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind,
- int long_only);
-#else /* not __STDC__ */
-extern int getopt ();
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-#endif /* __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw.pdf b/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
deleted file mode 100644
index a29240227f0..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw.ps b/Master/texmf-dist/doc/support/texdraw/texdraw.ps
new file mode 100644
index 00000000000..8af929ecb6a
--- /dev/null
+++ b/Master/texmf-dist/doc/support/texdraw/texdraw.ps
@@ -0,0 +1,5665 @@
+%!PS-Adobe-2.0
+%%Creator: dvipsk 5.515a Copyright 1986, 1993 Radical Eye Software
+%%Title: texdraw.dvi
+%%Pages: 60
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 612 792
+%%EndComments
+%DVIPSCommandLine: dvips texdraw -o texdraw.ps
+%DVIPSSource: TeX output 1995.12.19:1238
+%%BeginProcSet: tex.pro
+/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
+/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[
+0 -1 1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
+isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize
+-72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put
+dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B
+/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
+/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
+/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
+string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
+end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
+/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
+N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
+length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
+128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
+get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
+dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
+/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
+/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
+0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
+setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
+.1 add]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
+if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
+length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
+cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
+0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
+add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
+userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
+known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
+/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
+65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
+0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
+{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
+getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
+ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
+false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
+scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
+transform round exch round exch itransform moveto rulex 0 rlineto 0
+ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
+0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
+B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{
+3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p
+-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{
+3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
+%%EndProcSet
+%%BeginProcSet: special.pro
+TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
+/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
+false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
+/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
+div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
+/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
+10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
+/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
+true def end /@MacSetUp{userdict /md known{userdict /md get type
+/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
+length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
+N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
+clippath mark{transform{itransform moveto}}{transform{itransform lineto}
+}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
+itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
+closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
+0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
+/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
+scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
+ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
+not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
+TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
+pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
+-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
+TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
+sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
+0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
+2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
+{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
+div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
+N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
+maxlength dict begin /magscale false def normalscale currentpoint TR
+/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
+/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
+psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
+scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
+/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
+psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
+roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
+moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
+begin /SpecialSave save N gsave normalscale currentpoint TR
+@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
+{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
+closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
+sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
+}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
+CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
+lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
+}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
+end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
+N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
+/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
+SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
+/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
+yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
+%%EndProcSet
+TeXDict begin 40258431 52099146 1000 300 300 (texdraw.dvi)
+@start /Fa 1 47 df<70F8F8F0E005057B840E>46 D E /Fb 1
+47 df<387CFCFCF87006067A8512>46 D E /Fc 45 123 df<00FE000381000601800E03
+801C01001C00001C00001C00001C00001C0000FFFF801C03801C03801C03801C03801C03
+801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0141A809915
+>12 D<60F0F07010101020204040040B7D830B>44 D<07E01C38381C300C700E60066006
+E007E007E007E007E007E007E007E007E007E00760066006700E300C381C1C3807E01018
+7F9713>48 D<03000700FF00070007000700070007000700070007000700070007000700
+070007000700070007000700070007007FF80D187D9713>I<0F80106020304038803CC0
+1CE01C401C003C003800380070006000C001800100020004040804100430083FF87FF8FF
+F80E187E9713>I<07E01838201C601E700E201E001E001C001C0038007007E00038001C
+000E000F000FE00FE00FC00F400E601C183807E010187F9713>I<001800180038007800
+F800B8013802380238043808381838103820384038C038FFFF0038003800380038003800
+3803FF10187F9713>I<30183FF03FE03F80200020002000200020002FC0306020300038
+0018001C001C401CE01CE01C80184038403030E00F800E187E9713>I<01F807040C0618
+0E300E300070006000E000E3E0E418E80CF00EE006E007E007E007600760077006300E18
+0C0C3807E010187F9713>I<40007FFF7FFE7FFE40048008801080100020004000400080
+01800100030003000700060006000E000E000E000E000E00040010197E9813>I<07E018
+18300C2006600660067006780C3E181F3007C003E00CF8307C601E600FC007C003C003C0
+0360022004181807E010187F9713>I<07E01C303018700C600EE006E006E007E007E007
+6007700F3017182707C700070006000E000C700C7018603030600F8010187F9713>I<FF
+FF800E00E00E00700E00380E003C0E003C0E003C0E003C0E003C0E00780E00700E01E00F
+FFC00E00F00E00780E003C0E001C0E001E0E001E0E001E0E001E0E001C0E003C0E00780E
+00F0FFFFC0171A7F991B>66 D<FFFFF80E00380E00180E00080E000C0E00040E00040E00
+040E01000E01000E01000E03000FFF000E03000E01000E01000E01000E00020E00020E00
+020E00060E00040E00040E000C0E003CFFFFFC171A7F991A>69 D<FFFFF80E00380E0018
+0E00080E000C0E00040E00040E00040E01000E01000E01000E03000FFF000E03000E0100
+0E01000E01000E00000E00000E00000E00000E00000E00000E00000E0000FFE000161A7F
+9919>I<FFE0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
+000E00000E00000E00000E00000E00000E00000E00080E00080E00080E00180E00100E00
+300E00700E00F0FFFFF0151A7F9918>76 D<FFFF800E01E00E00700E00780E00380E003C
+0E003C0E003C0E003C0E00380E00780E00700E01E00FFF800E00000E00000E00000E0000
+0E00000E00000E00000E00000E00000E00000E0000FFE000161A7F991A>80
+D<0FC21836200E6006C006C002C002C002E00070007E003FE01FF803FC007E000E000700
+03800380038003C002C006E004D81887E0101A7E9915>83 D<7FFFFF00701C0700401C01
+00401C0100C01C0180801C0080801C0080801C0080001C0000001C0000001C0000001C00
+00001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C00
+00001C0000001C0000001C0000001C000003FFE000191A7F991C>I<FFC0FF800F003C00
+0F001000070020000380200003C0400001C0800000E1800000F10000007A0000003E0000
+001C0000001E0000001E00000017000000278000004380000041C0000081E0000100E000
+0300700002007800040038000C001C001E003E00FF007FC01A1A7F991D>88
+D<1FC000387000383800101C00001C00001C0003FC001E1C00381C00701C00E01C00E01C
+80E01C80E03C80705F801F8F0011107F8F13>97 D<FC00001C00001C00001C00001C0000
+1C00001C00001C00001C00001C00001CFC001D07001E03801C01C01C00C01C00E01C00E0
+1C00E01C00E01C00E01C00E01C01C01C01801E030019060010F800131A809915>I<07F8
+1C1C381C70087000E000E000E000E000E000E0007000700438081C1807E00E107F8F11>
+I<003F0000070000070000070000070000070000070000070000070000070003E7000C17
+00180F00300700700700E00700E00700E00700E00700E00700E00700600700700700380F
+001C370007C7E0131A7F9915>I<07C01C3030187018600CE00CFFFCE000E000E000E000
+6000700438081C1807E00E107F8F11>I<01F007180E381C101C001C001C001C001C001C
+00FFC01C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF800D1A80
+990C>I<0FCF001871803030007038007038007038007038003030001860002FC0006000
+006000007000003FF0003FFC001FFE00600F00C00300C00300C00300C00300600600381C
+0007E00011187F8F13>I<FC00001C00001C00001C00001C00001C00001C00001C00001C
+00001C00001C7C001D87001E03801E03801C03801C03801C03801C03801C03801C03801C
+03801C03801C03801C03801C0380FF9FF0141A809915>I<183C3C18000000000000FC1C
+1C1C1C1C1C1C1C1C1C1C1C1C1CFF081A80990A>I<018003C003C0018000000000000000
+00000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001
+C001C001C001C041C0E180E3007E000A2182990C>I<FC00001C00001C00001C00001C00
+001C00001C00001C00001C00001C00001C1FC01C0F001C0C001C18001C20001C40001CE0
+001DE0001E70001C78001C38001C1C001C1E001C0F001C0F80FF9FE0131A809914>I<FC
+001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
+001C001C001C001C001C001C00FF80091A80990A>I<FC7C1F001D8E63801E0781C01E07
+81C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C07
+01C01C0701C01C0701C0FF9FE7F81D107F8F20>I<FC7C001D87001E03801E03801C0380
+1C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0141080
+8F15>I<07E01C38300C700E6006E007E007E007E007E007E0076006700E381C1C3807E0
+10107F8F13>I<FCFC001D07001E03801C01C01C01C01C00E01C00E01C00E01C00E01C00
+E01C00E01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00
+00FF80001317808F15>I<FC781D9C1E1C1E081C001C001C001C001C001C001C001C001C
+001C001C00FF800E10808F0F>114 D<1F2060E04020C020C020F0007F003FC01FE000F0
+80708030C030C020F0408F800C107F8F0F>I<0800080008000800180018003800FFC038
+003800380038003800380038003800382038203820382018201C4007800B177F960F>I<
+FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
+1C07800C07800E0B8003F3F01410808F15>I<FF0F803C07001C06001C04001C04000E08
+000E080007100007100007100003A00003A00001C00001C00001C00000800011107F8F14
+>I<FE7F1F80381C07003C1C06001C0C04001C0E04000E1608000E1708000E1708000723
+10000723900007A3900003C1A00003C1E0000180C0000180C0000180C00019107F8F1C>
+I<FE3F803C1E001C08000E10000F300007600003C00001C00001E00003E0000270000438
+00083800181C00381E00FC3FC012107F8F14>I<FF0F803C07001C06001C04001C04000E
+08000E080007100007100007100003A00003A00001C00001C00001C00000800000800001
+0000010000E10000E20000E4000078000011177F8F14>I<FFF8E070C07080E081C081C0
+0380070007000E041C041C04380870087038FFF80E107F8F11>I
+E /Fd 1 47 df<7070F06004047D830B>46 D E /Fe 31 126 df<0FC01FF03838701CE0
+0EE00EE00E400E000E001C001C00380030007000E001C0030006000C00180E300E7FFE7F
+FE0F177E9614>50 D<FFF0FFFC381E380E38073807380738073807380E381E3FFC3FF038
+003800380038003800380038003800FE00FE0010177F9614>80 D<0FCC1FFC307C603CE0
+1CE01CE01CE00070007E003FE00FF001F8001C001E000E600EE00EE00EF01CF838FFF0C7
+E00F177E9614>83 D<C000E000E00070007000380038001C001C000E000E000700070003
+800380038001C001C000E000E00070007000380038001C001C000E000E00060F1D7E9914
+>92 D<1FC0007FF000707800201800001C00001C0007FC001FFC003C1C00701C00E01C00
+E01C00E01C00707C003FFF800F8F8011107E8F14>97 D<FC0000FC00001C00001C00001C
+00001C00001C00001CF8001DFE001F07001E03001C03801C01C01C01C01C01C01C01C01C
+01C01C01C01C03801E03001F0E001DFC000CF8001217809614>I<03F80FFE1C0E380470
+006000E000E000E000E00060007000380E1C1E0FFC03F00F107E8F14>I<007E00007E00
+000E00000E00000E00000E00000E0007CE000FFE001C3E00301E00700E00E00E00E00E00
+E00E00E00E00E00E00E00E00700E00301E00383E001FEFC007CFC012177F9614>I<07E0
+0FF01C38301C700CE00EE00EFFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>
+I<00FC01FE038E07040700070007007FFEFFFE0700070007000700070007000700070007
+00070007000700FFF8FFF80F177F9614>I<07CF001FFF80383B80301800701C00701C00
+701C003018003838003FF00037C0007000007000003FF8001FFC003FFE00700F00E00380
+E00380E00380E003807007003C1E001FFC0007F00011197F8F14>I<FC0000FC00001C00
+001C00001C00001C00001C00001C78001DFE001F86001E07001C07001C07001C07001C07
+001C07001C07001C07001C07001C07001C0700FF8FE0FF8FE01317809614>I<06000F00
+0F0006000000000000000000FF00FF000700070007000700070007000700070007000700
+07000700FFF8FFF80D187C9714>I<006000F000F0006000000000000000001FF01FF000
+700070007000700070007000700070007000700070007000700070007000700070007040
+E0E0C07F803F000C207E9714>I<FC0000FC00001C00001C00001C00001C00001C00001C
+FF801CFF801C1C001C38001C70001CE0001DC0001FE0001FE0001E70001C38001C3C001C
+1C001C0E00FF1F80FF1F801117809614>I<FF80FF800380038003800380038003800380
+038003800380038003800380038003800380038003800380FFFEFFFE0F177E9614>I<FB
+8E00FFDF003CF3803CF38038E38038E38038E38038E38038E38038E38038E38038E38038
+E38038E380FEFBE0FE79E01310808F14>I<FC7800FDFE001F86001E07001C07001C0700
+1C07001C07001C07001C07001C07001C07001C07001C0700FF8FE0FF8FE01310808F14>
+I<07C01FF03C78701C701CE00EE00EE00EE00EE00EE00E701C783C3C781FF007C00F107E
+8F14>I<FCF800FDFE001F07001E03001C03801C01C01C01C01C01C01C01C01C01C01C01
+C01C03801E03001F0E001DFC001CF8001C00001C00001C00001C00001C00001C0000FF80
+00FF80001218808F14>I<FE1F00FE7F800EE3800F81000F00000F00000E00000E00000E
+00000E00000E00000E00000E00000E0000FFF000FFF00011107F8F14>114
+D<0FD83FF86038C038C038F0007F803FF007F8001C6006E006F006F81CFFF8CFE00F107E
+8F14>I<06000E000E000E000E007FFCFFFC0E000E000E000E000E000E000E000E000E0E
+0E0E0E0E0E1C07F801F00F157F9414>I<FC3F00FC3F001C07001C07001C07001C07001C
+07001C07001C07001C07001C07001C07001C07001C1F000FFFE003E7E01310808F14>I<
+FE3F80FE3F803C1E001C1C001C1C001C1C000E38000E38000E3800063000077000077000
+07700003E00003E00003E00011107F8F14>I<FE3F80FE3F80700700380E00380E00380E
+0039CE0039CE0039CE001B6C001A6C001A6C001A6C001E7C001E7C000E380011107F8F14
+>I<7E3F007E3F001E3C000E780007700007E00003E00001C00003C00003E0000770000E
+78000E38001C1C00FE3F80FE3F8011107F8F14>I<FE3F80FE3F801C0E001C1C001C1C00
+0E1C000E38000E380007380007300007300003700003700003E00001E00001E00001C000
+01C00001C0000380007380007700007E00003C000011187F8F14>I<3FFF7FFF700E701C
+7038007000E001C0038007000E001C0738077007FFFFFFFF10107F8F14>I<003E00FE01
+E003800380038003800380038003800380038003807F00FE007F00038003800380038003
+800380038003800380038001E000FE003E0F1D7E9914>I<7800FE000F00038003800380
+038003800380038003800380038001FC00FE01FC03800380038003800380038003800380
+038003800F00FE0078000F1D7E9914>125 D E /Ff 1 93 df<600000F00000F00000F8
+00007800007C00003C00003E00001E00001F00000F00000F800007800007C00003C00003
+E00001E00001E00001F00000F00000F800007800007C00003C00003E00001E00001F0000
+0F00000F800007800007800007C00003C00003E00001E00001F00000F00000F800007800
+007C00003C00003E00001E00001F00000F00000F000006182F7DA91F>92
+D E /Fg 1 1 df<FFFFC0FFFFC012027D871A>0 D E /Fh 1 1 df<FFFEFFFE0F027D85
+16>0 D E /Fi 1 44 df<00C00000C00000C00000C00000C00000C00000C00000C000FF
+FF80FFFF8000C00000C00000C00000C00000C00000C00000C00000C00011127E8D15>43
+D E /Fj 28 121 df<0003FC00003FFE00007E070001F80F8003F01F8003E01F8007E01F
+8007E01F8007E01F8007E0060007E0000007E0000007E0000007E0FFC0FFFFFFC0FFFFFF
+C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00F
+C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00F
+C007E00FC007E00FC07FFC7FFC7FFC7FFC1E267FA522>12 D<3C7EFFFFFFFF7E3C08087C
+8711>46 D<001C00003C0000FC00FFFC00FFFC0000FC0000FC0000FC0000FC0000FC0000
+FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
+FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC007FFFFC7F
+FFFC16237CA21F>49 D<01FF0007FFC01E07F03803F86001FC7C00FEFE00FEFE00FFFE00
+7FFE007F7C007F3800FF0000FF0000FE0000FE0001FC0001F80003F00007E0000780000F
+00001E00003C0000700000E00301C0030380070700060600060FFFFE1FFFFE3FFFFE7FFF
+FCFFFFFCFFFFFC18237DA21F>I<01FF0007FFE01E03F03801F83C01FC7E00FE7E00FE7E
+00FE3E00FE1C01FE0001FC0001FC0003F80007F0000FC001FF0001FF000007E00001F000
+01F80000FC0000FE0000FF0000FF1000FF7C00FFFE00FFFE00FFFE00FEFE00FE7C01FC70
+01F83E07F00FFFC001FF0018237DA21F>I<0000380000007800000078000000F8000001
+F8000003F8000007F8000006F800000CF800001CF8000038F8000030F8000060F80000E0
+F80001C0F8000180F8000300F8000700F8000E00F8001C00F8001800F8003000F8007000
+F800E000F800FFFFFFC0FFFFFFC00001F8000001F8000001F8000001F8000001F8000001
+F8000001F800007FFFC0007FFFC01A237EA21F>I<18000C1F007C1FFFF81FFFF01FFFE0
+1FFFC01FFF801FFE0018000018000018000018000018000018FF001BFFE01F01F01C00F8
+0800FC00007E00007E00007E00007F00007F78007FFC007FFC007FFC007FFC007EF8007E
+6000FC7000FC3801F81E07E007FFC001FE0018237DA21F>I<FFFFFFE000FFFFFFFC0003
+F800FF0003F8003F8003F8001FC003F8001FE003F8000FE003F8000FF003F8000FF003F8
+000FF003F8000FF003F8000FF003F8000FF003F8000FE003F8001FE003F8001FC003F800
+3F8003F800FF0003FFFFFC0003FFFFE00003F800000003F800000003F800000003F80000
+0003F800000003F800000003F800000003F800000003F800000003F800000003F8000000
+03F800000003F800000003F800000003F8000000FFFFE00000FFFFE0000024257EA42A>
+80 D<FFFFFF800000FFFFFFF8000003F801FE000003F8007F000003F8003F800003F800
+1FC00003F8001FC00003F8001FE00003F8001FE00003F8001FE00003F8001FE00003F800
+1FE00003F8001FC00003F8001FC00003F8003F800003F8007F000003F801FE000003FFFF
+F8000003FFFFC0000003F803F0000003F801F8000003F800FC000003F8007E000003F800
+7E000003F8007F000003F8007F000003F8007F000003F8007F000003F8007F800003F800
+7F800003F8007F800003F8007F806003F8003FC06003F8003FC0C003F8001FE1C0FFFFE0
+0FFF80FFFFE001FE002B257EA42E>82 D<00FF008007FFE3800F80F7801E001F803C000F
+807800078078000380F8000380F8000180F8000180FC000180FC000000FF0000007FE000
+007FFF00003FFFE0003FFFF8001FFFFE0007FFFF0003FFFF80007FFF800003FFC000003F
+C000000FE0000007E0000007E0C00003E0C00003E0C00003E0C00003C0E00003C0F00007
+C0F8000780FC000F00FFC03E00E3FFF800803FE0001B257DA422>I<7FFFFFFFF87FFFFF
+FFF87E00FE01F87800FE00787000FE00386000FE00186000FE0018E000FE001CE000FE00
+0CC000FE000CC000FE000CC000FE000CC000FE000C0000FE00000000FE00000000FE0000
+0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
+00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
+FE00000000FE00000000FE00000000FE000000FFFFFE0000FFFFFE0026247EA32B>I<07
+FF00001FFFC0003E03E0003F01F0003F01F8003F00FC001E00FC000000FC000000FC0000
+00FC00003FFC0003FCFC000FC0FC003F00FC007E00FC007E00FC00FC00FC00FC00FC00FC
+00FC00FC017C007E017C003F067C001FFC3FE007F01FE01B187E971E>97
+D<007FE003FFF807C07C1F80FC1F00FC3F00FC7E00787E0000FE0000FE0000FE0000FE00
+00FE0000FE0000FE0000FE00007E00007F00003F000C1F800C1FC01807E07003FFE0007F
+0016187E971B>99 D<0001FF800001FF8000001F8000001F8000001F8000001F8000001F
+8000001F8000001F8000001F8000001F8000001F8000001F8000001F80007F1F8003FFDF
+8007E0FF801F803F803F001F803F001F807E001F807E001F80FE001F80FE001F80FE001F
+80FE001F80FE001F80FE001F80FE001F80FE001F807E001F807E001F803F001F803F003F
+801F807F800FC0FF8003FF9FF800FE1FF81D267EA522>I<007F0003FFC007C1F00F80F8
+1F00F83F007C7E007C7E007EFE007EFE007EFFFFFEFFFFFEFE0000FE0000FE00007E0000
+7E00007E00063F00061F000C0F801807E07003FFE0007F8017187E971C>I<01FF07C007
+FFDFE00F83F1E01F01F1E03E00F8007E00FC007E00FC007E00FC007E00FC007E00FC007E
+00FC003E00F8001F01F0000F83E0000FFFC00011FF00003000000030000000380000003C
+0000003FFFE0001FFFFC001FFFFE000FFFFF001FFFFF803C003F8078000FC0F80007C0F8
+0007C0F80007C0F80007C07C000F803E001F001F807E0007FFF80000FFC0001B247E971F
+>103 D<FFC00000FFC000000FC000000FC000000FC000000FC000000FC000000FC00000
+0FC000000FC000000FC000000FC000000FC000000FC000000FC1F8000FC7FE000FCC3F00
+0FD01F000FF01F800FE01F800FE01F800FC01F800FC01F800FC01F800FC01F800FC01F80
+0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80
+0FC01F80FFFCFFF8FFFCFFF81D267DA522>I<0F001F803FC03FC03FC03FC01F800F0000
+00000000000000000000000000FFC0FFC00FC00FC00FC00FC00FC00FC00FC00FC00FC00F
+C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFF8FFF80D277EA611>I<FFC0FFC0
+0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0
+0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFFCFFFC
+0E267EA511>108 D<FF81FC01FC00FF87FF07FF000F8C1F8C1F800F980F980F800FB00F
+F00FC00FA00FE00FC00FA00FE00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00F
+C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00F
+C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFFCFF
+FCFFFCFFFCFFFCFFFC2E187D9733>I<FF81F800FF87FE000F8C3F000F901F000FB01F80
+0FA01F800FA01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80
+0FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F80FFFCFFF8
+FFFCFFF81D187D9722>I<007F800003FFF00007C0F8001F807E003F003F003F003F007E
+001F807E001F80FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE
+001FC07E001F807E001F803F003F003F003F001F807E000FC0FC0003FFF000007F80001A
+187E971F>I<FFC3F800FFCFFE000FF83F800FE00FC00FC00FE00FC007E00FC007F00FC0
+03F00FC003F80FC003F80FC003F80FC003F80FC003F80FC003F80FC003F80FC003F80FC0
+07F00FC007F00FC007E00FC00FC00FE01FC00FF83F000FDFFE000FC7F0000FC000000FC0
+00000FC000000FC000000FC000000FC000000FC000000FC000000FC00000FFFC0000FFFC
+00001D237E9722>I<FF87C0FF8FF00F98F80FB1F80FA1F80FA1F80FE0F00FC0000FC000
+0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000
+0FC000FFFE00FFFE0015187E9719>114 D<07F9801FFF803C0F80700380F00180F00180
+F00180FC0000FF80007FFC007FFE003FFF800FFFC003FFC0001FE00003E0C001E0C001E0
+E001E0E001C0F003C0FC0780EFFF00C3FC0013187E9718>I<0060000060000060000060
+0000E00000E00001E00001E00003E00007E0001FE000FFFFC0FFFFC007E00007E00007E0
+0007E00007E00007E00007E00007E00007E00007E00007E00007E00007E06007E06007E0
+6007E06007E06007E06003E0C003F0C001FF80007E0013237FA218>I<FFC1FF80FFC1FF
+800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F
+800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC03F800FC03F
+8007C07F8007E0DF8003FF9FF800FE1FF81D187D9722>I<FFF83FF0FFF83FF00FC00F00
+07E00C0003F01C0003F8380001FC700000FCE000007EC000003F8000003F8000001F8000
+000FC000001FE000001FF0000033F8000071F80000E0FC0001C07E0003807F0003003F00
+0F001F80FFC07FF8FFC07FF81D187F9720>120 D E /Fk 3 116
+df<07FFE000E07001C01801C01C01C01C01C01C0380380380380380700381C007FF0007
+00000700000700000E00000E00000E00000E00001C0000FF800016147F9315>80
+D<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15>110
+D<0700188019C0318038001E000F0003804180E180C10082007C000A0D7E8C10>115
+D E /Fl 15 123 df<0000F8000306000406000803001003002003004007004007008007
+00800601000E01000C0107F80104700207D802001C02001C02001E04001E04001E04001E
+04001E08003C08003C08003C0800781800701400F01400E01201C0218700207C00200000
+20000040000040000040000040000080000080000080000018297F9F1A>12
+D<01801801C01C0380380380380380380380380700700700700700700700700E00E00E00
+E00E00E00E00E11E01C21E01C21E03C21E05C43F08C439F0783800003800007000007000
+00700000700000E00000E00000E00000C00000181E7F931B>22 D<0FFFFC1FFFFC3FFFFC
+608200C08400808400018400010400010C00030C00030C00020C00060C00060C000E0C00
+0C0E001C0E001C0E00380F0018060016147E931A>25 D<000F800038C000606000C07001
+C0700380780380780700780700780700780E00F00E00F00E00F00E01E01C01C01C01C01E
+03801E0700390C0038F000380000380000700000700000700000700000E00000E00000E0
+0000C00000151E7F9318>I<04000180080003C0100003E0100001E0200000E0200000E0
+2000004040040040400C0040400C0040800C008080080080C0080180C0180300C0380600
+E07C0E00FFEFFC007FCFF8003F87F0001E03C0001B1480931C>33
+D<70F8F8F87005057C840D>58 D<00FFF9FFF0000F801F00000F001E00000F001E00000F
+001E00001E003C00001E003C00001E003C00001E003C00003C007800003C007800003C00
+7800003C007800007800F000007FFFF000007800F000007800F00000F001E00000F001E0
+0000F001E00000F001E00001E003C00001E003C00001E003C00001E003C00003C0078000
+03C007800003C007800003C007800007C00F8000FFF8FFF800241F7E9E26>72
+D<00FFF80FF8000F8003E0000F000380000F000200000F000400001E000800001E002000
+001E004000001E008000003C010000003C040000003C080000003C180000007838000000
+787C000000793C0000007A3C000000F41E000000F81E000000F01E000000F00F000001E0
+0F000001E00F000001E007800001E007800003C007800003C003C00003C003C00003C003
+C00007C003E000FFFC3FFC00251F7E9E27>75 D<00FF803FF0000F800780000F80020000
+0BC00200000BC002000013C004000011E004000011E004000011E004000020F008000020
+F008000020F808000020780800004078100000403C100000403C100000403C100000801E
+200000801E200000801E200000800F200001000F400001000F4000010007C000010007C0
+0002000780000200038000020003800006000380000F00010000FFE0010000241F7E9E25
+>78 D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E38
+0F380F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207E9F14
+>98 D<007C01C207010E011C013C013802780C7BF07C00F000F000F000F0007000700170
+023004183807C010147E9315>101 D<00007C0000CE00019E00039E00030C0007000007
+00000700000700000E00000E00000E0000FFF0000E00000E00001C00001C00001C00001C
+00001C0000380000380000380000380000380000700000700000700000700000700000E0
+0000E00000E00000E00000C00001C000318000798000F300006200003C000017297E9F16
+>I<1E07802318C023A06043C0704380704380708700E00700E00700E00700E00E01C00E
+01C00E01C00E03821C03841C07041C07081C03083803101801E017147E931B>110
+D<03C1C00C62201034701038F02038F020386040700000700000700000700000E00000E0
+0000E00000E02061C040F1C040F1C080E2C080446300383C0014147E931A>120
+D<01E02003F04007F8C00C1F8008010000020000040000080000100000600000C0000100
+000200000400800801001003003F060061FC0040F80080700013147E9315>122
+D E /Fm 1 81 df<FFFFFFFFF0FFFFFFFFF07000000FF878000000F83C000000381C0000
+001C0E0000000C0F000000040700000006038000000203C000000001E000000000E00000
+0000700000000078000000003C000000001C000000001E000000000F0000000007000000
+00038000000003800000000300000000070000000006000000000C000000001800000000
+380000000030000000006000000000C000000001C0000000018000000203000000060600
+0000040E0000000C0C0000001C180000003830000000F87000000FF87FFFFFFFF0FFFFFF
+FFF0272A7E7F2C>80 D E /Fn 4 52 df<0F0030C0606060604020C030C030C030C030C0
+30C030C030C030C03040206060606030C00F000C137E9211>48 D<0C001C00EC000C000C
+000C000C000C000C000C000C000C000C000C000C000C000C000C00FFC00A137D9211>I<
+1F0060C06060F070F030603000700070006000C001C00180020004000810101020207FE0
+FFE00C137E9211>I<0FC030707038703870380038003000E00FC0007000380018001C60
+1CF01CF018E03860701FC00E137F9211>I E /Fo 34 122 df<1C3E7E7E3A0202040408
+081020C0070E7D840D>44 D<FFC0FFC00A027D8A0F>I<007E0001C3000301800701C00E
+00C00E00E01C00E01C00E03C01E03801E07801E07801E07801E07801E07801E0F003C0F0
+03C0F003C0F003C0F003C0F00380F00780E00780E00700E00700E00E00600E00701C0030
+38003870000FC000131F7C9D17>48 D<000C001C00FC0F38003800380038003800380070
+0070007000700070007000E000E000E000E000E000E001C001C001C001C001C001C00380
+03C0FFFE0F1E7C9D17>I<003F8000C1E00100F00200780400780400780F007C0F807C0F
+807C0F00780600780000F80000F00001E00001C0000380000700000E00001C0000380000
+600000C0000180000300200600200800401000403FFFC07FFF80FFFF80161E7E9D17>I<
+007F000183C00201E00400F00700F00F00F00F01F00F01F00001E00001E00003C0000380
+000700000E0000F800000E000007000007800007C00003C00007C03007C07807C0F807C0
+F807C0F00780800F00400E00201C0018780007E000141F7D9D17>I<07FFFFF8007C0078
+003C0038003C001800780018007800080078000800780008007800080078080800F01000
+00F0100000F0100000F0300000FFF00000F0700001E0200001E0200001E0200001E02000
+01E0000801E0001003C0001003C0001003C0002003C0002003C0006003C000C0078001C0
+078007C0FFFFFF801D1F7E9E1F>69 D<07FFF000007E0000003C0000003C000000780000
+007800000078000000780000007800000078000000F0000000F0000000F0000000F00000
+00F0000000F0000001E0000001E0000001E0000001E0000001E0008001E0010003C00100
+03C0010003C0030003C0020003C0060003C0060007801E0007807C00FFFFFC00191F7E9E
+1C>76 D<07FC0000FFC0007C0000F800003C00017800003C00017800004E0002F000004E
+0002F000004E0004F000004E0004F000004E0008F000004E0008F00000870011E0000087
+0011E00000870021E00000870021E00000870041E00000838041E00001038083C0000103
+8083C00001038103C00001038203C0000101C203C0000101C403C0000201C40780000201
+C80780000201C80780000201D00780000200F00780000600E00780000600E00F00000F00
+C00F8000FFE0C1FFF8002A1F7E9E2A>I<07FFFF00007C03C0003C01E0003C00F0007800
+F0007800F8007800F8007800F8007800F8007800F000F001F000F001E000F003C000F007
+8000F00F0000FFF80001E0000001E0000001E0000001E0000001E0000001E0000003C000
+0003C0000003C0000003C0000003C0000003C000000780000007C00000FFFC00001D1F7E
+9E1F>80 D<07FFFC00007C0700003C03C0003C01E0007801E0007801F0007801F0007801
+F0007801F0007801E000F003E000F003C000F0078000F00F0000F03C0000FFF00001E030
+0001E0380001E01C0001E01C0001E01C0001E01E0003C03E0003C03E0003C03E0003C03E
+0003C03E0003C03E0207803E0407C01F04FFFC0F18000003E01F207E9E21>82
+D<003F040060CC01803C03801C03001C0700180600080E00080E00080E00080E00000F00
+000F80000FE00007FE0003FF8001FFC0007FE00007E00001E00000E00000F00000F04000
+E04000E04000E04000E06000C0600180E00380F80300C60C0081F80016217D9F19>I<07
+F8000C0C001E06001E07001C070000070000070000070000FF0007C7001E07003C0E0078
+0E00F00E10F00E10F00E10F01E10F02E20784F401F878014147D9317>97
+D<0700003F00000F00000700000700000E00000E00000E00000E00000E00000E00001C00
+001C7C001D87001E03801C01C01C01C03801C03801E03801E03801E03801E03801E07003
+C07003C0700380700780700700700E00E81C00C4380083E00013207B9F19>I<01FC0706
+0E0F1C0F380E78007000F000F000F000F000E000E000E000E000F0027004300818300FC0
+10147C9314>I<0000700003F00000F00000700000700000E00000E00000E00000E00000
+E00000E00001C000F9C00305C00E03C01C03C03801C0780380700380F00380F00380F003
+80F00380E00700E00700E00700E00700E00700700F00301E00186F000F8FE014207C9F19
+>I<00F800070E000E07001C0700380380780380700380F00380F00380FFFF80F00000E0
+0000E00000E00000E00000F001007002003004001C180007E00011147D9314>I<000780
+0018C00031E00061E000E1C000C00001C00001C00001C00001C00001C0000380007FF800
+0380000380000380000380000700000700000700000700000700000700000E00000E0000
+0E00000E00000E00000E00001C00001E0000FFE00013207E9F0E>I<00000E003E1100E1
+A301C1C20381E00780E00701E00F01E00F01E00F01E00703C007038007870004FC000800
+000800001800001C00000FFF000FFFC007FFE01800F0300030600030C00030C00030C000
+306000603000C01C070007FC00181F809417>I<00E00007E00001E00000E00000E00001
+C00001C00001C00001C00001C00001C000038000038F800390E003A0E003C06003806007
+80E00700E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C
+03801E03C0FFCFF815207E9F19>I<01C003E003E003C001800000000000000000000000
+0003801F800780038003800700070007000700070007000E000E000E000E000E000E001C
+001E00FF800B1F7F9E0C>I<00E007E001E000E000E001C001C001C001C001C001C00380
+038003800380038003800700070007000700070007000E000E000E000E000E000E001C00
+1E00FFC00B207F9F0C>108 D<0387C07C001F9861860007A072070003C0340300038038
+03000780780700070070070007007007000700700700070070070007007007000E00E00E
+000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001E01E01E00
+FFCFFCFFC022147E9326>I<038F801F90E007A0E003C0600380600780E00700E00700E0
+0700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FFCFF8
+15147E9319>I<00FC000387000E01801C00C03800E03800E07000F0F000F0F000F0F000
+F0F000F0E001E0E001E0E001C0E003C0F00380700700380E001C1C0007E00014147D9317
+>I<00E3E007EC3800F01C00E01E00E00E01C00E01C00F01C00F01C00F01C00F01C00F03
+801E03801E03801C03803C0380380380700740E00721C0071F000700000700000700000E
+00000E00000E00000E00001E0000FFC000181D809319>I<038E001FB38007C78003C780
+0383000780000700000700000700000700000700000E00000E00000E00000E00000E0000
+0E00001C00001E0000FFE00011147E9312>114 D<01F2060E080618061802380438001E
+001FE00FF003F8003C401C400C400C600C6018E010D0608FC00F147E9312>I<00800100
+01000100030007000F001E00FFF80E000E000E000E001C001C001C001C001C001C003800
+38203820382038203840384018800F000D1C7C9B12>I<1C0380FC1F803C07801C03801C
+0380380700380700380700380700380700380700700E00700E00700E00700E00701E0070
+1E00703C00305E001F9FC012147B9319>I<FF83F81E00E01C00C01C00800E00800E0100
+0E02000E02000F040007040007080007080007100003900003A00003E00003C000038000
+01800001000015147C9318>I<FF9FE1FC3E0780701C0300601C0300401C0380401C0380
+800E0780800E0581000E0981000E09C2000E11C2000731C4000721C4000760C8000740C8
+000780F0000780F0000300E00003006000020040001E147C9321>I<1FF0FF03C07801C0
+6001C04000E08000E180007300007600003C00003C00001C00002E00004E000087000107
+000203800603800C01C03E03E0FF07FC18147F9318>I<0FF83F8001E00E0001C00C0001
+C0080000E0180000E0100000E0200000E0200000F0400000704000007080000070800000
+71000000390000003A0000003E0000003C00000038000000180000001000000010000000
+200000002000000040000070C00000F0800000F1000000E20000007C000000191D809318
+>I E /Fp 38 121 df<0001C0000003C000000FC000007FC0001FFFC000FFFFC000FFBF
+C000E03FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
+C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
+C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
+C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
+C0007FFFFFE07FFFFFE07FFFFFE01B2E7AAD28>49 D<003FE00001FFFE0007FFFF800F80
+FFC01E003FE038001FF07C000FF87E0007FCFF0007FCFF8007FEFF8007FEFF8003FEFF80
+03FE7F0003FE3E0007FE000007FE000007FC000007FC00000FF800000FF800000FF00000
+1FE000001FC000003F8000007F0000007E000000F8000001F0000003E0000007C000000F
+0000001E000E003C000E0038000E0070001E00E0001C01C0001C0300003C07FFFFFC0FFF
+FFFC1FFFFFFC3FFFFFFC7FFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81F2E7CAD28>I<001FF8
+0000007FFF000001FFFFC00003E03FE00007800FF0000FC00FF8001FE007F8001FE007FC
+001FE007FC001FE007FC001FE007FC000FC007FC00078007FC0000000FF80000000FF800
+00000FF00000001FE00000001FC00000003F80000000FE0000003FF80000003FFF800000
+001FE000000007F000000007F800000003FC00000003FE00000001FF00000001FF000000
+01FF80000001FF80000001FF801C0001FF803E0001FF807F0001FF80FF8001FF80FF8001
+FF00FF8001FF00FF8003FE007F0003FE007E0007FC003C0007F8001FC01FF0000FFFFFC0
+0003FFFF0000003FF80000212E7DAD28>I<0000007000000000F000000001F000000003
+F000000007F00000000FF00000000FF00000001FF00000003FF000000077F0000000F7F0
+000000E7F0000001C7F000000387F000000707F000000F07F000000E07F000001C07F000
+003807F000007007F00000F007F00000E007F00001C007F000038007F000070007F0000F
+0007F0000E0007F0001C0007F000380007F000700007F000E00007F000FFFFFFFFE0FFFF
+FFFFE0FFFFFFFFE000000FF00000000FF00000000FF00000000FF00000000FF00000000F
+F00000000FF00000000FF00000000FF000000FFFFFE0000FFFFFE0000FFFFFE0232E7EAD
+28>I<0C0000300FC003F00FFFFFE00FFFFFC00FFFFF800FFFFF000FFFFE000FFFF8000F
+FFF0000FFF80000E0000000E0000000E0000000E0000000E0000000E0000000E0000000E
+0000000E1FF0000E7FFE000FE03F800F800FC00E0007E00C0007F0000007F8000003FC00
+0003FC000003FC000003FE000003FE180003FE3E0003FE7F0003FEFF0003FEFF0003FEFF
+0003FCFF0003FCFE0003FC780007F8780007F03C000FE01E001FC00FC07F8007FFFF0001
+FFFC00003FE0001F2E7CAD28>I<0000007800000000000078000000000000FC00000000
+0000FC000000000000FC000000000001FE000000000001FE000000000003FF0000000000
+03FF000000000007FF800000000007FF800000000007FF80000000000FFFC0000000000E
+7FC0000000001E7FE0000000001C3FE0000000001C3FE000000000383FF000000000381F
+F000000000781FF800000000700FF800000000700FF800000000E00FFC00000000E007FC
+00000001E007FE00000001C003FE00000001C003FE000000038003FF000000038001FF00
+0000078001FF800000070000FF800000070000FF8000000FFFFFFFC000000FFFFFFFC000
+001FFFFFFFE000001C00003FE000003C00003FF000003800001FF000003800001FF00000
+7000001FF800007000000FF80000F000000FFC0000E0000007FC0000E0000007FC0001C0
+000007FE0003E0000003FE00FFFF8001FFFFFCFFFF8001FFFFFCFFFF8001FFFFFC36317D
+B03D>65 D<FFFFFFFFE00000FFFFFFFFFE0000FFFFFFFFFF800000FF0000FFC00000FF00
+003FF00000FF00001FF80000FF00000FF80000FF000007FC0000FF000007FC0000FF0000
+07FE0000FF000003FE0000FF000003FE0000FF000003FE0000FF000003FE0000FF000007
+FE0000FF000007FE0000FF000007FC0000FF000007FC0000FF00000FF80000FF00001FF0
+0000FF00003FE00000FF0000FF800000FF000FFF000000FFFFFFFE000000FFFFFFFFC000
+00FF00001FF00000FF000007F80000FF000003FE0000FF000003FE0000FF000001FF0000
+FF000001FF8000FF000000FF8000FF000000FFC000FF000000FFC000FF000000FFC000FF
+000000FFC000FF000000FFC000FF000000FFC000FF000000FFC000FF000000FF8000FF00
+0001FF8000FF000001FF0000FF000003FF0000FF000007FE0000FF00000FFC0000FF0000
+7FF800FFFFFFFFFFE000FFFFFFFFFF8000FFFFFFFFFC000032317EB039>I<000003FF80
+018000003FFFF003800001FFFFFC07800007FF003F0F80001FF800079F80003FC00001FF
+8000FF800000FF8001FE0000007F8003FC0000003F8007FC0000001F8007F80000000F80
+0FF00000000F801FF000000007801FF000000007803FE000000007803FE000000003807F
+E000000003807FE000000003807FC000000000007FC00000000000FFC00000000000FFC0
+0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000
+00000000FFC00000000000FFC000000000007FC000000000007FC000000000007FE00000
+0000007FE000000003803FE000000003803FE000000003801FF000000003801FF0000000
+07800FF0000000070007F8000000070007FC0000000E0003FC0000001E0001FE0000001C
+0000FF8000007800003FC00000F000001FF80003E0000007FF003F80000001FFFFFE0000
+00003FFFF80000000003FF80000031317CB03A>I<FFFFFFFFF00000FFFFFFFFFF0000FF
+FFFFFFFFC00000FF8000FFF00000FF80000FF80000FF800003FE0000FF800001FF0000FF
+800000FF8000FF8000007FC000FF8000003FC000FF8000001FE000FF8000001FF000FF80
+00000FF000FF8000000FF800FF8000000FF800FF80000007FC00FF80000007FC00FF8000
+0007FC00FF80000007FC00FF80000007FE00FF80000007FE00FF80000007FE00FF800000
+07FE00FF80000007FE00FF80000007FE00FF80000007FE00FF80000007FE00FF80000007
+FE00FF80000007FE00FF80000007FE00FF80000007FC00FF80000007FC00FF80000007FC
+00FF80000007FC00FF8000000FF800FF8000000FF800FF8000000FF000FF8000001FF000
+FF8000001FE000FF8000003FE000FF8000007FC000FF8000007F8000FF800001FF0000FF
+800003FE0000FF80000FFC0000FF80007FF000FFFFFFFFFFC000FFFFFFFFFF0000FFFFFF
+FFF0000037317EB03E>I<FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF000FF80003FF000
+FF800007F800FF800003F800FF800000F800FF800000F800FF8000007800FF8000007800
+FF8000003800FF8000003800FF8000003800FF8000001C00FF8007001C00FF8007001C00
+FF8007001C00FF8007000000FF8007000000FF800F000000FF801F000000FF803F000000
+FFFFFF000000FFFFFF000000FFFFFF000000FF803F000000FF801F000000FF800F000000
+FF8007000000FF8007000000FF8007000700FF8007000700FF8007000700FF8000000E00
+FF8000000E00FF8000000E00FF8000000E00FF8000001E00FF8000001E00FF8000003C00
+FF8000003C00FF8000007C00FF800000FC00FF800001FC00FF800007FC00FF80003FFCFF
+FFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF830317EB035>I<FFFFFF80FFFFFF80FFFFFF80
+00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000
+00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000
+00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000
+00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000
+00FF800000FF800000FF800000FF800000FF800000FF800000FF8000FFFFFF80FFFFFF80
+FFFFFF8019317EB01E>73 D<FFFFFFE00000FFFFFFE00000FFFFFFE0000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF800001C000FF800001C000FF800001C000FF800001C0
+00FF800003C000FF8000038000FF8000038000FF8000078000FF8000078000FF80000780
+00FF80000F8000FF80001F8000FF80003F8000FF80007F8000FF8000FF0000FF8007FF00
+FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF002A317EB030>76 D<FFFFC000000003FFFFFF
+FFC000000003FFFFFFFFE000000007FFFF00FFE000000007FF0000EFF00000000EFF0000
+EFF00000000EFF0000EFF00000000EFF0000E7F80000001CFF0000E7F80000001CFF0000
+E3FC00000038FF0000E3FC00000038FF0000E1FE00000070FF0000E1FE00000070FF0000
+E0FF000000E0FF0000E0FF000000E0FF0000E07F800001C0FF0000E07F800001C0FF0000
+E03FC0000380FF0000E03FC0000380FF0000E03FC0000380FF0000E01FE0000700FF0000
+E01FE0000700FF0000E00FF0000E00FF0000E00FF0000E00FF0000E007F8001C00FF0000
+E007F8001C00FF0000E003FC003800FF0000E003FC003800FF0000E001FE007000FF0000
+E001FE007000FF0000E000FF00E000FF0000E000FF00E000FF0000E000FF00E000FF0000
+E0007F81C000FF0000E0007F81C000FF0000E0003FC38000FF0000E0003FC38000FF0000
+E0001FE70000FF0000E0001FE70000FF0000E0000FFE0000FF0000E0000FFE0000FF0000
+E00007FC0000FF0000E00007FC0000FF0000E00007FC0000FF0000E00003F80000FF0001
+F00003F80000FF00FFFFE001F000FFFFFFFFFFE001F000FFFFFFFFFFE000E000FFFFFF48
+317EB04D>I<FFFFFFFFE000FFFFFFFFFE00FFFFFFFFFF8000FF8000FFE000FF80003FF0
+00FF80000FF800FF800007FC00FF800007FC00FF800003FE00FF800003FE00FF800003FF
+00FF800003FF00FF800003FF00FF800003FF00FF800003FF00FF800003FF00FF800003FF
+00FF800003FE00FF800003FE00FF800007FC00FF800007F800FF80000FF800FF80003FE0
+00FF8000FFC000FFFFFFFF0000FFFFFFF80000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000
+00FF8000000000FF8000000000FF8000000000FF8000000000FF80000000FFFFFF800000
+FFFFFF800000FFFFFF80000030317EB037>80 D<001FF8018000FFFF038003FFFFC78007
+F007EF800F8000FF801F00007F803E00001F803E00000F807C00000F807C00000780FC00
+000780FC00000780FC00000380FE00000380FE00000380FF00000000FFC00000007FF000
+00007FFF8000003FFFF800003FFFFF80001FFFFFF0000FFFFFF80007FFFFFE0003FFFFFF
+0000FFFFFF80003FFFFF800001FFFFC000001FFFE0000000FFE00000003FE00000001FF0
+0000000FF000000007F060000007F0E0000003F0E0000003F0E0000003F0E0000003E0F0
+000003E0F0000003E0F8000007C0FC000007C0FF00000F80FFC0001F00FBFC00FE00F1FF
+FFF800E03FFFF000C003FF800024317CB02D>83 D<7FFFFFFFFFFF007FFFFFFFFFFF007F
+FFFFFFFFFF007FC00FF801FF007E000FF8003F007C000FF8001F0078000FF8000F007800
+0FF8000F0070000FF8000700F0000FF8000780F0000FF8000780F0000FF8000780E0000F
+F8000380E0000FF8000380E0000FF8000380E0000FF8000380E0000FF800038000000FF8
+00000000000FF800000000000FF800000000000FF800000000000FF800000000000FF800
+000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80000
+0000000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000
+00000FF800000000000FF800000000000FF800000000000FF800000000000FF800000000
+000FF800000000000FF800000000000FF800000000000FF800000000000FF80000000000
+0FF800000000000FF8000000007FFFFFFF0000007FFFFFFF0000007FFFFFFF000031307D
+AF38>I<FFFFFF8003FFFF80FFFFFF8003FFFF80FFFFFF8003FFFF8000FF80000007C000
+00FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF8000
+0003800000FF80000003800000FF80000003800000FF80000003800000FF800000038000
+00FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF8000
+0003800000FF80000003800000FF80000003800000FF80000003800000FF800000038000
+00FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF8000
+0003800000FF80000003800000FF80000003800000FF80000003800000FF800000038000
+00FF80000003800000FF80000003800000FF80000003800000FF80000003800000FF8000
+00038000007F800000038000007F800000070000007FC00000070000003FC000000E0000
+003FC000000E0000001FE000001C0000000FF000003800000007F800007000000003FC00
+01E000000000FF801FC0000000003FFFFF80000000000FFFFE000000000000FFE0000000
+39317EB03E>I<7FFFFF007FFFF87FFFFF007FFFF87FFFFF007FFFF800FFE00001F00000
+7FE00001E000003FF00001C000001FF80003C000001FFC00078000000FFC000F00000007
+FE000E00000007FF001E00000003FF003C00000001FF807800000000FFC07000000000FF
+E0F0000000007FE1E0000000003FF3C0000000003FFB80000000001FFF80000000000FFF
+000000000007FE000000000007FF000000000003FF000000000001FF800000000001FFC0
+0000000000FFC00000000001FFE00000000003FFF00000000007BFF800000000071FF800
+0000000F0FFC000000001E0FFE000000003C07FE000000003803FF000000007801FF8000
+0000F001FFC0000000E000FFC0000001C0007FE0000003C0007FF000000780003FF00000
+0700001FF800000F00000FFC00001E00000FFE00003C000007FE000038000003FF0000FC
+000003FF80FFFFE0007FFFFFFFFFE0007FFFFFFFFFE0007FFFFF38317EB03D>88
+D<00FFF0000003FFFE00000F803F80000FC00FE0001FE007F0001FE007F0001FE003F800
+0FC003FC00078003FC00000003FC00000003FC00000003FC00000003FC000000FFFC0000
+1FFFFC0000FFE3FC0003FC03FC000FF003FC001FC003FC003FC003FC007F8003FC007F80
+03FC00FF0003FC00FF0003FC00FF0003FC00FF0007FC00FF0007FC007F800DFC003FC019
+FE001FE070FFF007FFE07FF000FF803FF024207E9F27>97 D<01F8000000FFF8000000FF
+F8000000FFF80000000FF800000007F800000007F800000007F800000007F800000007F8
+00000007F800000007F800000007F800000007F800000007F800000007F800000007F800
+000007F800000007F83FE00007F8FFFC0007FBE07F0007FF001F8007FE000FC007FC000F
+E007F80007F007F80007F807F80007F807F80003FC07F80003FC07F80003FC07F80003FE
+07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07
+F80003FC07F80003FC07F80003FC07F80007F807F80007F807F80007F007FC000FE007FE
+000FC007E7003F8007C3C0FE000780FFF80007003FC00027327EB12D>I<000FFF00007F
+FFC001FC01F003F003F007E007F80FE007F81FC007F83FC003F03FC001E07F8000007F80
+00007F800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF80
+00007F8000007F8000007F8000003FC0001C3FC0001C1FC000380FE0003807E0007003F0
+01E001FC07C0007FFF00000FF8001E207D9F24>I<0000000FC0000007FFC0000007FFC0
+000007FFC00000007FC00000003FC00000003FC00000003FC00000003FC00000003FC000
+00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000
+003FC00007F83FC0003FFF3FC000FE07BFC003F801FFC007E0007FC00FE0007FC01FC000
+3FC03FC0003FC03FC0003FC07F80003FC07F80003FC07F80003FC0FF80003FC0FF80003F
+C0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC07F80003FC0
+7F80003FC07F80003FC03FC0003FC03FC0003FC01FC0003FC00FE0007FC007E000FFC003
+F003FFE001FC0F3FFE007FFE3FFE000FF03FFE27327DB12D>I<000FFC00007FFF8001FC
+0FC003F003E007E001F00FE001F81FC000FC3FC000FE3FC000FE7F80007E7F80007F7F80
+007FFF80007FFF80007FFFFFFFFFFFFFFFFFFF800000FF800000FF800000FF8000007F80
+00007F8000007F8000003FC000071FC000071FC0000E0FE0000E07F0001C03F8007800FE
+03E0003FFFC00007FE0020207E9F25>I<0001FE00000FFF80001FC3C0007F07E000FE0F
+F001FE0FF001FC0FF003FC0FF003FC07E003FC018003FC000003FC000003FC000003FC00
+0003FC000003FC000003FC000003FC0000FFFFFC00FFFFFC00FFFFFC0003FC000003FC00
+0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
+0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
+0003FC000003FC000003FC000003FC000003FC000003FC00007FFFF0007FFFF0007FFFF0
+001C327EB119>I<001FF007C000FFFE3FE001F83F79F007E00FC3F00FE00FE1F00FC007
+E0E01FC007F0001FC007F0003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8
+001FC007F0001FC007F0000FC007E0000FE00FE00007E00FC00003F83F000006FFFE0000
+0E1FF000000E000000001E000000001E000000001F000000001F800000001FFFFF80000F
+FFFFF0000FFFFFFC0007FFFFFE0003FFFFFF0003FFFFFF800FFFFFFFC01F00007FC07E00
+001FE07C00000FE0FC000007E0FC000007E0FC000007E0FC000007E07E00000FC03E0000
+0F803F00001F800FC0007E0007F803FC0001FFFFF000001FFF0000242F7E9F28>I<01F8
+000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F800000007F800
+000007F800000007F800000007F800000007F800000007F800000007F800000007F80000
+0007F800000007F800000007F800000007F807F80007F83FFE0007F8783F0007F8C03F80
+07F9801FC007FB001FC007FE001FE007FC001FE007FC001FE007FC001FE007F8001FE007
+F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8
+001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800
+1FE007F8001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FFFFFFFFC3FFFF28327DB1
+2D>I<03C00007E0000FF0001FF8001FF8001FF8001FF8000FF00007E00003C000000000
+00000000000000000000000000000000000000000000000001F800FFF800FFF800FFF800
+0FF80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
+07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
+07F800FFFF80FFFF80FFFF8011337DB217>I<01F800FFF800FFF800FFF8000FF80007F8
+0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
+0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
+0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
+0007F80007F80007F80007F80007F800FFFFC0FFFFC0FFFFC012327DB117>108
+D<03F007F8001FE000FFF03FFE00FFF800FFF0783F01E0FC00FFF0C03F8300FE000FF180
+1FC6007F0007F3001FCC007F0007F6001FF8007F8007FC001FF0007F8007FC001FF0007F
+8007FC001FF0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F800
+1FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F
+8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F800
+1FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F
+8007F8001FE0007F8007F8001FE0007F80FFFFC3FFFF0FFFFCFFFFC3FFFF0FFFFCFFFFC3
+FFFF0FFFFC3E207D9F43>I<03F007F800FFF03FFE00FFF0783F00FFF0C03F800FF1801F
+C007F3001FC007F6001FE007FC001FE007FC001FE007FC001FE007F8001FE007F8001FE0
+07F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007
+F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8
+001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FFFFFFFFC3FFFF28207D9F2D>I<00
+07FC0000007FFFC00001FC07F00003F001F80007E000FC000FC0007E001FC0007F003FC0
+007F803F80003F807F80003FC07F80003FC07F80003FC0FF80003FE0FF80003FE0FF8000
+3FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE07F80003FC07F80003F
+C07F80003FC03FC0007F803FC0007F801FC0007F000FE000FE0007E000FC0003F803F800
+01FE0FF000007FFFC0000007FC000023207E9F28>I<01F83FE000FFF8FFFC00FFFBE07F
+00FFFF003F8007FE001FC007FC000FE007F8000FF007F80007F807F80007F807F80007FC
+07F80003FC07F80003FC07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07
+F80003FE07F80003FE07F80003FE07F80003FC07F80007FC07F80007FC07F80007F807F8
+0007F807F8000FF007FC000FE007FE001FC007FF003F8007FBC0FE0007F8FFF80007F83F
+C00007F800000007F800000007F800000007F800000007F800000007F800000007F80000
+0007F800000007F800000007F800000007F8000000FFFFC00000FFFFC00000FFFFC00000
+272E7E9F2D>I<03F03F00FFF07FC0FFF1C3E0FFF187E00FF30FF007F60FF007F60FF007
+FC07E007FC03C007FC000007FC000007F8000007F8000007F8000007F8000007F8000007
+F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007
+F8000007F8000007F8000007F80000FFFFE000FFFFE000FFFFE0001C207E9F21>114
+D<01FF860007FFFE001F00FE003C003E0078001E0078000E00F8000E00F8000E00F8000E
+00FC000000FF800000FFFC00007FFFC0007FFFF0003FFFF8001FFFFC0007FFFE0001FFFF
+00003FFF000000FF8000003F8060001F80E0000F80E0000F80F0000F80F0000F00F8000F
+00FC001E00FE001C00FF807800F3FFF000C07F800019207D9F20>I<001C0000001C0000
+001C0000001C0000001C0000003C0000003C0000003C0000007C0000007C000000FC0000
+01FC000003FC000007FC00001FFFFE00FFFFFE00FFFFFE0003FC000003FC000003FC0000
+03FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000
+03FC000003FC000003FC000003FC000003FC038003FC038003FC038003FC038003FC0380
+03FC038003FC038001FC038001FC070000FE0700007F0E00003FFC000007F000192E7FAD
+1F>I<01F80007E0FFF803FFE0FFF803FFE0FFF803FFE00FF8003FE007F8001FE007F800
+1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F
+E007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0
+07F8001FE007F8001FE007F8001FE007F8003FE007F8003FE003F8007FE003F8007FE001
+FC00DFF000FE039FFF007FFF1FFF000FFC1FFF28207D9F2D>I<FFFF1FFFE07FF8FFFF1F
+FFE07FF8FFFF1FFFE07FF80FF000FE0007800FF800FE00078007F800FE00070007F8007F
+00070003FC007F000E0003FC00FF800E0003FE00FF801E0001FE00FF801C0001FE01DFC0
+1C0001FF01DFC03C0000FF03DFE0380000FF838FE07800007F838FE07000007F8707F070
+00007FC707F0F000003FCF07F8E000003FCE03F8E000001FEE03F9C000001FFC01FDC000
+001FFC01FFC000000FFC01FF8000000FF800FF80000007F800FF00000007F0007F000000
+07F0007F00000003F0007E00000003E0003E00000001E0003C00000001C0001C00003520
+7E9F3A>119 D<7FFF807FFC7FFF807FFC7FFF807FFC03FE000F0001FE001E0000FF003C
+0000FF807800007FC07800003FE0F000001FE1E000000FF3C000000FFF80000007FF0000
+0003FE00000001FE00000000FF00000000FF80000000FFC0000001FFC0000003DFE00000
+078FF00000078FF800000F07FC00001E03FC00003C01FE00007800FF0000F000FF8000E0
+007FC001E0003FC0FFFC01FFFFFFFC01FFFFFFFC01FFFF28207F9F2B>I
+E /Fq 79 126 df<030600078F00078F00078F00078F00078F00078F007FFFC0FFFFE0FF
+FFE07FFFC00F1E000F1E000F1E000F1E000F1E000F1E007FFFC0FFFFE0FFFFE07FFFC01E
+3C001E3C001E3C001E3C001E3C001E3C000C1800131C7E9B18>35
+D<00C00001C00001C00001C00003F0000FFC003FFE007DCF0071C700E1C380E1C780E1C7
+80E1C780F1C00079C0003DC0001FE0000FF80003FC0001DE0001CF0001C70061C380F1C3
+80F1C380E1C380E1C70071C70079DE003FFE001FF80007E00001C00001C00001C00000C0
+0011247D9F18>I<3803007C07807C0780EE0F80EE0F00EE0F00EE1F00EE1E00EE1E00EE
+3E007C3C007C3C00387C0000780000780000F80000F00001F00001E00001E00003E00003
+C00003C00007C0000783800787C00F87C00F0EE00F0EE01F0EE01E0EE01E0EE03E0EE03C
+07C03C07C018038013247E9F18>I<387C7C7E3E0E0E0E1C1C38F8F0C0070E789B18>39
+D<007000F001E003C007800F001E001C00380038007000700070007000E000E000E000E0
+00E000E000E000E0007000700070007000380038001C001E000F00078003C001F000F000
+700C24799F18>I<6000F00078003C001E000F000780038001C001C000E000E000E000E0
+0070007000700070007000700070007000E000E000E000E001C001C0038007800F001E00
+3C007800F00060000C247C9F18>I<01C00001C00001C00001C000C1C180F1C780F9CF80
+7FFF001FFC0007F00007F0001FFC007FFF00F9CF80F1C780C1C18001C00001C00001C000
+01C00011147D9718>I<00600000F00000F00000F00000F00000F00000F00000F0007FFF
+C0FFFFE0FFFFE07FFFC000F00000F00000F00000F00000F00000F00000F0000060001314
+7E9718>I<7FFF00FFFF80FFFF807FFF0011047D8F18>45 D<3078FCFC78300606778518>
+I<01F00007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0E000
+E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803801C07
+001F1F000FFE0007FC0001F000131C7E9B18>48 D<01800380038007800F803F80FF80FB
+80438003800380038003800380038003800380038003800380038003800380038003807F
+FCFFFE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000E0
+6000E00000E00000E00001C00001C00003C0000780000F00001E00003C0000780000F000
+01E00007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<07F8001FFE
+003FFF007807807803C07801C03001C00001C00003C0000380000F0003FF0003FE0003FF
+000007800003C00001C00000E00000E00000E0F000E0F000E0F001C0F003C07C07803FFF
+001FFE0003F800131C7E9B18>I<001F00003F0000770000770000E70001E70001C70003
+87000787000707000E07001E07003C0700380700780700F00700FFFFF8FFFFF8FFFFF800
+0700000700000700000700000700000700007FF000FFF8007FF0151C7F9B18>I<1FFF80
+3FFF803FFF803800003800003800003800003800003800003800003800003BF8003FFE00
+3FFF003C07801803C00001C00000E00000E06000E0F000E0F000E0E001C07003C07C0F80
+3FFF001FFC0003F000131C7E9B18>I<007E0001FF0007FF800F83C01E03C01C03C03801
+80380000700000700000E1F800E7FE00FFFF00FE0780F803C0F001C0F000E0E000E0F000
+E07000E07000E07000E03801C03C03C01E07800FFF0007FE0001F800131C7E9B18>I<E0
+0000FFFFE0FFFFE0FFFFE0E003C0E00780000700000E00001E00001C0000380000380000
+700000700000E00000E00000E00001C00001C00001C00001C00003C00003800003800003
+8000038000038000038000038000131D7E9C18>I<03F8000FFE001FFF003E0F80380380
+7001C07001C07001C07001C03803803C07801FFF0007FC000FFE001F1F003C07807001C0
+F001E0E000E0E000E0E000E0E000E07001C07803C03E0F801FFF000FFE0003F800131C7E
+9B18>I<03F0000FFC001FFE003C0F00780780700380E001C0E001C0E001C0E001E0E001
+E07001E07803E03C0FE01FFFE00FFEE003F0E00000E00001C00001C00001C03003807807
+80780F00783E003FFC001FF00007C000131C7E9B18>I<3078FCFC783000000000000000
+003078FCFC78300614779318>I<183C7E7E3C180000000000000000183C7E7E3E1E0E1C
+3C78F060071A789318>I<000300000780001F80003F00007E0001FC0003F00007E0001F
+C0003F00007E0000FC0000FC00007E00003F00001FC00007E00003F00001FC00007E0000
+3F00001F8000078000030011187D9918>I<7FFFC0FFFFE0FFFFE0FFFFE0000000000000
+000000000000FFFFE0FFFFE0FFFFE07FFFC0130C7E9318>I<600000F00000FC00007E00
+003F00001FC00007E00003F00001FC00007E00003F00001F80001F80003F00007E0001FC
+0003F00007E0001FC0003F00007E0000FC0000F0000060000011187D9918>I<007C0001
+FE0007FF000F87801E03C03C1DC0387FC070FFE071E3E071C1E0E1C1E0E380E0E380E0E3
+80E0E380E0E380E0E380E0E1C1C071C1C071E3C070FF80387F003C1C001E00E00F83E007
+FFC001FF80007E00131C7E9B18>64 D<00700000F80000F80000D80000D80001DC0001DC
+0001DC00018C00038E00038E00038E00038E000306000707000707000707000707000FFF
+800FFF800FFF800E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>I<FF
+FC00FFFF00FFFF801C03C01C01C01C00E01C00E01C00E01C00E01C01E01C01C01C07C01F
+FF801FFF001FFFC01C03C01C00E01C00F01C00701C00701C00701C00701C00F01C00E01C
+03E0FFFFC0FFFF80FFFE00141C7F9B18>I<00F8E003FEE007FFE00F07E01E03E03C01E0
+3800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E00000E00000
+7000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B18>
+I<FFFFF0FFFFF0FFFFF01C00701C00701C00701C00701C00001C00001C0E001C0E001C0E
+001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C00381C00381C00381C00
+381C0038FFFFF8FFFFF8FFFFF8151C7F9B18>69 D<FFFFE0FFFFE0FFFFE01C00E01C00E0
+1C00E01C00E01C00001C00001C1C001C1C001C1C001FFC001FFC001FFC001C1C001C1C00
+1C1C001C00001C00001C00001C00001C00001C00001C0000FFC000FFC000FFC000131C7E
+9B18>I<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000E000
+00E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C03803
+C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01C01C
+01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C
+01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07F015
+1C7F9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C000
+01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
+01C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>I<7F07F0FF87F87F07F01C03
+C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB8001FB8
+001F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F87F03
+F0151C7F9B18>75 D<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E0000
+0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0070
+0E00700E00700E00700E00707FFFF0FFFFF07FFFF0141C7F9B18>I<FC01F8FE03F8FE03
+F83B06E03B06E03B06E03B06E03B8EE03B8EE0398CE0398CE039DCE039DCE039DCE038D8
+E038D8E038F8E03870E03870E03800E03800E03800E03800E03800E03800E0FE03F8FE03
+F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1C01C
+C1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19C01C
+19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FF8003FFE00
+7FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380E00380E00380
+E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F007FFF00
+3FFE000FF800111C7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C00701C00
+701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C00001C00
+001C00001C00001C00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<7FF800FF
+FE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001F
+FE001FFE001C0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C039C7F
+01F8FF81F87F00F0161C7F9B18>82 D<03F3801FFF803FFF807C0F80700780E00380E003
+80E00380E000007000007800003F00001FF00007FE0000FF00000F800003C00001C00000
+E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>I<7F
+FFF8FFFFF8FFFFF8E07038E07038E07038E0703800700000700000700000700000700000
+700000700000700000700000700000700000700000700000700000700000700000700000
+700007FF0007FF0007FF00151C7F9B18>I<FF07F8FF07F8FF07F81C01C01C01C01C01C0
+1C01C00E03800E03800E03800E03800F0780070700070700070700070700038E00038E00
+038E00038E00018C0001DC0001DC0001DC0000D80000F80000F800007000151C7F9B18>
+86 D<FE03F8FE03F8FE03F87000707000707000703800E03800E03800E03800E03800E0
+38F8E038F8E039DCE039DCE019DCC019DCC019DCC0198CC01D8DC01D8DC01D8DC01D8DC0
+0D8D800D05800F07800F07800E0380151C7F9B18>I<7F8FE07F9FE07F8FE00E07000F07
+00070E00078E00039C0003DC0001F80001F80000F00000F00000700000F00000F80001F8
+0001DC00039E00038E00070F000707000E07800E03801E03C07F07F0FF8FF87F07F0151C
+7F9B18>I<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E000E0
+00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FF
+F8FFF8FFF80D24779F18>91 D<600000F00000F00000F800007800007C00003C00003C00
+003E00001E00001F00000F00000F00000F800007800007C00003C00003C00003E00001E0
+0001F00000F00000F800007800007800007C00003C00003E00001E00001E00001F00000F
+00000F8000078000078000030011247D9F18>I<FFF8FFF8FFF800380038003800380038
+003800380038003800380038003800380038003800380038003800380038003800380038
+0038003800380038003800380038FFF8FFF8FFF80D247F9F18>I<018007C01FF07EFCF8
+3EE00E0F067C9B18>I<7FFF00FFFF80FFFF807FFF0011047D7F18>I<1FE0003FF8007FFC
+00781E00300E0000070000070000FF0007FF001FFF007F0700780700E00700E00700E007
+00F00F00781F003FFFF01FFBF007E1F014147D9318>97 D<7E0000FE00007E00000E0000
+0E00000E00000E00000E00000E3E000EFF800FFFC00FC1E00F80E00F00700E00700E0038
+0E00380E00380E00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF80063E00
+151C809B18>I<01FE0007FF001FFF803E0780380300700000700000E00000E00000E000
+00E00000E00000E000007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318
+>I<001F80003F80001F8000038000038000038000038000038003E3800FFB801FFF803C
+1F80380F80700780700380E00380E00380E00380E00380E00380E0038070078070078038
+0F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F00007FC001FFE003E0F00380780
+700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001C03801C03E03C0
+1FFF8007FF0001FC0012147D9318>I<001F80007FC000FFE000E1E001C0C001C00001C0
+0001C0007FFFC0FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001C0
+0001C00001C00001C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01
+E1F007FFF80FFFF81E1E301C0E003807003807003807003807003807001C0E001E1E001F
+FC001FF80039E0003800001C00001FFE001FFFC03FFFE07801F0700070E00038E00038E0
+0038E000387800F07E03F01FFFC00FFF8001FC00151F7F9318>I<7E0000FE00007E0000
+0E00000E00000E00000E00000E00000E3E000EFF800FFFC00FC1C00F80E00F00E00E00E0
+0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE
+7FC3FC171C809B18>I<03800007C00007C00007C0000380000000000000000000000000
+007FC000FFC0007FC00001C00001C00001C00001C00001C00001C00001C00001C00001C0
+0001C00001C00001C00001C00001C000FFFF00FFFF80FFFF00111D7C9C18>I<0038007C
+007C007C003800000000000000000FFC1FFC0FFC001C001C001C001C001C001C001C001C
+001C001C001C001C001C001C001C001C001C001C001C001C001C001C6038F078FFF07FE0
+3F800E277E9C18>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E3FF0
+0E7FF00E3FF00E07800E0F000E1E000E3C000E78000EF0000FF8000FFC000F9C000F0E00
+0E0F000E07000E03800E03C0FFC7F8FFC7F8FFC7F8151C7F9B18>I<7FE000FFE0007FE0
+0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0
+0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0007FFFC0FFFF
+E07FFFC0131C7E9B18>I<7CE0E000FFFBF8007FFFF8001F1F1C001E1E1C001E1E1C001C
+1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C
+1C1C001C1C1C007F1F1F00FFBFBF807F1F1F001914819318>I<7E3E00FEFF807FFFC00F
+C1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
+00E00E00E07FC3FCFFE7FE7FC3FC1714809318>I<01F0000FFE001FFF003E0F80380380
+7001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C07803E0F80
+1FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1E00F80E00F00700E00
+700E00380E00380E00380E00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF
+800E3E000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC000151E
+809318>I<7F87E0FF9FF07FBFF803F87803F03003E00003C00003C00003800003800003
+80000380000380000380000380000380000380007FFE00FFFF007FFE0015147F9318>
+114 D<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC0003FE00
+001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I<0180
+000380000380000380000380007FFFC0FFFFC0FFFFC00380000380000380000380000380
+000380000380000380000380000380400380E00380E00380E001C1C001FFC000FF80003E
+0013197F9818>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E00E00E00E
+00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC17148093
+18>I<7F8FF0FF8FF87F8FF01E03C00E03800E03800E0380070700070700070700038E00
+038E00038E00038E0001DC0001DC0001DC0000F80000F80000700015147F9318>I<FF8F
+F8FF8FF8FF8FF83800E03800E03800E01C01C01C01C01C71C01CF9C01CF9C01CD9C01CD9
+C00DDD800DDD800DDD800D8D800F8F800F8F8007070015147F9318>I<7F8FF07F9FF07F
+8FF0070700078E00039E0001DC0001F80000F80000700000F00000F80001DC00039E0003
+8E000707000F07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8FF00E01C0
+0E03800E0380070380070700070700038700038600038E0001CE0001CE0000CC0000CC00
+00DC0000780000780000780000700000700000700000F00000E00079E0007BC0007F8000
+3F00001E0000151E7F9318>I<3FFFF07FFFF07FFFF07001E07003C0700780000F00001E
+00003C0000F80001F00003C0000780000F00701E00703C0070780070FFFFF0FFFFF0FFFF
+F014147F9318>I<0007E0001FE0007FE000780000E00000E00000E00000E00000E00000
+E00000E00000E00000E00000E00000E00001E0007FC000FF8000FF80007FC00001E00000
+E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000780000
+7FE0001FE00007E013247E9F18>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
+F0F0F0F0F0F0F0F0F0F0F0F0F0F0600424769F18>I<7C0000FF0000FFC00003C00000E0
+0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000F000007F
+C0003FE0003FE0007FC000F00000E00000E00000E00000E00000E00000E00000E00000E0
+0000E00000E00000E00003C000FFC000FF00007C000013247E9F18>I
+E /Fr 4 107 df<FFFFFFC0FFFFFFC01A027C8B23>0 D<70F8F8F87005057C8D0D>I<00
+01FE00000007FF8000001E01E000007800780000E0001C00018000060003000003000600
+0001800C000000C00C000000C01800000060300000003030000000303000000030600000
+001860000000186000000018C00000000CC00000000CC00000000CC00000000CC0000000
+0CC00000000CC00000000CC00000000CC00000000C600000001860000000186000000018
+30000000303000000030300000003018000000600C000000C00C000000C0060000018003
+00000300018000060000E0001C000078007800001E01E0000007FF80000001FE0000262B
+7DA02D>13 D<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0022D7BA10D>106 D E /Fs
+58 123 df<0001FF0000001FFFC000007F81E00000FC01E00001F807F00003F807F00007
+F007F00007F007F00007F007F00007F007F00007F001C00007F000000007F000000007F0
+00000007F03FF800FFFFFFF800FFFFFFF800FFFFFFF80007F003F80007F003F80007F003
+F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F8
+0007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F800
+07F003F80007F003F80007F003F80007F003F8007FFF3FFF807FFF3FFF807FFF3FFF8021
+2A7FA925>12 D<3C007F00FF80FF80FFC0FFC0FFC07FC03EC000C000C001800180018003
+00030006000E001C00380030000A157B8813>44 D<1C007F007F00FF80FF80FF807F007F
+001C0009097B8813>46 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000
+FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
+FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
+FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>49
+D<00FF800007FFF0000FFFFC001E03FE003800FF807C003F80FE003FC0FF001FC0FF001F
+E0FF000FE0FF000FE07E000FE03C001FE000001FE000001FC000001FC000003F8000003F
+0000007E000000FC000000F8000001F0000003E00000078000000F0000001E0000003C00
+E0007000E000E000E001C001C0038001C0060001C00FFFFFC01FFFFFC03FFFFFC07FFFFF
+C0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC000F80FE00
+1F007F003F807F003F803F803F803F803F803F801F803F801F003F8000007F0000007F00
+00007E000000FC000001F8000007F00000FFC00000FFC0000001F80000007E0000003F00
+00003F8000001FC000001FC000001FE000001FE03C001FE07E001FE0FF001FE0FF001FE0
+FF001FC0FF003FC0FE003F807C007F003F00FE001FFFFC0007FFF00000FF80001B277DA6
+22>I<00000E0000001E0000003E0000007E000000FE000000FE000001FE000003FE0000
+077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E0001C07E0003
+807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFFFFF8FF
+FFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
+00FE00007FFFF8007FFFF8007FFFF81D277EA622>I<180003001F801F001FFFFE001FFF
+FC001FFFF8001FFFF0001FFFC0001FFF00001C0000001C0000001C0000001C0000001C00
+00001C0000001C0000001C7FC0001DFFF8001F80FC001E003F0008003F0000001F800000
+1FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE00
+1FC0FC001FC078003F8078003F803C007F001F01FE000FFFFC0003FFF00000FF80001B27
+7DA622>I<0007F800003FFE0000FFFF0001FC078003F00FC007C01FC00F801FC01F801F
+C01F001FC03F000F803F0000007E0000007E0000007E000000FE020000FE1FF000FE3FFC
+00FE603E00FE801F00FF801F80FF000FC0FF000FC0FE000FE0FE000FE0FE000FE0FE000F
+E07E000FE07E000FE07E000FE07E000FE03E000FE03F000FC01F000FC01F001F800F801F
+0007E07E0003FFFC0001FFF800003FC0001B277DA622>I<380000003E0000003FFFFFF0
+3FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFF807FFFFF0070000E0070000E0070001C00
+E0003800E0007000E000E0000001E0000001C000000380000007800000070000000F0000
+001F0000001E0000003E0000003E0000007E0000007C0000007C000000FC000000FC0000
+00FC000000FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0000
+00F80000007000001C297CA822>I<003FC00001FFF00003FFFC0007C07E000F003F001E
+001F001E000F803E000F803E000F803F000F803F800F803FC00F803FF01F001FFC1E001F
+FE3C000FFFF8000FFFE00007FFF80001FFFC0001FFFE0007FFFF000F0FFF801E03FFC03E
+01FFC07C007FE07C001FE0F8000FE0F80007E0F80003E0F80003E0F80003E0F80003C07C
+0003C07E0007803F000F001FC03F000FFFFC0003FFF800007FC0001B277DA622>I<007F
+800001FFF00007FFF8000FC0FC001F803E003F001F007E001F807E001F807E000F80FE00
+0FC0FE000FC0FE000FC0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE07E001FE07E00
+1FE03F003FE01F002FE00F80CFE007FF8FE001FF0FE000080FE000000FC000000FC00000
+0FC000001F803E001F807F001F807F003F007F003E007F007E007E00FC003E03F8001FFF
+E0000FFF800001FE00001B277DA622>I<00000780000000000780000000000FC0000000
+000FC0000000000FC0000000001FE0000000001FE0000000003FF0000000003FF0000000
+003FF00000000077F80000000077F800000000F7FC00000000E3FC00000000E3FC000000
+01C1FE00000001C1FE00000003C1FF0000000380FF0000000380FF00000007007F800000
+07007F8000000F007FC000000E003FC000000E003FC000001C001FE000001C001FE00000
+3FFFFFF000003FFFFFF000003FFFFFF00000700007F80000700007F80000F00007FC0000
+E00003FC0000E00003FC0001C00001FE0001C00001FE0003C00001FF00FFFE003FFFFCFF
+FE003FFFFCFFFE003FFFFC2E297EA833>65 D<FFFFFFF800FFFFFFFF00FFFFFFFFC003F8
+001FE003F8000FF003F80007F803F80003F803F80003FC03F80003FC03F80001FC03F800
+01FC03F80001FC03F80003FC03F80003F803F80003F803F80007F003F8000FF003F8001F
+C003F800FF8003FFFFFE0003FFFFFFC003F8000FF003F80003F803F80001FC03F80001FE
+03F80000FE03F80000FE03F80000FF03F80000FF03F80000FF03F80000FF03F80000FF03
+F80000FF03F80000FE03F80001FE03F80003FC03F80007FC03F8001FF8FFFFFFFFE0FFFF
+FFFFC0FFFFFFFE0028297DA830>I<00007FE0030007FFFC07001FFFFF0F007FF00F9F00
+FF0001FF01FC0000FF03F800007F07F000003F0FE000001F1FC000001F1FC000000F3F80
+00000F3F800000077F800000077F800000077F00000000FF00000000FF00000000FF0000
+0000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000
+007F800000007F800000073F800000073F800000071FC00000071FC000000E0FE000000E
+07F000001C03F800003C01FC00007800FF0001F0007FF007C0001FFFFF800007FFFE0000
+007FF00028297CA831>I<FFFFFFFC0000FFFFFFFF8000FFFFFFFFE00003FC001FF80003
+FC0003FC0003FC0000FE0003FC00007F0003FC00003F8003FC00001FC003FC00001FC003
+FC00000FE003FC00000FE003FC000007F003FC000007F003FC000007F003FC000007F003
+FC000007F803FC000007F803FC000007F803FC000007F803FC000007F803FC000007F803
+FC000007F803FC000007F803FC000007F803FC000007F803FC000007F003FC000007F003
+FC000007F003FC00000FE003FC00000FE003FC00000FC003FC00001FC003FC00003F8003
+FC00007F0003FC0000FF0003FC0003FC0003FC001FF800FFFFFFFFF000FFFFFFFF8000FF
+FFFFFC00002D297EA834>I<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC0007
+F003FC0001F003FC0001F003FC0000F003FC00007003FC00007003FC00007003FC01C078
+03FC01C03803FC01C03803FC01C03803FC03C00003FC03C00003FC0FC00003FFFFC00003
+FFFFC00003FFFFC00003FC0FC00003FC03C00003FC03C00003FC01C00E03FC01C00E03FC
+01C00E03FC01C01C03FC00001C03FC00001C03FC00001C03FC00003C03FC00003803FC00
+007803FC0000F803FC0001F803FC0003F803FC001FF8FFFFFFFFF0FFFFFFFFF0FFFFFFFF
+F027297EA82C>I<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC003FC000FE003FC00
+03E003FC0001E003FC0001E003FC0000E003FC0000E003FC0000E003FC0000F003FC01C0
+7003FC01C07003FC01C07003FC01C00003FC03C00003FC03C00003FC0FC00003FFFFC000
+03FFFFC00003FFFFC00003FC0FC00003FC03C00003FC03C00003FC01C00003FC01C00003
+FC01C00003FC01C00003FC00000003FC00000003FC00000003FC00000003FC00000003FC
+00000003FC00000003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000024297E
+A82A>I<00007FE003000007FFFC0700001FFFFF0F00007FF00F9F0000FF0001FF0001FC
+0000FF0003F800007F0007F000003F000FE000001F001FC000001F001FC000000F003F80
+00000F003F80000007007F80000007007F80000007007F0000000000FF0000000000FF00
+00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
+00000000FF0000FFFFF87F0000FFFFF87F8000FFFFF87F800000FF003F800000FF003F80
+0000FF001FC00000FF001FC00000FF000FE00000FF0007F00000FF0003F80000FF0001FC
+0000FF0000FF0001FF00007FF007FF00001FFFFF9F000007FFFE0F0000007FF003002D29
+7CA835>I<FFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFF03FC00003FC003FC00003FC003
+FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003
+FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003
+FC00003FC003FFFFFFFFC003FFFFFFFFC003FFFFFFFFC003FC00003FC003FC00003FC003
+FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003
+FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003FC00003FC003
+FC00003FC003FC00003FC003FC00003FC0FFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFF30
+297EA835>I<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001FE0001FE00
+01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
+01FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE00
+01FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297FA819>I<FFFFF001FFFCFFFF
+F001FFFCFFFFF001FFFC03FC00001E0003FC00003C0003FC0000780003FC0000F00003FC
+0001E00003FC0003C00003FC0007000003FC001E000003FC003C000003FC0078000003FC
+00F0000003FC01E0000003FC0380000003FC07C0000003FC1FC0000003FC3FE0000003FC
+7FF0000003FCFFF8000003FDE7F8000003FF83FC000003FF03FE000003FE01FF000003FC
+00FF000003FC007F800003FC007FC00003FC003FE00003FC001FE00003FC000FF00003FC
+000FF80003FC0007F80003FC0003FC0003FC0001FE0003FC0001FF0003FC0000FF0003FC
+00007F80FFFFF00FFFFEFFFFF00FFFFEFFFFF00FFFFE2F297EA835>75
+D<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003FC00000003FC000000
+03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
+FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
+00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C003FC0001C003FC00
+03C003FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F8003FC001F
+8003FC007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF0022297EA828>I<FFFE00
+00003FFF80FFFE0000003FFF80FFFF0000007FFF8003FF0000007FE00003FF0000007FE0
+0003BF800000EFE00003BF800000EFE000039FC00001CFE000039FC00001CFE000038FE0
+00038FE000038FE000038FE000038FE000038FE0000387F000070FE0000387F000070FE0
+000383F8000E0FE0000383F8000E0FE0000381FC001C0FE0000381FC001C0FE0000381FC
+001C0FE0000380FE00380FE0000380FE00380FE00003807F00700FE00003807F00700FE0
+0003803F80E00FE00003803F80E00FE00003803F80E00FE00003801FC1C00FE00003801F
+C1C00FE00003800FE3800FE00003800FE3800FE000038007F7000FE000038007F7000FE0
+00038007F7000FE000038003FE000FE000038003FE000FE000038001FC000FE000038001
+FC000FE000038000F8000FE000FFFE00F803FFFF80FFFE00F803FFFF80FFFE007003FFFF
+8039297DA840>I<FFFC00007FFFFFFE00007FFFFFFF00007FFF03FF800001C003FFC000
+01C003BFE00001C0039FE00001C0039FF00001C0038FF80001C00387FC0001C00383FE00
+01C00381FF0001C00380FF8001C003807F8001C003807FC001C003803FE001C003801FF0
+01C003800FF801C0038007FC01C0038003FC01C0038003FE01C0038001FF01C0038000FF
+81C00380007FC1C00380003FE1C00380001FF1C00380000FF1C00380000FF9C003800007
+FDC003800003FFC003800001FFC003800000FFC0038000007FC0038000007FC003800000
+3FC0038000001FC0038000000FC00380000007C0FFFE000003C0FFFE000001C0FFFE0000
+01C030297EA835>I<0000FFC00000000FFFFC0000003F807F000000FE001FC00001F800
+07E00003F00003F00007E00001F8000FE00001FC001FC00000FE001FC00000FE003F8000
+007F003F8000007F007F8000007F807F0000003F807F0000003F807F0000003F80FF0000
+003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000
+003FC0FF0000003FC0FF0000003FC0FF0000003FC07F0000003F807F8000007F807F8000
+007F803F8000007F003F8000007F001FC00000FE001FC00000FE000FE00001FC0007F000
+03F80003F80007F00001FC000FE00000FE001FC000003FC0FF0000000FFFFC00000000FF
+C000002A297CA833>I<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC0007F003
+FC0003F803FC0003FC03FC0001FC03FC0001FE03FC0001FE03FC0001FE03FC0001FE03FC
+0001FE03FC0001FE03FC0001FE03FC0001FC03FC0003FC03FC0003F803FC0007F003FC00
+3FE003FFFFFF8003FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC0000
+0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000
+03FC00000003FC00000003FC00000003FC000000FFFFF00000FFFFF00000FFFFF0000027
+297EA82E>I<FFFFFFE00000FFFFFFFE0000FFFFFFFF800003FC003FE00003FC000FF000
+03FC0007F80003FC0003FC0003FC0001FC0003FC0001FE0003FC0001FE0003FC0001FE00
+03FC0001FE0003FC0001FE0003FC0001FE0003FC0001FC0003FC0003F80003FC0007F800
+03FC000FE00003FC003FC00003FFFFFE000003FFFFFE000003FC00FF800003FC003FC000
+03FC001FE00003FC000FF00003FC0007F80003FC0007F80003FC0007F80003FC0007F800
+03FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80E
+03FC0007F80E03FC0003F80E03FC0001FC1CFFFFF000FE1CFFFFF0007FF8FFFFF0000FE0
+2F297EA832>82 D<00FF00C003FFE1C00FFFF9C01F80FFC03F003FC03E000FC07C0007C0
+7C0007C0FC0003C0FC0003C0FC0001C0FE0001C0FE0001C0FF000000FFC000007FFC0000
+7FFFE0003FFFF8001FFFFE001FFFFF0007FFFF8003FFFFC000FFFFC0000FFFE000007FE0
+00001FF000000FF0000007F0E00003F0E00003F0E00003F0E00003F0F00003E0F00003E0
+F80007E0FC0007C0FF000F80FFE01F80E3FFFF00E1FFFC00C01FF0001C297CA825>I<7F
+FFFFFFFF807FFFFFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F80078078
+007F80078070007F800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F8001C0E0
+007F8001C0E0007F8001C0E0007F8001C000007F80000000007F80000000007F80000000
+007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000
+007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000
+007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000
+007F80000000FFFFFFC00000FFFFFFC00000FFFFFFC0002A287EA72F>I<FFFFF000FFFE
+FFFFF000FFFEFFFFF000FFFE03FC0000038003FC0000038003FC0000038003FC00000380
+03FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC00000380
+03FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC00000380
+03FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC00000380
+03FC0000038003FC0000038003FC0000038003FC0000038003FC0000038003FC00000380
+01FC0000070001FE0000070000FE00000E00007F00000E00003F00003C00001FC0007800
+000FF003F0000007FFFFE0000000FFFF800000001FFC00002F297EA834>I<FFFFF0007F
+FFFFFFF0007FFFFFFFF0007FFF03FE000001C001FE0000038001FE0000038000FF000007
+0000FF0000070000FF80000F00007F80000E00007FC0000E00003FC0001C00003FE0001C
+00001FE0003800001FE0003800001FF0007800000FF0007000000FF800F0000007F800E0
+000007FC00E0000003FC01C0000003FC01C0000003FE03C0000001FE0380000001FF0780
+000000FF0700000000FF87000000007F8E000000007F8E000000007FDE000000003FDC00
+0000003FFC000000001FF8000000001FF8000000000FF0000000000FF0000000000FF000
+00000007E00000000007E00000000003C00000000003C0000030297FA833>I<FFFFE0FF
+FFE01FFFC0FFFFE0FFFFE01FFFC0FFFFE0FFFFE01FFFC003FC0003FC0000700003FC0003
+FC0000700003FE0003FE0000F00001FE0001FE0000E00001FE0001FE0000E00001FF0001
+FF0001E00000FF0001FF0001C00000FF0001FF0001C000007F8003FF80038000007F8003
+FF80038000007FC007FFC0078000003FC0073FC0070000003FC0073FC0070000003FE00F
+3FE00F0000001FE00E1FE00E0000001FE00E1FE00E0000000FF01C0FF01C0000000FF01C
+0FF01C0000000FF01C0FF81C00000007F83807F83800000007F83807F83800000007FC78
+07FC7800000003FC7003FC7000000003FC7003FC7000000003FEF003FEF000000001FEE0
+01FEE000000001FEE001FEE000000000FFC000FFC000000000FFC000FFC000000000FFC0
+00FFC0000000007F80007F80000000007F80007F80000000007F80007F80000000003F00
+003F00000000003F00003F00000000003F00003F00000000001E00001E00000000001E00
+001E00000042297FA845>I<7FFFF81FFFE07FFFF81FFFE07FFFF81FFFE001FF0000F000
+00FF8001E00000FFC001C000007FC003C000003FE0078000001FF00F0000001FF00E0000
+000FF81E00000007FC3C00000007FC3800000003FE7800000001FFF000000001FFE00000
+0000FFC0000000007FC0000000003FE0000000003FE0000000001FF0000000001FF80000
+00003FF8000000003FFC000000007BFE00000000F3FE00000001E1FF00000001C0FF8000
+0003C07FC0000007807FC000000F003FE000000E001FF000001E001FF000003C000FF800
+00380007FC0000780007FC0000F00003FE0001E00001FF00FFFF003FFFFCFFFF003FFFFC
+FFFF003FFFFC2E297EA833>I<03FF80000FFFF0001F01FC003F80FE003F807F003F803F
+003F803F801F003F8000003F8000003F8000003F8000003F80003FFF8001FC3F800FE03F
+801F803F803F003F807E003F80FC003F80FC003F80FC003F80FC003F80FC005F807E00DF
+803F839FFC1FFE0FFC03F803FC1E1B7E9A21>97 D<FFE00000FFE00000FFE000000FE000
+000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000
+000FE000000FE000000FE1FE000FE7FF800FFE07E00FF803F00FF001F80FE000FC0FE000
+FC0FE0007E0FE0007E0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE000
+7F0FE0007F0FE0007E0FE0007E0FE0007E0FE000FC0FE000FC0FF001F80FF803F00F9C0F
+E00F0FFF800E01FC00202A7EA925>I<003FF00001FFFC0003F03E000FC07F001F807F00
+3F007F003F007F007F003E007E0000007E000000FE000000FE000000FE000000FE000000
+FE000000FE000000FE0000007E0000007E0000007F0000003F0003803F8003801F800700
+0FE00E0003F83C0001FFF800003FC000191B7E9A1E>I<00007FF000007FF000007FF000
+0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+0007F0000007F0000007F0003F87F001FFF7F007F03FF00FC00FF01F8007F03F0007F03F
+0007F07E0007F07E0007F07E0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE
+0007F0FE0007F0FE0007F07E0007F07E0007F03F0007F03F0007F01F800FF00FC01FF007
+E07FFF01FFE7FF007F87FF202A7EA925>I<003FC00001FFF00003E07C000F803E001F80
+1F001F001F003F000F807E000F807E000FC07E000FC0FE0007C0FE0007C0FFFFFFC0FFFF
+FFC0FE000000FE000000FE0000007E0000007E0000007F0000003F0001C01F0001C00F80
+038007C0070003F01E0000FFFC00003FE0001A1B7E9A1F>I<0007F8003FFC007E3E01FC
+7F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFF
+C0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0
+0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF
+807FFF807FFF80182A7EA915>I<007F80F001FFE3F807C0FE1C0F807C7C1F003E7C1F00
+3E103F003F003F003F003F003F003F003F003F003F003F003F001F003E001F003E000F80
+7C0007C0F80005FFE0000C7F8000180000001C0000001C0000001E0000001FFFF8001FFF
+FF000FFFFFC007FFFFE003FFFFF00FFFFFF03E0007F07C0001F8F80000F8F80000F8F800
+00F8F80000F87C0001F07C0001F03F0007E00FC01F8007FFFF00007FF0001E287E9A22>
+I<FFE00000FFE00000FFE000000FE000000FE000000FE000000FE000000FE000000FE000
+000FE000000FE000000FE000000FE000000FE000000FE000000FE07E000FE1FF800FE30F
+C00FE40FE00FE807E00FF807F00FF007F00FF007F00FE007F00FE007F00FE007F00FE007
+F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007
+F00FE007F00FE007F00FE007F0FFFE3FFFFFFE3FFFFFFE3FFF202A7DA925>I<07000F80
+1FC03FE03FE03FE01FC00F8007000000000000000000000000000000FFE0FFE0FFE00FE0
+0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
+0FE00FE0FFFEFFFEFFFE0F2B7EAA12>I<FFE00000FFE00000FFE000000FE000000FE000
+000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000
+000FE000000FE03FF80FE03FF80FE03FF80FE007000FE00E000FE03C000FE078000FE0F0
+000FE1E0000FE3C0000FE780000FEFC0000FFFE0000FFFE0000FF7F0000FE3F8000FC1FC
+000FC1FC000FC0FE000FC07F000FC07F000FC03F800FC01FC00FC01FC0FFFC7FFCFFFC7F
+FCFFFC7FFC1E2A7EA923>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE0
+0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
+0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7EA912>I<FFC07F
+001FC000FFC1FFC07FF000FFC307E0C1F8000FC407F101FC000FC803F200FC000FD803FE
+00FE000FD003FC00FE000FD003FC00FE000FE003F800FE000FE003F800FE000FE003F800
+FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE
+000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE00
+0FE003F800FE000FE003F800FE000FE003F800FE00FFFE3FFF8FFFE0FFFE3FFF8FFFE0FF
+FE3FFF8FFFE0331B7D9A38>I<FFC07E00FFC1FF80FFC30FC00FC40FE00FC807E00FD807
+F00FD007F00FD007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007
+F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007
+F0FFFE3FFFFFFE3FFFFFFE3FFF201B7D9A25>I<003FE00001FFFC0003F07E000FC01F80
+1F800FC03F0007E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8
+FE0003F8FE0003F8FE0003F8FE0003F8FE0003F87E0003F07E0003F03F0007E03F0007E0
+1F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>I<FFE1FE00FFE7FF80FF
+FE0FE00FF803F00FF001F80FE001FC0FE000FC0FE000FE0FE000FE0FE0007F0FE0007F0F
+E0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007E0FE000FE0FE000FE0F
+E000FC0FE001FC0FF001F80FF803F00FFC0FE00FEFFF800FE1FC000FE000000FE000000F
+E000000FE000000FE000000FE000000FE000000FE000000FE00000FFFE0000FFFE0000FF
+FE000020277E9A25>I<FFC3E0FFC7F8FFCC7C0FD8FE0FD0FE0FD0FE0FF0FE0FE07C0FE0
+000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0
+000FE0000FE0000FE000FFFF00FFFF00FFFF00171B7E9A1B>114
+D<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FE0000FFE0007FFF007FFF
+C03FFFE01FFFF007FFF800FFF80007FC0000FCE0007CE0003CF0003CF00038F80038FC00
+70FF01E0E7FFC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000
+F00001F00003F00003F00007F0001FFFE0FFFFE0FFFFE007F00007F00007F00007F00007
+F00007F00007F00007F00007F00007F00007F00007F00007F00007F07007F07007F07007
+F07007F07007F07007F07003F0E001F8C000FFC0003F0014267FA51A>I<FFE07FF0FFE0
+7FF0FFE07FF00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE0
+07F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE0
+07F00FE007F00FE00FF00FE00FF007E017F003F067FF01FFC7FF007F87FF201B7D9A25>
+I<FFFE07FFFFFE07FFFFFE07FF07F000E007F000E007F801E003F801C003F801C001FC03
+8001FC038001FE078000FE070000FF0F00007F0E00007F0E00003F9C00003F9C00003FFC
+00001FF800001FF800000FF000000FF000000FF0000007E0000007E0000003C0000003C0
+00201B7F9A23>I<FFFC7FFC1FFCFFFC7FFC1FFCFFFC7FFC1FFC0FE00FE001C007F007E0
+038007F007E0038007F807F0078003F807F0070003F807F8070001FC0FF80E0001FC0FF8
+0E0001FE1FFC1E0000FE1CFC1C0000FE1CFE1C0000FF387E3C00007F387E3800007F787F
+3800003FF03F7000003FF03F7000003FE01FF000001FE01FE000001FE01FE000000FC00F
+C000000FC00FC000000FC00FC0000007800780000007800780002E1B7F9A31>I<FFFC1F
+FEFFFC1FFEFFFC1FFE07F0078003F8070001FC0F0001FE1E0000FE3C00007F7800003FF8
+00003FF000001FE000000FE0000007F0000007F800000FF800001FFC00003DFE000038FF
+0000787F0000F03F8001E03FC003C01FE003800FE0FFF03FFFFFF03FFFFFF03FFF201B7F
+9A23>I<FFFE07FFFFFE07FFFFFE07FF07F000E007F000E007F801E003F801C003F801C0
+01FC038001FC038001FE078000FE070000FF0F00007F0E00007F0E00003F9C00003F9C00
+003FFC00001FF800001FF800000FF000000FF0000007F0000007E0000007E0000003C000
+0003C000000380000003800000078000380700007C070000FE0E0000FE0E0000FE1C0000
+FE3800007C7000003FE000000F80000020277F9A23>I<3FFFFF3FFFFF3F00FE3C01FE38
+03FC7803F87807F0700FF0700FE0701FC0003FC0003F80007F0000FF0000FE0001FC0703
+FC0703F80707F0070FF00F0FE00F1FC00E3FC01E7F803E7F00FEFFFFFEFFFFFE181B7E9A
+1E>I E /Ft 81 125 df<001F83E000F06E3001C078780380F8780300F0300700700007
+0070000700700007007000070070000700700007007000FFFFFF80070070000700700007
+007000070070000700700007007000070070000700700007007000070070000700700007
+0070000700700007007000070070000700700007007000070070007FE3FF001D20809F1B
+>11 D<003F0000E0C001C0C00381E00701E00701E0070000070000070000070000070000
+070000FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0
+0700E00700E00700E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003F
+E000E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700E00700E0FFFF
+E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700
+E00700E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<001F81F80000F0
+4F040001C07C06000380F80F000300F00F000700F00F0007007000000700700000070070
+0000070070000007007000000700700000FFFFFFFF000700700700070070070007007007
+000700700700070070070007007007000700700700070070070007007007000700700700
+070070070007007007000700700700070070070007007007000700700700070070070007
+007007007FE3FE3FF02420809F26>I<7038F87CFC7EFC7E743A04020402040208040804
+10081008201040200F0E7E9F17>34 D<70F8FCFC74040404080810102040060E7C9F0D>
+39 D<0020004000800100020006000C000C001800180030003000300070006000600060
+00E000E000E000E000E000E000E000E000E000E000E000E0006000600060007000300030
+003000180018000C000C000600020001000080004000200B2E7DA112>I<800040002000
+100008000C00060006000300030001800180018001C000C000C000C000E000E000E000E0
+00E000E000E000E000E000E000E000E000C000C000C001C0018001800180030003000600
+06000C00080010002000400080000B2E7DA112>I<000600000006000000060000000600
+000006000000060000000600000006000000060000000600000006000000060000000600
+000006000000060000FFFFFFF0FFFFFFF000060000000600000006000000060000000600
+000006000000060000000600000006000000060000000600000006000000060000000600
+00000600001C207D9A23>43 D<70F8FCFC74040404080810102040060E7C840D>I<FFC0
+FFC00A027F8A0F>I<70F8F8F87005057C840D>I<000100030003000600060006000C000C
+000C00180018001800300030003000600060006000C000C000C001800180018003000300
+03000600060006000C000C000C00180018001800300030003000600060006000C000C000
+C000102D7DA117>I<03F0000E1C001C0E00180600380700700380700380700380700380
+F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0
+F003C07003807003807003807807803807001806001C0E000E1C0003F000121F7E9D17>
+I<018003800F80F380038003800380038003800380038003800380038003800380038003
+80038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>I<03F0000C
+1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007C000078000
+0780000F00000E00001C0000380000700000600000C0000180000300000600400C004018
+00401000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F80
+780780780780380F80000F80000F00000F00000E00001C0000380003F000003C00000E00
+000F000007800007800007C02007C0F807C0F807C0F807C0F00780400780400F00200E00
+1C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00002E00002E00004E
+00008E00008E00010E00020E00020E00040E00080E00080E00100E00200E00200E00400E
+00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E0000FFE0141E7F9D17
+>I<1803001FFE001FFC001FF8001FE00010000010000010000010000010000010000011
+F000161C00180E001007001007800003800003800003C00003C00003C07003C0F003C0F0
+03C0E00380400380400700200600100E000C380003E000121F7E9D17>I<007C00018200
+0701000E03800C07801C0780380300380000780000700000700000F1F000F21C00F40600
+F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C0700380380380
+3807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF807FFF804001
+0080020080020080040000080000080000100000200000200000400000400000C00000C0
+0001C0000180000380000380000380000380000780000780000780000780000780000780
+00078000030000121F7D9D17>I<03F0000C0C0010060030030020018060018060018060
+01807001807803003E03003F06001FC8000FF00003F80007FC000C7E00103F00300F8060
+03804001C0C001C0C000C0C000C0C000C0C000806001802001001002000C0C0003F00012
+1F7E9D17>I<03F0000E18001C0C00380600380700700700700380F00380F00380F003C0
+F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C0000380000380
+000380000700300700780600780E00700C002018001070000FC000121F7E9D17>I<70F8
+F8F8700000000000000000000070F8F8F87005147C930D>I<70F8F8F870000000000000
+0000000070F0F8F878080808101010202040051D7C930D>I<7FFFFFE0FFFFFFF0000000
+0000000000000000000000000000000000000000000000000000000000FFFFFFF07FFFFF
+E01C0C7D9023>61 D<000100000003800000038000000380000007C0000007C0000007C0
+000009E0000009E0000009E0000010F0000010F0000010F0000020780000207800002078
+0000403C0000403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F
+00020007800200078002000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65
+D<FFFFE0000F80380007801E0007801F0007800F0007800F8007800F8007800F8007800F
+8007800F8007800F0007801F0007801E0007803C0007FFF00007803C0007801E0007800F
+0007800F8007800780078007C0078007C0078007C0078007C0078007C00780078007800F
+8007800F0007801F000F803C00FFFFF0001A1F7E9E20>I<000FC040007030C001C009C0
+038005C0070003C00E0001C01E0000C01C0000C03C0000C07C0000407C00004078000040
+F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
+780000007C0000407C0000403C0000401C0000401E0000800E0000800700010003800200
+01C0040000703800000FC0001A217D9F21>I<FFFFE0000F803C0007801E000780070007
+800380078003C0078001E0078001E0078001F0078000F0078000F0078000F8078000F807
+8000F8078000F8078000F8078000F8078000F8078000F8078000F8078000F0078000F007
+8000F0078001E0078001E0078003C0078003800780070007800E000F803C00FFFFE0001D
+1F7E9E23>I<FFFFFF000F800F0007800300078003000780010007800180078000800780
+008007800080078080800780800007808000078080000781800007FF8000078180000780
+800007808000078080000780800007800020078000200780002007800040078000400780
+0040078000C0078000C0078001800F800F80FFFFFF801B1F7E9E1F>I<FFFFFF000F800F
+000780030007800300078001000780018007800080078000800780008007800080078080
+000780800007808000078080000781800007FF8000078180000780800007808000078080
+000780800007800000078000000780000007800000078000000780000007800000078000
+000FC00000FFFE0000191F7E9E1E>I<000FE0200078186000E004E0038002E0070001E0
+0F0000E01E0000601E0000603C0000603C0000207C00002078000020F8000000F8000000
+F8000000F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C0001E0
+3C0001E03C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820
+000FE0001E217D9F24>I<FFF8FFF80F800F8007800F0007800F0007800F0007800F0007
+800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007FFFF0007
+800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007
+800F0007800F0007800F0007800F0007800F000F800F80FFF8FFF81D1F7E9E22>I<FFFC
+0FC007800780078007800780078007800780078007800780078007800780078007800780
+07800780078007800780078007800780078007800FC0FFFC0E1F7F9E10>I<FFFC0FFC0F
+C003E0078001800780010007800200078004000780080007801000078020000780400007
+808000078100000783000007878000078F80000793C0000791E00007A1E00007C0F00007
+80F0000780780007803C0007803C0007801E0007801E0007800F00078007800780078007
+8007C00FC007E0FFFC3FFC1E1F7E9E23>75 D<FFFE000FC0000780000780000780000780
+000780000780000780000780000780000780000780000780000780000780000780000780
+0007800007800007800207800207800207800207800607800407800407800C07801C0F80
+7CFFFFFC171F7E9E1C>I<FF80001FF80F80001F800780001F0005C0002F0005C0002F00
+05C0002F0004E0004F0004E0004F000470008F000470008F000470008F000438010F0004
+38010F000438010F00041C020F00041C020F00041C020F00040E040F00040E040F00040E
+040F000407080F000407080F000407080F000403900F000403900F000401E00F000401E0
+0F000401E00F000E00C00F001F00C01F80FFE0C1FFF8251F7E9E2A>I<FF803FF807C007
+C007C0038005E0010005E0010004F001000478010004780100043C0100043C0100041E01
+00040F0100040F010004078100040781000403C1000401E1000401E1000400F1000400F1
+000400790004003D0004003D0004001F0004001F0004000F0004000700040007000E0003
+001F000300FFE001001D1F7E9E22>I<001F800000F0F00001C0380007801E000F000F00
+0E0007001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0
+F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E0
+7C0003E03C0003C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000
+001F80001C217D9F23>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007
+800F8007800F8007800F8007800F8007800F8007800F0007801E0007801C000780780007
+FFE000078000000780000007800000078000000780000007800000078000000780000007
+800000078000000780000007800000078000000FC00000FFFC0000191F7E9E1F>I<001F
+800000F0F00001C0380007801E000F000F000E0007001E0007803C0003C03C0003C07C00
+03E07C0003E0780001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F800
+01F0F80001F0F80001F0780001E0780001E07C0003E03C0003C03C0F03C01E1087800E20
+C7000F20CF0007A0FE0001E0F80000F0F010001FF0100000701000007830000038700000
+3FF000003FE000001FE000000FC0000007801C297D9F23>I<FFFF80000F80F000078078
+0007803C0007801E0007801E0007801F0007801F0007801F0007801F0007801E0007801E
+0007803C00078078000780F00007FF80000781C0000780E0000780F00007807000078078
+00078078000780780007807C0007807C0007807C0007807C0407807E0407803E040FC01E
+08FFFC0F10000003E01E207E9E21>I<07E0800C1980100780300380600180600180E001
+80E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE0003FF00001F
+800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E00300F006
+00CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F
+0030800F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F
+0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
+0000000F0000000F0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>
+I<FFFC3FF80FC007C0078003800780010007800100078001000780010007800100078001
+000780010007800100078001000780010007800100078001000780010007800100078001
+00078001000780010007800100078001000780010007800100038002000380020001C002
+0001C0040000E008000070180000382000000FC0001D207E9E22>I<FFF003FE1F8000F8
+0F0000600F800060078000400780004003C0008003C0008003C0008001E0010001E00100
+01F0010000F0020000F0020000F806000078040000780400003C0800003C0800003C0800
+001E1000001E1000001F3000000F2000000F20000007C0000007C0000007C00000038000
+0003800000038000000100001F207F9E22>I<FFF07FF81FF01F800FC007C00F00078003
+800F00078001000F0007C00100078007C00200078007C00200078007C0020003C009E004
+0003C009E0040003C009E0040003E010F00C0001E010F0080001E010F0080001F0207808
+0000F02078100000F02078100000F0403C10000078403C20000078403C20000078C03E20
+00003C801E4000003C801E4000003C801E4000001F000F8000001F000F8000001F000F80
+00001E00078000000E00070000000E00070000000C000300000004000200002C207F9E2F
+>I<7FF83FF80FE00FC007C0070003C0020001E0040001F00C0000F0080000781000007C
+1000003C2000003E4000001E4000000F8000000F8000000780000003C0000007E0000005
+E0000009F0000018F8000010780000207C0000603C0000401E0000801F0001800F000100
+0780020007C0070003C01F8007E0FFE01FFE1F1F7F9E22>I<7FFFF87C00F87000F06001
+E04001E0C003C0C003C0800780800F80800F00001E00001E00003C00003C0000780000F8
+0000F00001E00001E00003C00403C0040780040F80040F000C1E000C1E00083C00183C00
+18780038F801F8FFFFF8161F7D9E1C>90 D<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
+C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE072D7CA10D>I<0804
+10082010201040204020804080408040B85CFC7EFC7E7C3E381C0F0E7B9F17>I<FEFE06
+060606060606060606060606060606060606060606060606060606060606060606060606
+06060606FEFE072D7FA10D>I<081020204040808080B8FCFC7C38060E7D9F0D>96
+D<1FE000303000781800781C00300E00000E00000E00000E0000FE00078E001E0E00380E
+00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E9317>I<0E0000FE
+00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000E
+C3800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00780E00780E
+00700E00700E00E00F00E00D01C00CC300083E0015207F9F19>I<03F80E0C1C1E381E38
+0C70007000F000F000F000F000F000F00070007000380138011C020E0C03F010147E9314
+>I<000380003F8000038000038000038000038000038000038000038000038000038000
+038003E380061B801C0780380380380380700380700380F00380F00380F00380F00380F0
+0380F003807003807003803803803807801C07800E1B8003E3F815207E9F19>I<03F000
+0E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F00000
+7000007000003800801800800C010007060001F80011147F9314>I<007C00C6018F038F
+07060700070007000700070007000700FFF0070007000700070007000700070007000700
+0700070007000700070007000700070007007FF01020809F0E>I<0000E003E3300E3C30
+1C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033E000200000
+2000003000003000003FFE001FFF800FFFC03001E0600070C00030C00030C00030C00030
+6000603000C01C038003FC00141F7F9417>I<0E0000FE00000E00000E00000E00000E00
+000E00000E00000E00000E00000E00000E00000E3E000E43000E81800F01C00F01C00E01
+C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
+C00E01C0FFE7FC16207F9F19>I<1C003E003E003E001C00000000000000000000000000
+0E007E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
+0E00FFC00A1F809E0C>I<00E001F001F001F000E0000000000000000000000000007007
+F000F0007000700070007000700070007000700070007000700070007000700070007000
+7000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00000E00000E
+00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03000E
+02000E04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E
+07800E03800E03C00E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E000E
+000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
+000E000E000E000E000E00FFE00B20809F0C>I<0E1F01F000FE618618000E81C81C000F
+00F00E000F00F00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00
+E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E0
+0E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE43000E81800F01C00F01C00E01
+C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
+C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C07000E07000E0F0
+00F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E0001
+F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E0078
+0E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E0000
+0E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E0800619
+801C05803C0780380380780380700380F00380F00380F00380F00380F00380F003807003
+807803803803803807801C0B800E138003E3800003800003800003800003800003800003
+80000380000380003FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E
+000E000E000E000E000E000E000E000E000E00FFE00F147F9312>I<1F9030704030C010
+C010C010E00078007F803FE00FF00070803880188018C018C018E030D0608F800D147E93
+12>I<020002000200060006000E000E003E00FFF80E000E000E000E000E000E000E000E
+000E000E000E000E080E080E080E080E080610031001E00D1C7F9B12>I<0E01C0FE1FC0
+0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
+0E01C00E01C00E03C00603C0030DC001F1FC16147F9319>I<FF83F81E01E01C00C00E00
+800E00800E008007010007010003820003820003820001C40001C40001EC0000E80000E8
+0000700000700000700000200015147F9318>I<FF9FE1FC3C0780701C0300601C038020
+0E0380400E0380400E03C0400707C0800704C0800704E080038861000388710003C87300
+01D0320001D03A0000F03C0000E01C0000E01C0000601800004008001E147F9321>I<7F
+C3FC0F01E00701C007018003810001C20000E40000EC00007800003800003C00007C0000
+4E000087000107000303800201C00601E01E01E0FF07FE1714809318>I<FF83F81E01E0
+1C00C00E00800E00800E008007010007010003820003820003820001C40001C40001EC00
+00E80000E800007000007000007000002000002000004000004000004000F08000F08000
+F100006200003C0000151D7F9318>I<3FFF380E200E201C40384078407000E001E001C0
+0380078007010E011E011C0338027006700EFFFE10147F9314>I<FFFFFFFFFFF02C0180
+8C2D>124 D E /Fu 7 120 df<FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF
+FFFFFFFFF0007FF00001FFF0007FF000003FF8007FF000000FF8007FF0000007F8007FF0
+000003F8007FF0000001F8007FF0000000F8007FF0000000F8007FF000000078007FF000
+000078007FF000000078007FF000000078007FF00078007C007FF00078003C007FF00078
+003C007FF00078003C007FF00078003C007FF000780000007FF000F80000007FF000F800
+00007FF001F80000007FF007F80000007FFFFFF80000007FFFFFF80000007FFFFFF80000
+007FFFFFF80000007FF007F80000007FF001F80000007FF000F80000007FF000F8000000
+7FF000780000007FF00078000F007FF00078000F007FF00078000F007FF00078001E007F
+F00078001E007FF00000001E007FF00000001E007FF00000003E007FF00000003E007FF0
+0000003C007FF00000003C007FF00000007C007FF00000007C007FF0000000FC007FF000
+0001FC007FF0000003F8007FF0000007F8007FF000000FF8007FF000003FF8007FF00003
+FFF8FFFFFFFFFFFFF8FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0383B7CBA40>
+69 D<3FFFFFFFFFFFFFC03FFFFFFFFFFFFFC03FFFFFFFFFFFFFC03FFFFFFFFFFFFFC03F
+F8007FF001FFC07FC0007FF0003FE07F80007FF0001FE07F00007FF0000FE07E00007FF0
+0007E07C00007FF00003E07C00007FF00003E07C00007FF00003E07800007FF00001E078
+00007FF00001E07800007FF00001E07800007FF00001E0F000007FF00000F0F000007FF0
+0000F0F000007FF00000F0F000007FF00000F0F000007FF00000F00000007FF000000000
+00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0
+0000000000007FF00000000000007FF00000000000007FF00000000000007FF000000000
+00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0
+0000000000007FF00000000000007FF00000000000007FF00000000000007FF000000000
+00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0
+0000000000007FF00000000000007FF00000000000007FF00000000000007FF000000000
+00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0
+000000000FFFFFFFFF8000000FFFFFFFFF8000000FFFFFFFFF8000000FFFFFFFFF80003C
+3A7DB943>84 D<7FFFFFF801FFFFFC007FFFFFF801FFFFFC007FFFFFF801FFFFFC007FFF
+FFF801FFFFFC00003FFC000007F80000003FFE000003E00000001FFF000007C00000000F
+FF000007C000000007FF80000F8000000007FFC0001F0000000003FFC0003E0000000001
+FFE0003E0000000001FFF0007C0000000000FFF800F800000000007FF800F80000000000
+3FFC01F000000000003FFE03E000000000001FFE07C000000000000FFF07C00000000000
+0FFF8F80000000000007FFDF00000000000003FFFE00000000000003FFFE000000000000
+01FFFC00000000000000FFF8000000000000007FF8000000000000007FFC000000000000
+003FFE000000000000001FFE000000000000001FFF000000000000000FFF800000000000
+001FFF800000000000003FFFC00000000000003FFFE00000000000007DFFE00000000000
+00F8FFF0000000000001F0FFF8000000000001F07FFC000000000003E03FFC0000000000
+07C03FFE00000000000F801FFF00000000000F800FFF00000000001F0007FF8000000000
+3E0007FFC0000000007C0003FFE0000000007C0001FFE000000000F80001FFF000000001
+F00000FFF800000001E000007FF800000003E000003FFC00000007C000003FFE0000000F
+8000001FFE0000000F8000000FFF0000001F0000000FFF8000007F80000007FFC000FFFF
+FE0003FFFFFFC0FFFFFE0003FFFFFFC0FFFFFE0003FFFFFFC0FFFFFE0003FFFFFFC0423B
+7DBA49>88 D<003FFE00000001FFFFE0000007FFFFF800000FE007FC00000FF001FE0000
+1FF800FF00001FF8007F80001FF8007FC0001FF8003FC0000FF0003FE00007E0003FE000
+03C0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000FFFFE000
+001FFFFFE000007FF83FE00003FF803FE00007FC003FE0000FF0003FE0001FE0003FE000
+3FE0003FE0007FC0003FE0007FC0003FE000FF80003FE000FF80003FE000FF80003FE000
+FF80003FE000FF80007FE0007FC0007FE0007FC000DFE0003FE0039FF0001FF80F0FFFE0
+07FFFE0FFFE001FFF807FFE0003FE000FFE02B267DA52F>97 D<000000003F800000003F
+FF800000003FFF800000003FFF800000003FFF8000000001FF8000000000FF8000000000
+FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000
+FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000
+FF8000000000FF8000000000FF800000FF80FF80000FFFF0FF80003FFFFCFF8000FFC03F
+FF8001FE000FFF8003FC0003FF8007F80001FF800FF00000FF801FF00000FF803FE00000
+FF803FE00000FF807FE00000FF807FC00000FF807FC00000FF807FC00000FF80FFC00000
+FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000
+FF80FFC00000FF80FFC00000FF807FC00000FF807FC00000FF807FC00000FF803FE00000
+FF803FE00000FF801FE00000FF800FF00001FF8007F00003FF8003F80007FF8001FE001F
+FFC000FF807EFFFE007FFFF8FFFE000FFFE0FFFE0001FF00FFFE2F3C7DBB36>100
+D<01FC03F000FFFC0FFC00FFFC1FFF00FFFC3C3F80FFFC707F8007FCE0FFC003FCC0FFC0
+03FD80FFC003FD80FFC003FF807F8003FF003F0003FF001E0003FF00000003FE00000003
+FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE
+00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00
+000003FE00000003FE00000003FE00000003FE00000003FE000000FFFFFC0000FFFFFC00
+00FFFFFC0000FFFFFC000022267DA528>114 D<FFFFE0FFFFC03FFF80FFFFE0FFFFC03F
+FF80FFFFE0FFFFC03FFF80FFFFE0FFFFC03FFF8007FE0007F80001F00003FE0007F80001
+E00003FE0003FC0001E00003FF0003FC0003E00001FF0003FC0003C00001FF8003FE0007
+C00000FF8007FE0007800000FF8007FF0007800000FFC007FF000F8000007FC00FFF000F
+0000007FE00F7F801F0000003FE01F7F801E0000003FE01E3FC01E0000003FF01E3FC03E
+0000001FF03E3FC03C0000001FF03C1FE07C0000000FF87C1FE0780000000FF8780FF078
+0000000FFC780FF0F800000007FCF80FF0F000000007FCF007F9F000000003FFF007F9E0
+00000003FFE003FDE000000003FFE003FFE000000001FFE003FFC000000001FFC001FFC0
+00000000FFC001FF8000000000FF8000FF8000000000FF8000FF80000000007F8000FF00
+000000007F00007F00000000003F00007E00000000003E00003E00000000001E00003C00
+000041267EA546>119 D E end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 300dpi
+TeXDict begin
+
+%%EndSetup
+%%Page: 1 1
+1 0 bop 0 668 a Fu(T)51 687 y(E)103 668 y(Xdra)m(w)p
+0 720 1950 17 v 1335 769 a Ft(P)o(ostScript)15 b(Dra)o(wings)g(from)f
+(T)1890 778 y(E)1916 769 y(X)1730 823 y(Edition)i(2.0)1647
+877 y(Decem)o(b)q(er)g(1995)0 2521 y Fs(P)n(eter)22 b(Kabal)p
+0 2545 1950 9 v eop
+%%Page: 2 2
+2 1 bop 0 1080 a Ft(Cop)o(yrigh)o(t)226 1079 y(c)214
+1080 y Fr(\015)15 b Ft(1993-95)f(P)o(eter)g(Kabal)0 1341
+y(This)g(is)g(edition)g(2.0)f(of)g(the)g(do)q(cumen)o(tation)h(for)f
+(the)g(T)971 1351 y(E)997 1341 y(Xdra)o(w)f(macros)h(for)g(the)g(T)1463
+1351 y(E)1489 1341 y(X)g(t)o(yp)q(esetting)g(program.)0
+1603 y(P)o(eter)i(Kabal)0 1665 y(Departmen)o(t)f(of)h(Electrical)i
+(Engineering)0 1727 y(McGill)g(Univ)o(ersit)o(y)0 1789
+y(3480)d(Univ)o(ersit)o(y)0 1852 y(Mon)o(treal,)g(Queb)q(ec)0
+1914 y(Canada)30 b(H3A)7 b(2A7)0 2051 y Fq(kabal@TSP.EE.McGill.CA)0
+2312 y Ft(P)o(ermission)13 b(is)g(gran)o(ted)f(to)f(mak)o(e)h(and)h
+(distribute)h(v)o(erbatim)e(copies)h(of)f(this)h(man)o(ual)g(pro)o
+(vided)g(the)f(cop)o(yrigh)o(t)0 2375 y(notice)k(and)f(this)h(p)q
+(ermission)h(notice)e(are)g(preserv)o(ed)h(on)f(all)h(copies.)0
+2512 y(P)o(ermission)f(is)f(gran)o(ted)f(to)h(cop)o(y)g(and)g
+(distribute)h(mo)q(di\014ed)h(v)o(ersions)e(of)f(this)i(man)o(ual)f
+(under)h(the)f(conditions)0 2574 y(for)e(v)o(erbatim)g(cop)o(ying,)h
+(pro)o(vided)h(that)d(the)i(en)o(tire)g(resulting)h(deriv)o(ed)f(w)o
+(ork)f(is)h(distributed)h(under)f(the)g(terms)0 2636
+y(of)i(a)g(p)q(ermission)h(notice)g(iden)o(tical)h(to)e(this)g(one.)p
+eop
+%%Page: 1 3
+1 2 bop 0 -83 a Ft(Chapter)15 b(1:)k(In)o(tro)q(duction)1447
+b(1)0 158 y Fp(1)41 b(In)n(tro)r(duction)62 345 y Ft(T)87
+355 y(E)113 345 y(X)22 b(is)h(a)e(p)q(o)o(w)o(erful)i(t)o(yp)q
+(esetting)f(program)f(whic)o(h)i(allo)o(ws)f(for)g(complex)h(text)e(la)
+o(y)o(outs)h(but)g(b)o(y)g(itself)0 407 y(lac)o(ks)f(a)g(general)g
+(graphics)g(capabilit)o(y)l(.)39 b(Ho)o(w)o(ev)o(er,)21
+b(when)g(coupled)h(with)g(an)f(appropriate)f(prin)o(ter)i(driv)o(er)0
+470 y(program,)15 b(external)j(graphics)f(\014les)g(can)g(b)q(e)g
+(inserted)h(in)o(to)e(the)h(prin)o(ted)h(do)q(cumen)o(t.)24
+b(In)17 b(this)g(mo)q(de,)g(T)1843 479 y(E)1869 470 y(X)f(is)0
+532 y(instructed)d(to)f(lea)o(v)o(e)h(space)g(for)f(a)g(dra)o(wing.)19
+b(The)13 b(dra)o(wing)f(is)h(inserted)h(b)o(y)e(the)h(prin)o(ter)g
+(driv)o(er)g(program.)18 b(The)0 594 y(T)25 604 y(E)51
+594 y(Xdra)o(w)d(macros)f(describ)q(ed)k(here)e(generate)g(the)f
+(external)h(graphics)h(\014le)f(from)f(within)i(T)1619
+604 y(E)1645 594 y(X)e(and)h(generate)0 656 y(the)d(instructions)g(to)f
+(the)h(the)g(prin)o(t)g(driv)o(er)g(program)e(to)h(p)q(osition)i(the)e
+(graphics)i(at)e(the)g(appropriate)h(p)q(osition)0 719
+y(on)i(the)g(page.)62 856 y(T)87 866 y(E)113 856 y(Xdra)o(w)10
+b(consists)g(of)g(a)g(set)h(of)e(T)635 866 y(E)661 856
+y(X)h(macros)g(that)g(create)g(line)i(dra)o(wings)e(and)h(other)f
+(\014gures.)18 b(The)11 b(dra)o(wing)0 918 y(primitiv)o(es)17
+b(include)i(solid)e(lines,)h(patterned)e(lines,)i(Bezier)f(curv)o(es,)f
+(circles)i(and)e(arro)o(ws.)22 b(Other)16 b(commands)0
+980 y(allo)o(w)e(for)e(the)i(\014lling)h(of)e(a)g(region)g(with)h(a)f
+(gra)o(y)f(lev)o(el.)21 b(The)13 b(dra)o(wing)h(commands)f(generate)g
+(P)o(ostScript)g(co)q(de.)0 1043 y(This)j(limits)h(T)256
+1052 y(E)281 1043 y(Xdra)o(w)e(to)g(systems)g(whic)o(h)h(use)g(P)o
+(ostScript)f(prin)o(ters.)21 b(T)1296 1052 y(E)1322 1043
+y(Xdra)o(w)15 b(also)g(pro)o(vides)h(commands)0 1105
+y(to)i(p)q(osition)h(T)260 1115 y(E)286 1105 y(X)f(text,)g(including)j
+(mathematics,)e(on)f(the)h(dra)o(wing.)29 b(The)18 b(\014nal)i(dra)o
+(wing,)e(with)h(text)f(and)0 1167 y(graphics,)d(can)h(b)q(e)g(p)q
+(ositioned)g(on)f(the)h(page)f(lik)o(e)h(an)o(y)f(other)g(T)1117
+1177 y(E)1142 1167 y(X)g(b)q(o)o(x.)62 1304 y(The)i(basic)h(T)298
+1314 y(E)323 1304 y(Xdra)o(w)e(macros)g(for)g(T)723 1314
+y(E)749 1304 y(X)g(use)h(the)g Fq(\\special)f Ft(syn)o(tax)f
+(recognized)j(b)o(y)f(the)g(prin)o(ter)g(driv)o(er)0
+1366 y(program)d Fq(dvips)p Ft(.)20 b(Ho)o(w)o(ev)o(er,)14
+b(when)i(in)o(v)o(ok)o(ed)f(as)g(a)g(LaT)985 1376 y(E)1011
+1366 y(X2e)g(pac)o(k)m(age,)g(the)h(T)1389 1376 y(E)1414
+1366 y(Xdra)o(w)f(macros)g(can)g(b)q(e)h(used)0 1429
+y(with)h(an)o(y)g(of)f(the)h(P)o(ostScript)g(prin)o(ter)g(driv)o(er)g
+(programs)f(supp)q(orted)h(b)o(y)g(the)g(standard)f Fq(graphics)g
+Ft(pac)o(k)m(age)0 1491 y(for)f(LaT)146 1501 y(E)171
+1491 y(X2e.)62 1628 y(The)c(basic)g(T)285 1638 y(E)311
+1628 y(Xdra)o(w)f(macros)f(pro)o(vide)i(only)g(simple)h(dra)o(wing)f
+(commands.)18 b(Ho)o(w)o(ev)o(er,)10 b(T)1618 1638 y(E)1644
+1628 y(Xdra)o(w)f(pro)o(vides)0 1690 y(a)k(dra)o(wing)h(segmen)o(t)f
+(en)o(vironmen)o(t)h(whic)o(h)g(allo)o(ws)g(parameter)f(c)o(hanges)h
+(and)f(co)q(ordinate)h(scaling)h(c)o(hanges)f(to)0 1752
+y(b)q(e)i(k)o(ept)g(lo)q(cal)h(to)e(the)h(dra)o(wing)f(segmen)o(t.)22
+b(This)16 b(facilit)o(y)l(,)h(together)e(with)h(T)1349
+1762 y(E)1374 1752 y(X's)g(macro)f(capabilities)j(allo)o(ws)0
+1815 y(one)e(to)e(mo)q(dularize)j(dra)o(wing)f(units)g(and)f(extend)h
+(T)922 1824 y(E)948 1815 y(Xdra)o(w)f(b)o(y)g(building)j(more)d
+(complex)h(graphics)g(en)o(tities)0 1877 y(from)e(simpler)j(elemen)o
+(ts.)0 2101 y Fs(1.1)33 b(Distribution)17 b(information)62
+2238 y Ft(The)e(T)180 2248 y(E)205 2238 y(Xdra)o(w)f(routines)h(are)f
+(pro)o(vided)h(free)f(of)g(c)o(harge)g(without)g(w)o(arran)o(t)o(y)f
+(of)h(an)o(y)g(kind.)20 b(Note)14 b(that)g(the)0 2300
+y(T)25 2310 y(E)51 2300 y(Xdra)o(w)k(routines)h(are)g(cop)o(yrigh)o
+(ted.)31 b(They)19 b(ma)o(y)f(b)q(e)i(distributed)g(freely)g(pro)o
+(vided)f(that)g(the)f(recipien)o(ts)0 2363 y(also)d(acquire)i(the)e
+(righ)o(t)h(to)f(distribute)h(them)g(freely)l(.)22 b(The)15
+b(notices)h(to)f(this)h(e\013ect)f(m)o(ust)g(b)q(e)i(preserv)o(ed)e
+(when)0 2425 y(the)g(source)h(\014les)g(are)f(distributed.)p
+eop
+%%Page: 2 4
+2 3 bop 0 -83 a Ft(2)1745 b(T)1793 -73 y(E)1819 -83 y(Xdra)o(w)p
+eop
+%%Page: 3 5
+3 4 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1068 b(3)0 158
+y Fp(2)41 b(Using)14 b(the)h(T)468 174 y(E)511 158 y(Xdra)n(w)g
+(Commands)62 360 y Ft(The)k(main)f(T)300 369 y(E)326
+360 y(Xdra)o(w)f(macros)g(\(commands\))h(are)f(de\014ned)j(in)f(the)f
+(\014le)h(`)p Fq(texdraw.tex)p Ft('.)26 b(These)19 b(macros)0
+422 y(ma)o(y)c(b)q(e)i(used)g(directly)h(in)f(T)513 432
+y(E)538 422 y(X.)f(The)h(\014le)g(`)p Fq(texdraw.sty)p
+Ft(')d(pro)o(vides)i(an)h(in)o(terface)f(for)g(use)g(with)h(LaT)1835
+432 y(E)1860 422 y(X2e.)0 484 y(The)e(follo)o(wing)h(sections)g
+(describ)q(e)h(the)e(basic)h(commands)f(for)g(T)1143
+494 y(E)1168 484 y(Xdra)o(w.)0 734 y Fs(2.1)33 b(Accessing)14
+b(T)455 748 y(E)490 734 y(Xdra)n(w)62 874 y Ft(The)19
+b(form)e(of)h(the)g(user)g(command)g(to)f(run)i(the)f(T)965
+884 y(E)990 874 y(X)g(program)f(dep)q(ends)j(on)e(whic)o(h)h(v)o
+(ersion)f(of)g(T)1842 884 y(E)1867 874 y(X)g(is)0 937
+y(b)q(eing)f(used,)f(and)f(whic)o(h)i(other)e(macro)g(pac)o(k)m(ages)g
+(are)g(preloaded)i(as)e(format)f(\014les.)22 b(T)o(ypically)l(,)17
+b(installations)0 999 y(ha)o(v)o(e)g(at)g(least)g(t)o(w)o(o)f(v)o
+(ersions)i(of)f(T)615 1009 y(E)640 999 y(X)g(|)h(plain)h(T)895
+1009 y(E)921 999 y(X)e(whic)o(h)h(includes)i(basic)e(t)o(yp)q(esetting)
+f(macros)g(\(usually)0 1061 y(in)o(v)o(ok)o(ed)h(as)f(`)p
+Fq(tex)p Ft('\))e(and)j(LaT)524 1071 y(E)550 1061 y(X2e)f(whic)o(h)h
+(includes)i(the)d(LaT)1109 1071 y(E)1135 1061 y(X2e)g(t)o(yp)q
+(esetting)h(macros)e(\(usually)j(in)o(v)o(ok)o(ed)0 1123
+y(as)14 b(`)p Fq(latex)p Ft('\).)k(An)d(older)g(v)o(ersion)g(of)f(LaT)
+718 1133 y(E)744 1123 y(X,)g(v)o(ersion)h(2.09,)e(ma)o(y)h(also)h(b)q
+(e)g(a)o(v)m(ailable.)21 b(The)15 b(T)1639 1133 y(E)1665
+1123 y(Xdra)o(w)f(macros)0 1186 y(can)h(b)q(e)h(used)g(with)g(plain)g
+(T)491 1195 y(E)517 1186 y(X)f(and)g(with)h(either)g(v)o(ersion)f(of)g
+(LaT)1169 1195 y(E)1195 1186 y(X.)62 1325 y(F)l(or)e(use)g(with)h
+(plain)g(T)456 1335 y(E)482 1325 y(X,)f(the)g(user)g(m)o(ust)g(read)g
+(in)h(the)f(T)1074 1335 y(E)1100 1325 y(Xdra)o(w)f(macros)h(from)f(the)
+h(\014le)i(`)p Fq(texdraw.tex)p Ft('.)120 1455 y Fq(\\input)23
+b(texdraw)285 b(\045)24 b(Read)f(in)h(the)g(TeXdraw)e(macros)144
+1507 y(...)120 1559 y(\\btexdraw)168 1611 y(...)500 b(\045)24
+b(TeXdraw)f(commands)g(to)g(generate)g(a)h(drawing)120
+1663 y(\\etexdraw)62 1792 y Ft(F)l(or)j(use)h(with)g(LaT)439
+1802 y(E)465 1792 y(X)g(v)o(ersion)f(2.09,)j(the)d(user)h(reads)g(in)g
+(the)g(T)1330 1802 y(E)1355 1792 y(Xdra)o(w)f(macros)g(from)g(the)h
+(\014le)0 1854 y(`)p Fq(texdraw.tex)p Ft(')13 b(and)i(optionally)i
+(de\014nes)f(the)f Fq(\\begin{texdraw})e Ft(/)i Fq(\\end{texdraw})f
+Ft(en)o(vironmen)o(t.)120 1984 y Fq(\\documentstyle[11pt]{artic)o(le})
+45 b(\045)23 b(Article)g(style)h(with)f(the)g(11pt)h(size)f(options)120
+2036 y(...)120 2088 y(\\input)g(texdraw)285 b(\045)24
+b(Read)f(in)h(the)g(TeXdraw)e(macros)120 2139 y
+(\\newenvironment{texdraw}{\\)o(leavevm)o(ode\\btex)o(draw}{\\)o
+(etexdra)o(w})144 2191 y(...)120 2243 y(\\begin{texdraw})168
+2295 y(...)500 b(\045)24 b(TeXdraw)f(commands)g(to)g(generate)g(a)h
+(drawing)120 2347 y(\\end{texdraw})120 2399 y(...)120
+2451 y(\\end{document})62 2583 y Ft(F)l(or)c(use)h(with)h(LaT)419
+2593 y(E)444 2583 y(X2e,)g(the)f(user)g(m)o(ust)f(load)h(the)g
+Fq(texdraw)e Ft(pac)o(k)m(age)i(\(\014le)g(`)p Fq(texdraw.sty)p
+Ft('\).)34 b(This)0 2645 y(pac)o(k)m(age)18 b(\014le)g(de\014nes)h(the)
+f Fq(\\begin{texdraw})d Ft(/)i Fq(\\end{texdraw})f Ft(en)o(vironmen)o
+(t,)i(brings)g(in)h(the)e(standard)p eop
+%%Page: 4 6
+4 5 bop 0 -83 a Ft(4)1745 b(T)1793 -73 y(E)1819 -83 y(Xdra)o(w)0
+158 y Fq(graphics)16 b Ft(pac)o(k)m(age)i(and)f(reads)h(in)g(the)f
+(\014le)i(`)p Fq(texdraw.tex)p Ft(')c(con)o(taining)j(the)f
+(de\014nitions)j(of)d(the)g(T)1793 168 y(E)1819 158 y(Xdra)o(w)0
+221 y(macros.)120 353 y Fq(\\documentclass[11pt]{artic)o(le})45
+b(\045)23 b(Article)g(class)h(with)f(the)g(11pt)h(size)f(option)120
+405 y(\\usepackage{texdraw})260 b(\045)23 b(TeXdraw)g(commands)120
+508 y(\\begin{document})144 560 y(...)120 612 y(\\begin{texdraw})168
+664 y(...)500 b(\045)24 b(TeXdraw)f(commands)g(to)g(generate)g(a)h
+(drawing)120 716 y(\\end{texdraw})144 768 y(...)120 820
+y(\\end{document})62 952 y Ft(As)15 b(the)g(T)232 962
+y(E)257 952 y(Xdra)o(w)f(commands)g(are)h(pro)q(cessed)g(b)o(y)g(T)994
+962 y(E)1019 952 y(X,)f(an)h(in)o(termediate)g(P)o(ostScript)g(\014le)g
+(is)g(generated.)0 1014 y(The)i(in)o(termediate)g(P)o(ostScript)f(has)h
+(a)f(name)h(of)f(the)g(form)g(`)p Fo(name)p Fq(.ps1)p
+Ft('.)23 b(The)17 b(name)f(part)g(is)h(deriv)o(ed)h(from)0
+1076 y(the)d(name)f(of)g(the)h(main)g(T)465 1086 y(E)491
+1076 y(X)f(\014le)i(b)q(eing)g(pro)q(cessed.)k(If)15
+b(more)f(than)g(one)h(dra)o(wing)f(is)i(pro)q(duced,)f(the)g(digit)g
+(in)0 1139 y(the)g(\014le)i(name)e(extension)h(is)f(incremen)o(ted.)772
+1122 y Fn(1)62 1281 y Ft(The)f(T)179 1291 y(E)204 1281
+y(Xdra)o(w)f(commands)g(to)f(pro)q(duce)i(a)f(dra)o(wing)g(are)g
+(inserted)h(b)q(et)o(w)o(een)g Fq(\\btexdraw)e Ft(and)h
+Fq(\\etexdraw)0 1343 y Ft(commands,)g(or)g(for)g(LaT)434
+1353 y(E)460 1343 y(X,)g(b)q(et)o(w)o(een)h Fq(\\begin{texdraw})e
+Ft(and)h Fq(\\end{texdraw})f Ft(commands.)19 b(This)c(results)0
+1406 y(in)20 b(a)e(T)123 1415 y(E)148 1406 y(X)h(b)q(o)o(x)g(of)f
+(appropriate)h(size)g(con)o(taining)h(the)e(dra)o(wing)h(generated)g(b)
+o(y)f(the)h(T)1552 1415 y(E)1577 1406 y(Xdra)o(w)g(commands.)0
+1468 y(The)c(T)118 1478 y(E)144 1468 y(Xdra)o(w)g(b)q(o)o(x)g(can)g(b)q
+(e)h(p)q(ositioned)h(in)f(a)e(do)q(cumen)o(t)i(lik)o(e)g(an)o(y)f
+(other)g(T)1355 1478 y(E)1381 1468 y(X)g(b)q(o)o(x.)62
+1610 y(The)j Fq(\\centertexdraw{...})c Ft(macro)i(cen)o(ters)h(the)g(b)
+q(o)o(x)g(generated)g(b)o(y)g(T)1389 1620 y(E)1415 1610
+y(Xdra)o(w.)25 b(The)17 b(v)o(ertical)h(space)0 1673
+y(tak)o(en)i(up)h(is)g(equal)h(to)e(the)g(v)o(ertical)h(size)h(of)e
+(the)h(dra)o(wing.)36 b(The)21 b Fq(\\centertexdraw)d
+Ft(macro)i(is)h(normally)0 1735 y(used)d(in)g(v)o(ertical)f(mo)q(de)h
+(\(b)q(et)o(w)o(een)f(paragraphs\).)24 b(A)17 b Fq(\\par)g
+Ft(command)g(\(a)f(blank)i(line)h(will)g(do)e(also\))g(b)q(efore)0
+1797 y(a)j Fq(\\centertexdraw)f Ft(command)h(will)j(terminate)d
+(horizon)o(tal)h(mo)q(de)g(and)g(return)f(to)g(v)o(ertical)h(mo)q(de.)
+37 b(F)l(or)0 1859 y(LaT)76 1869 y(E)102 1859 y(X,)15
+b(a)f(structured)i(equiv)m(alen)o(t)g(to)f(the)g Fq
+(\\centertexdraw{...})e Ft(command)i(is)h(sho)o(wn)f(b)q(elo)o(w.)120
+1991 y Fq(\\begin{center})120 2043 y(\\begin{texdraw})168
+2095 y(...)120 2147 y(\\end{texdraw})120 2199 y(\\end{center})62
+2331 y Ft(The)i Fq(\\everytexdraw)d Ft(command)i(can)g(b)q(e)g(used)h
+(to)e(de\014ne)j(a)d(set)h(of)g(T)1319 2341 y(E)1344
+2331 y(Xdra)o(w)f(commands)h(that)g(will)h(b)q(e)0 2393
+y(executed)e(at)e(the)h(b)q(eginning)i(of)d(ev)o(ery)h(T)719
+2403 y(E)744 2393 y(Xdra)o(w)f(dra)o(wing.)20 b(It)14
+b(is)g(in)o(v)o(ok)o(ed)g(as)f Fq(\\everytexdraw{)h(...})p
+Ft(,)f(with)0 2456 y(the)i(desired)i(T)258 2465 y(E)283
+2456 y(Xdra)o(w)e(commands)g(as)g(argumen)o(ts.)p 0 2526
+600 2 v 21 2565 a Fn(1)62 2581 y Ft(After)21 b(the)h(nin)o(th)g(P)o
+(ostScript)f(\014le,)i(the)f(name)f(of)g(the)g(in)o(termediate)h(P)o
+(ostScript)f(\014le)i(tak)o(es)d(the)i(form)62 2644 y(`)p
+Fo(name)p Fq(.p10)p Ft(',)14 b(with)h(the)h(n)o(um)o(b)q(er)f
+(increasing)i(from)d(10)h(with)g(eac)o(h)h(\014le.)p
+eop
+%%Page: 5 7
+5 6 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1068 b(5)0 158
+y Fq(\\btexdraw)240 221 y Ft(Start)14 b(a)h(T)419 230
+y(E)445 221 y(Xdra)o(w)f(dra)o(wing.)20 b(The)15 b(dra)o(wing)h(is)f
+(terminated)h(with)f(an)g Fq(\\etexdraw)f Ft(command.)0
+305 y Fq(\\etexdraw)240 368 y Ft(End)h(a)f(T)398 377
+y(E)423 368 y(Xdra)o(w)g(dra)o(wing)h(started)e(with)i(a)f
+Fq(\\btexdraw)f Ft(command.)20 b(The)15 b(resulting)g(T)1793
+377 y(E)1819 368 y(Xdra)o(w)240 430 y(dra)o(wing)i(is)h(placed)h(in)f
+(a)f(b)q(o)o(x)g(with)h(heigh)o(t)f(equal)h(to)f(the)h(heigh)o(t)f(of)g
+(the)h(dra)o(wing)f(and)g(width)240 492 y(equal)f(to)f(the)g(width)h
+(of)e(the)i(dra)o(wing.)j(The)d(depth)g(of)e(the)i(b)q(o)o(x)f(is)h
+(zero.)0 577 y Fq(\\begin{texdraw})240 639 y Ft(Start)h(a)h(T)425
+649 y(E)450 639 y(Xdra)o(w)f(dra)o(wing.)28 b(The)18
+b(dra)o(wing)g(is)h(terminated)f(with)g(an)g Fq(\\end{texdraw})e
+Ft(com-)240 702 y(mand.)k(This)c(command)f(is)h(for)e(use)i(with)f(LaT)
+1068 711 y(E)1094 702 y(X.)0 786 y Fq(\\end{texdraw})240
+849 y Ft(End)k(a)g(T)407 858 y(E)433 849 y(Xdra)o(w)f(dra)o(wing)h
+(started)f(with)i(a)e Fq(\\begin{texdraw})f Ft(command.)32
+b(The)19 b(resulting)240 911 y(T)265 921 y(E)291 911
+y(Xdra)o(w)12 b(dra)o(wing)h(is)g(placed)i(in)f(a)e(b)q(o)o(x)h(with)h
+(heigh)o(t)f(equal)h(to)e(the)i(heigh)o(t)f(of)g(the)g(dra)o(wing)g
+(and)240 973 y(width)i(equal)f(to)g(the)g(width)h(of)e(the)h(dra)o
+(wing.)20 b(The)14 b(depth)h(of)e(the)i(b)q(o)o(x)e(is)i(zero.)k(This)c
+(command)240 1036 y(is)h(for)e(use)i(with)f(LaT)613 1045
+y(E)639 1036 y(X.)0 1120 y Fq(\\centertexdraw{)e(...)i(})240
+1183 y Ft(Cen)o(ter)e(a)g(T)447 1192 y(E)472 1183 y(Xdra)o(w)g(b)q(o)o
+(x)g(horizon)o(tally)l(.)20 b(The)14 b(argumen)o(t)e(con)o(tains)i(T)
+1460 1192 y(E)1485 1183 y(Xdra)o(w)f(commands.)19 b(The)240
+1245 y(resulting)j(b)q(o)o(x)g(has)f(the)g(horizon)o(tal)h(size)g
+Fq(\\hsize)f Ft(and)g(heigh)o(t)h(equal)g(to)f(the)g(heigh)o(t)h(of)f
+(the)240 1307 y(dra)o(wing.)0 1392 y Fq(\\everytexdraw{)13
+b(...)i(})240 1454 y Ft(Sp)q(ecify)d(T)418 1464 y(E)444
+1454 y(Xdra)o(w)d(commands)i(to)e(b)q(e)j(executed)f(at)f(the)g(b)q
+(eginning)j(of)d(ev)o(ery)g(T)1612 1464 y(E)1638 1454
+y(Xdra)o(w)f(dra)o(wing.)0 1674 y Fs(2.2)33 b(Command)14
+b(syn)n(tax)62 1811 y Ft(Generally)g(T)291 1821 y(E)317
+1811 y(Xdra)o(w)f(commands)f(that)h(tak)o(e)f(a)h(single)i(argumen)o(t)
+d(need)i(a)f(terminating)g(blank)h(or)f(newline)0 1873
+y(after)19 b(the)h(argumen)o(t.)32 b(Argumen)o(ts)19
+b(that)g(are)g(self-delimiti)q(ng,)k(suc)o(h)d(as)f(co)q(ordinates)h
+(within)h(paren)o(theses)0 1935 y(and)14 b(text)f(within)i(braces,)f
+(do)g(not)f(need)i(the)e(terminating)i(blank.)20 b(Ho)o(w)o(ev)o(er,)12
+b(ev)o(en)j(when)f(not)f(needed)i(b)o(y)f(the)0 1998
+y(de\014ning)21 b(syn)o(tax)d(of)h(the)g(command,)g(blanks)h(follo)o
+(wing)g(command)f(argumen)o(ts)f(are)h(allo)o(w)o(ed)g(and)g(ignored)0
+2060 y(within)d(the)g(T)245 2070 y(E)270 2060 y(Xdra)o(w)f(en)o
+(vironmen)o(t.)62 2197 y(On)j(en)o(tering)f(the)g(T)422
+2207 y(E)447 2197 y(Xdra)o(w)f(en)o(vironmen)o(t,)h(T)896
+2207 y(E)922 2197 y(X)f(is)i(in)f(in)o(ternal)h(v)o(ertical)f(mo)q(de)g
+(\(v)o(ertical)g(mo)q(de)g(inside)0 2259 y(a)k Fq(\\vbox)p
+Ft(\).)36 b(In)22 b(this)f(mo)q(de,)i(spaces)e(can)g(b)q(e)h(placed)g
+(freely)g(b)q(et)o(w)o(een)f(commands.)37 b(Ho)o(w)o(ev)o(er,)22
+b(an)o(y)e(other)0 2321 y(extraneous)13 b(input)i(that)e(generates)h
+(output)f(that)g(is)i(not)e(part)g(of)g(the)h(T)1260
+2331 y(E)1286 2321 y(Xdra)o(w)f(en)o(vironmen)o(t)h(is)g(disallo)o(w)o
+(ed.)62 2458 y(Blank)i(lines)g(are)e(in)o(terpreted)i(as)e(paragraph)g
+(breaks,)g(equiv)m(alen)o(t)i(to)e(a)h Fq(\\par)f Ft(command.)19
+b(The)c(T)1793 2468 y(E)1819 2458 y(Xdra)o(w)0 2521 y(macro)j
+Fq(\\centertexdraw)f Ft(is)i(de\014ned)h(with)g(the)e
+Fq(\\long)h Ft(attribute)f(to)g(allo)o(w)h Fq(\\par)g
+Ft(commands)f(and)h(blank)0 2583 y(lines)e(to)f(b)q(e)g(in)o(tersp)q
+(ersed)h(b)q(et)o(w)o(een)f(T)678 2593 y(E)704 2583 y(Xdra)o(w)f
+(commands.)22 b(The)16 b Fq(\\btexdraw)f Ft(and)h Fq(\\etexdraw)e
+Ft(commands)0 2645 y(also)h(allo)o(w)h Fq(\\par)e Ft(command)h(and)h
+(blank)g(lines)g(to)f(b)q(e)h(included.)p eop
+%%Page: 6 8
+6 7 bop 0 -83 a Ft(6)1745 b(T)1793 -73 y(E)1819 -83 y(Xdra)o(w)0
+158 y Fs(2.3)33 b(T)156 172 y(E)191 158 y(Xdra)n(w)15
+b(co)r(ordinates)62 297 y Ft(The)j(T)183 306 y(E)209
+297 y(Xdra)o(w)f(co)q(ordinate)h(system)g(has)f(increasing)i
+Fo(x)i Ft(to)c(the)h(righ)o(t)g(and)g(increasing)h Fo(y)j
+Ft(up)o(w)o(ard.)27 b(The)0 359 y(co)q(ordinates)14 b(\(without)g(the)g
+(unit\))h(are)e(\015oating)h(p)q(oin)o(t)h(n)o(um)o(b)q(ers.)k(In)o
+(teger)14 b(v)m(alues)h(can)g(b)q(e)f(written)g(without)g(a)0
+421 y(decimal)f(p)q(oin)o(t.)20 b(The)12 b(size)g(of)g(the)g(dra)o
+(wing)g(is)g(determined)h(b)o(y)f(the)g(maxim)o(um)g(excursions)g(of)g
+(the)g(co)q(ordinates)0 483 y(sp)q(eci\014ed)17 b(in)f(T)261
+493 y(E)287 483 y(Xdra)o(w)e(commands.)840 853 y @beginspecial
+0 @hoffset 0 @voffset @setspecial
+%%BeginDocument: texdraw.ps1
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+0 240 (T) 48 24 av
+0 0 mv
+240 0 (T) 48 24 av
+stroke end showpage
+%%EndDocument
+ @endspecial 828 574 a Fo(y)1110 863 y(x)62 991 y Ft(Consider)i(the)f
+(follo)o(wing)h(example)g(of)f(T)777 1001 y(E)803 991
+y(Xdra)o(w)f(commands)h(to)g(dra)o(w)f(a)h(simple)i(\014gure.)120
+1119 y Fq(\\centertexdraw{)168 1171 y(\\drawdim)22 b(cm)48
+b(\\linewd)23 b(0.02)168 1223 y(\\move\(2)g(2\))g(\\lvec\(3)g(3\))h
+(\\lvec\(2)f(4\))g(\\lvec\(1)g(3\))h(\\lvec\(2)f(2\))168
+1275 y(\\textref)f(h:C)i(v:C)f(\\htext\(2)g(3\){$\\sum)g(\\rho_n$})120
+1327 y(})856 1635 y @beginspecial -28 @hoffset -57 @voffset
+@setspecial
+%%BeginDocument: texdraw.ps2
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+2 sl
+236 236 mv
+354 354 lv
+236 472 lv
+118 354 lv
+236 236 lv
+stroke end showpage
+%%EndDocument
+ @endspecial 926 1496 a Fm(P)977 1529 y Fl(\032)1001
+1536 y Fk(n)62 1773 y Ft(This)17 b(dra)o(wing)f(uses)g(units)h(of)e
+(cen)o(timetres,)h(with)h(a)e(line)j(width)e(of)g(0.02)f(cm.)22
+b(The)16 b Fo(x)j Ft(co)q(ordinate)d(ranges)0 1836 y(b)q(et)o(w)o(een)f
+(1)g(and)g(3)g(while)h(the)f Fo(y)k Ft(co)q(ordinate)c(ranges)g(b)q(et)
+o(w)o(een)g(2)g(and)g(4.)k(When)d(included)h(in)o(to)e(a)g(do)q(cumen)o
+(t,)0 1898 y(the)20 b(size)g(of)g(the)f(dra)o(wing)h(is)g(2)f(cm)h(b)o
+(y)g(2)f(cm.)34 b(The)19 b(dra)o(wing)h(is)g(placed)h(in)g(a)e(T)1471
+1908 y(E)1496 1898 y(X)h(b)q(o)o(x,)h(with)f(the)f(lo)o(w)o(er)0
+1960 y(lefthand)f(corner)g(of)f(the)h(b)q(o)o(x)f(corresp)q(onding)i
+(to)e(T)924 1970 y(E)949 1960 y(Xdra)o(w)g(co)q(ordinate)h
+Fq(\(1)d(2\))j Ft(and)f(the)h(upp)q(er)h(righ)o(thand)0
+2022 y(corner)d(at)f Fq(\(3)g(4\))p Ft(.)21 b(The)16
+b Fq(\\centertexdraw)e Ft(command)i(cen)o(ters)g(the)f(dra)o(wing)h
+(horizon)o(tally)l(.)23 b(The)16 b Fq(\\textref)0 2085
+y Ft(command)d(con)o(trols)f(the)h(cen)o(tering)h(of)e(the)h(text.)19
+b(The)13 b(text)f(in)i(this)f(dra)o(wing)g(is)g(cen)o(tered)g(\(b)q
+(oth)g(horizon)o(tally)0 2147 y(and)i(v)o(ertically\))h(at)f(the)g(co)q
+(ordinate)h Fq(\(2)f(3\))p Ft(.)0 2382 y Fs(2.4)33 b(Co)r(ordinate)15
+b(sp)r(eci\014cation)62 2521 y Ft(Co)q(ordinates)h(are)f(sp)q
+(eci\014ed)j(within)f(paren)o(theses,)e(with)h(blanks)g(\(but)g(no)f
+(comma\))g(b)q(et)o(w)o(een)h(the)f(v)m(alues.)0 2583
+y(Leading)h(blanks)f(and)g(trailing)h(blanks)g(are)e(p)q(ermitted)i
+(within)g(the)f(paren)o(theses.)20 b(The)15 b(co)q(ordinates)g(refer)g
+(to)0 2645 y(units,)20 b(whic)o(h)f(are)f(sp)q(eci\014ed)j(b)o(y)d(the)
+h Fq(\\drawdim)e Ft(command.)30 b(The)19 b(default)g(is)g(inc)o(hes,)h
+(but)f(an)o(y)f(v)m(alid)i(T)1890 2655 y(E)1916 2645
+y(X)p eop
+%%Page: 7 9
+7 8 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1068 b(7)0 158
+y(dimension)16 b(unit)g(can)e(b)q(e)i(sp)q(eci\014ed.)21
+b(Sym)o(b)q(olic)16 b(sp)q(eci\014cation)h(of)d(sa)o(v)o(ed)g(co)q
+(ordinate)h(v)m(alues)h(will)g(b)q(e)f(discused)0 221
+y(later)g(\(see)g(Section)h(3.3)f([Sa)o(ving)g(p)q(ositions],)g(page)g
+(18\).)0 378 y Fq(\\drawdim)f Fo(dim)240 440 y Ft(Set)j(the)h(units)g
+(to)e Fo(dim)p Ft(.)27 b(The)18 b(argumen)o(t)e Fo(dim)i
+Ft(can)g(b)q(e)g(an)o(y)f(v)m(alid)i(T)1458 450 y(E)1483
+440 y(X)f(dimension)h(unit.)27 b(The)240 502 y(units)16
+b(are)g(used)g(to)f(in)o(terpret)h(co)q(ordinate)g(v)m(alues.)23
+b(Examples)16 b(of)f(v)m(alid)j(units:)j Fq(cm)p Ft(,)15
+b Fq(mm)p Ft(,)h Fq(in)p Ft(,)f Fq(pt)p Ft(,)240 564
+y(and)g Fq(bp)p Ft(.)62 712 y(Examples)h(of)f(co)q(ordinate)g(and)h
+(scaling)g(sp)q(eci\014cations:)0 859 y Fq(\\drawdim)e({cm})h
+(\\move\(2)f(2\))240 921 y Ft(Set)j(the)g(units)h(to)e(cen)o(timetres,)
+i(mo)o(v)o(e)e(to)g(a)h(p)q(osition)h(2)f(cm)g(to)f(the)h(righ)o(t)g
+(and)g(2)g(cm)g(up)h(from)240 983 y(the)d(origin)h(of)f(the)g(dra)o
+(wing)g(co)q(ordinate)h(system.)0 1065 y Fq(\\drawdim)e(bp)240
+1128 y Ft(Set)h(the)h(units)f(to)g(big)h(p)q(oin)o(ts.)0
+1210 y Fq(\\lvec)e(\()h(2.2)g(+5.5\))g(\\lvec\(2.3)f(-2\))g
+(\\lvec\(2.2)g(5.4)h(\))240 1272 y Ft(Examples)h(of)e(acceptable)j(co)q
+(ordinate)e(sp)q(eci\014cations.)0 1487 y Fs(2.5)33 b(Line)16
+b(v)n(ectors)62 1624 y Ft(T)87 1634 y(E)113 1624 y(Xdra)o(w)10
+b(implemen)o(ts)h(mo)o(v)o(es,)g(line)h(v)o(ectors)e(and)g(arro)o(w)g
+(v)o(ectors.)17 b(There)11 b(are)f(b)q(oth)h(absolute)g(and)f(relativ)o
+(e)0 1686 y(motion)i(v)o(ersions)h(of)e(these)i(v)o(ector)e(commands.)
+19 b(T)883 1696 y(E)909 1686 y(Xdra)o(w)11 b(main)o(tains)i(a)f(curren)
+o(t)g(p)q(osition.)20 b(Lines)13 b(are)f(dra)o(wn)0 1748
+y(from)i(the)h(curren)o(t)f(p)q(osition)i(to)e(a)h(new)g(co)q
+(ordinate,)f(with)i(the)e(new)h(co)q(ordinate)g(b)q(ecoming)h(the)f
+(new)g(curren)o(t)0 1811 y(p)q(osition.)23 b(An)16 b(explicit)i(mo)o(v)
+o(e)d(can)h(b)q(e)g(used)g(to)g(establish)g(a)g(new)g(curren)o(t)g(p)q
+(osition.)22 b(The)16 b(p)q(osition)h Fq(\(0)e(0\))g
+Ft(is)0 1873 y(used)h(if)f(there)h(is)f(no)h(mo)o(v)o(e)e(to)h(an)g
+(initial)i(curren)o(t)e(p)q(osition.)62 2010 y(The)f
+Fq(\\move)f Ft(and)g Fq(\\rmove)g Ft(commands)g(establish)i(a)e(new)g
+(curren)o(t)h(p)q(osition)g(without)f(dra)o(wing)h(a)f(line.)21
+b(The)0 2072 y Fq(\\lvec)14 b Ft(and)i Fq(\\rlvec)e Ft(commands)h(dra)o
+(w)f(a)h(line)i(from)e(the)g(curren)o(t)g(p)q(osition)h(to)f(a)f(new)i
+(p)q(osition,)g(whic)o(h)g(then)0 2135 y(b)q(ecomes)c(the)f(new)g
+(curren)o(t)g(p)q(osition.)19 b(The)12 b Fq(\\avec)e
+Ft(and)h Fq(\\ravec)f Ft(commands)h(dra)o(w)f(a)h(line)i(with)e(an)g
+(arro)o(whead)0 2197 y(from)j(the)h(curren)o(t)g(p)q(osition)h(to)e(a)h
+(new)g(co)q(ordinate,)g(whic)o(h)h(then)f(b)q(ecomes)h(the)f(new)g
+(curren)o(t)g(p)q(osition.)21 b(The)0 2259 y(tip)16 b(of)f(the)h(arro)o
+(w)e(is)i(at)e(the)i(new)g(curren)o(t)f(p)q(osition.)22
+b(The)15 b(direction)i(of)e(the)h(arro)o(w)e(follo)o(ws)h(the)h
+(direction)g(of)0 2321 y(the)d(line.)21 b(Since)15 b(this)e(direction)i
+(is)f(unde\014ned)h(for)d(zero)h(length)h(v)o(ectors,)f(these)g(are)g
+(not)g(allo)o(w)o(ed)g(for)g Fq(\\avec)f Ft(or)0 2384
+y Fq(\\ravec)p Ft(.)23 b(Zero)16 b(length)h(arro)o(w)e(v)o(ectors)h
+(will)i(generate)f(a)f(P)o(ostScript)g(prin)o(t)h(error:)22
+b Fq(undefinedresult)p Ft(.)g(F)l(or)0 2446 y(an)o(y)14
+b(non-zero)h(length)h(v)o(ector,)d(the)i(full)h(size)g(arro)o(whead)e
+(is)h(dra)o(wn,)f(ev)o(en)h(if)g(that)f(arro)o(whead)g(is)h(longer)g
+(than)0 2508 y(the)g(line)i(length.)62 2645 y(The)f(absolute)f(motion)g
+(v)o(ersions)h(of)e(these)i(commands)f(sp)q(ecify)h(the)g(co)q
+(ordinate)f(of)g(the)g(\014nal)h(p)q(osition.)p eop
+%%Page: 8 10
+8 9 bop 0 -83 a Ft(8)1745 b(T)1793 -73 y(E)1819 -83 y(Xdra)o(w)0
+158 y Fq(\\move)14 b(\()p Fo(x)19 b(y)t Fq(\))240 221
+y Ft(Mo)o(v)o(e)14 b(to)h(co)q(ordinate)g Fq(\()p Fo(x)k(y)t
+Fq(\))p Ft(.)g(The)d(new)f(curren)o(t)g(p)q(osition)h(is)g
+Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)0 307 y Fq(\\lvec)c(\()p
+Fo(x)19 b(y)t Fq(\))240 370 y Ft(Dra)o(w)c(a)h(line)i(from)d(the)h
+(curren)o(t)g(p)q(osition)h(to)f(co)q(ordinate)h Fq(\()p
+Fo(x)h(y)t Fq(\))p Ft(.)k(The)16 b(new)h(curren)o(t)f(p)q(osition)240
+432 y(is)g Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)0 519 y Fq(\\avec)c(\()p
+Fo(x)19 b(y)t Fq(\))240 581 y Ft(Dra)o(w)c(a)i(line)h(with)f(an)g(arro)
+o(whead)e(from)h(the)h(curren)o(t)g(p)q(osition)g(to)f
+Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)24 b(The)17 b(new)g(curren)o(t)240
+643 y(p)q(osition)f(is)g Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)i(The)15
+b(arro)o(whead)f(is)i(aligned)h(with)e(the)g(line,)i(with)e(the)h(tip)f
+(at)g Fq(\()p Fo(x)j(y)t Fq(\))p Ft(.)62 792 y(The)k(relativ)o(e)h
+(motion)f(v)o(ersions)g(of)f(these)i(commands)e(in)o(terpret)i(the)f
+(co)q(ordinates)g(as)g(displacemen)o(ts)0 855 y(relativ)o(e)f(to)e(the)
+i(curren)o(t)f(p)q(osition.)36 b(Giv)o(en)20 b(the)h(displacemen)o(ts)g
+Fq(\()p Fo(dx)e(dy)t Fq(\))h Ft(as)g(a)f(parameter,)i(eac)o(h)f(of)g
+(the)0 917 y(relativ)o(e)c(motion)f(commands)g(mo)o(v)o(es)f
+Fo(dx)19 b Ft(units)d(in)g(the)f Fo(x)j Ft(direction)f(and)e
+Fo(dy)k Ft(units)d(in)g(the)g Fo(y)j Ft(direction.)0
+1078 y Fq(\\rmove)14 b(\()p Fo(dx)19 b(dy)t Fq(\))240
+1140 y Ft(Mo)o(v)o(e)h(from)g(the)g(curren)o(t)h(p)q(osition,)i
+Fo(dx)h Ft(units)d(in)g(the)g Fo(x)j Ft(direction)e(and)f
+Fo(dy)j Ft(units)e(in)f(the)g Fo(y)240 1203 y Ft(direction.)g(The)16
+b(\014nal)g(p)q(osition)g(b)q(ecomes)g(the)f(new)g(curren)o(t)g(p)q
+(osition.)0 1289 y Fq(\\rlvec)f(\()p Fo(dx)19 b(dy)t
+Fq(\))240 1352 y Ft(Dra)o(w)14 b(a)h(line)i(from)e(the)g(curren)o(t)h
+(p)q(osition,)g Fo(dx)j Ft(units)d(in)g(the)f Fo(x)k
+Ft(direction)d(and)g Fo(dy)k Ft(units)c(in)g(the)240
+1414 y Fo(y)j Ft(direction.)i(The)16 b(\014nal)g(p)q(osition)g(b)q
+(ecomes)g(the)f(new)g(curren)o(t)h(p)q(osition.)0 1501
+y Fq(\\ravec)e(\()p Fo(dx)19 b(dy)t Fq(\))240 1563 y
+Ft(Dra)o(w)c(a)h(line)i(with)f(an)f(arro)o(whead)f(from)h(the)g(curren)
+o(t)h(p)q(osition,)g Fo(dx)j Ft(units)d(in)g(the)f Fo(x)k
+Ft(direction)240 1625 y(and)e Fo(y)j Ft(units)d(in)g(the)f
+Fo(y)k Ft(direction.)28 b(The)18 b(\014nal)g(p)q(osition)g(b)q(ecomes)g
+(the)g(new)f(curren)o(t)g(p)q(osition.)240 1687 y(The)e(arro)o(whead)g
+(is)g(aligned)i(with)e(the)h(line,)g(with)g(the)f(tip)h(at)e(the)i(new)
+f(curren)o(t)g(p)q(osition.)62 1837 y(Lines)e(can)e(b)q(e)h(customized)
+g(with)g(commands)f(to)f(c)o(hange)h(the)h(line)g(width,)h(line)g
+(pattern)d(and)i(line)g(gra)o(y)f(lev)o(el)0 1899 y(rendition.)21
+b(In)16 b(addition,)g(commands)f(for)g(c)o(hanging)g(the)g(t)o(yp)q(e)h
+(and)f(size)h(of)f(the)g(arro)o(whead)g(are)f(a)o(v)m(ailable.)0
+2060 y Fq(\\linewd)g Fo(width)240 2123 y Ft(Set)19 b(the)g(line)h
+(width)g(to)e Fo(width)h Ft(units.)31 b(Initially)22
+b Fo(width)d Ft(is)g(0.01)f(inc)o(hes)i(\(corresp)q(onding)f(to)f(3)240
+2185 y(pixels)f(at)d(300)h(pixels)h(to)f(the)g(inc)o(h\).)0
+2271 y Fq(\\lpatt)f(\()p Fo(pattern)p Fq(\))240 2334
+y Ft(Set)21 b(lines)h(to)e(ha)o(v)o(e)h(the)f(pattern)h
+Fq(\()p Fo(pattern)p Fq(\))p Ft(.)36 b(A)20 b(pattern)h(is)g(a)f
+(sequence)i(of)f(on/o\013)e(lengths)240 2396 y(separated)e(b)o(y)g
+(blanks)g(and)h(enclosed)g(in)g(paren)o(theses.)25 b(The)17
+b(lengths)h(alternately)g(sp)q(ecify)g(the)240 2458 y(length)g(of)f(a)h
+(dash)f(and)h(the)g(length)g(of)f(a)g(gap)h(b)q(et)o(w)o(een)f(dashes.)
+28 b(Eac)o(h)17 b(length)h(is)g(in)o(terpreted)240 2521
+y(using)c(the)g(curren)o(t)f(scaling)i(and)e(dra)o(wing)h(units.)20
+b(The)13 b(pattern)g(is)h(used)g(cyclically)l(.)23 b(The)13
+b(empt)o(y)240 2583 y(pattern)k(signi\014es)i(a)e(solid)i(line.)28
+b(The)18 b(initial)i(line)f(pattern)e(is)h(a)f(solid)i(line,)g(corresp)
+q(onding)g(to)240 2645 y(the)c(empt)o(y)g(pattern)g Fq(\\lpatt)f(\(\))p
+Ft(.)p eop
+%%Page: 9 11
+9 10 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1068 b(9)0 158
+y Fq(\\setgray)14 b Fo(lev)o(el)240 221 y Ft(Set)19 b(the)g(gra)o(y)f
+(lev)o(el)i(of)e(lines.)32 b(Gra)o(y)18 b(lev)o(els)i(are)f(real)g(v)m
+(alues)h(from)e(0)g(\(blac)o(k\))h(through)g(in)o(ter-)240
+283 y(mediate)e(v)m(alues)g(\(gra)o(y\))e(to)h(1)g(\(white\).)23
+b(The)17 b(initial)i(gra)o(y)c(lev)o(el)j(is)f(0)f(corresp)q(onding)h
+(to)f(blac)o(k.)0 477 y Fq(\\arrowheadtype)d(t:)p Fo(t)o(yp)q(e)240
+539 y Ft(Set)k(the)h(arro)o(whead)e(t)o(yp)q(e)h(to)g
+Fo(t)o(yp)q(e)p Ft(,)g(where)h Fo(t)o(yp)q(e)i Ft(is)d(one)h(of)f
+Fq(F)p Ft(,)g Fq(T)p Ft(,)g Fq(W)p Ft(,)g Fq(V)p Ft(,)g(or)g
+Fq(H)p Ft(.)26 b(There)17 b(are)g(t)o(w)o(o)240 601 y(kinds)i(of)e
+(arro)o(wheads.)27 b(The)18 b(\014rst)f(kind)i(is)f(a)f(triangle.)29
+b(There)18 b(are)f(3)g(v)m(arian)o(ts:)25 b(t)o(yp)q(e)18
+b Fq(T)g Ft(is)g(an)240 664 y(empt)o(y)e(triangle,)h(t)o(yp)q(e)g
+Fq(F)f Ft(is)h(a)f(\014lled)j(triangle)e(\(using)g(the)g(curren)o(t)f
+(gra)o(y)f(lev)o(el)j(for)e(lines\),)i(t)o(yp)q(e)240
+726 y Fq(W)e Ft(is)g(a)g(triangle)h(\014lled)h(with)e(white.)23
+b(The)17 b(second)f(kind)h(of)f(arro)o(whead)f(is)i(an)f(op)q(en)g
+(ended)i(V)l(ee.)240 788 y(There)c(are)f(2)h(v)m(arian)o(ts:)19
+b(t)o(yp)q(e)13 b Fq(V)h Ft(has)f(the)h(stem)f(con)o(tin)o(ue)i(to)e
+(the)g(tip,)i(t)o(yp)q(e)e Fq(H)h Ft(has)f(the)h(stem)f(stop)240
+851 y(at)i(the)g(base)g(of)g(the)g(arro)o(whead.)k(The)c(initial)j
+(arro)o(whead)c(t)o(yp)q(e)h(is)h Fq(T)p Ft(.)0 982 y
+Fq(\\arrowheadsize)d(l:)p Fo(length)j Fq(w:)p Fo(width)240
+1045 y Ft(Set)j(the)h(arro)o(whead)e(size)i(to)f(b)q(e)h
+Fo(length)g Ft(units)g(long)g(and)f Fo(width)h Ft(units)g(wide.)33
+b(The)20 b(width)f(is)240 1107 y(measured)d(across)e(the)i(\\base")f
+(of)g(the)h(arro)o(whead.)j(The)d(initial)i(arro)o(whead)c(size)j(has)e
+(a)g Fo(length)240 1169 y Ft(of)g(0.16)f(inc)o(hes)i(and)f(a)g
+Fo(width)h Ft(of)f(0.08)f(inc)o(hes.)62 1363 y(Note)h(that)f(the)i
+(lines)g(whic)o(h)g(outline)h(the)e(arro)o(whead)f(will)j(b)q(e)f(dra)o
+(wn)e(with)i(the)f(same)g(line)i(pattern)d(used)0 1426
+y(for)j(the)h(stem.)28 b(Normally)l(,)19 b(arro)o(w)e(v)o(ectors)g(are)
+h(dra)o(wn)f(with)h(the)g(line)i(pattern)e(set)f(for)h(a)f(solid)i
+(line.)30 b(Note)0 1488 y(that)14 b(the)g(\014ll)i(lev)o(el)g(used)f
+(for)f(the)g Fq(F)g Ft(v)m(arian)o(t)h(of)f(the)g(arro)o(whead)g(uses)g
+(the)h(same)f(gra)o(y)f(lev)o(el)j(as)e(used)h(for)f(lines.)0
+1550 y(The)k(di\013erence)g(b)q(et)o(w)o(een)g(the)f
+Fq(T)h Ft(v)m(arian)o(t)f(and)h(the)f Fq(W)g Ft(v)m(arian)o(t)h(only)g
+(sho)o(ws)e(up)i(if)g(the)f(arro)o(whead)g(is)h(placed)0
+1612 y(o)o(v)o(er)c(non-white)i(areas)f(of)g(the)g(dra)o(wing.)20
+b(The)15 b Fq(W)g Ft(v)m(arian)o(t)g(obliterates)h(the)f(area)g(under)h
+(the)f(arro)o(whead.)62 1772 y(Examples)h(of)f(line)i(parameter)d(and)h
+(arro)o(whead)g(settings)g(are)g(sho)o(wn)g(in)h(the)f(follo)o(wing)h
+(co)q(de.)120 1921 y Fq(\\centertexdraw{)168 1972 y(\\drawdim)22
+b(in)168 2024 y(\\linewd)h(0.03)g(\\setgray)g(0.6)g(\\arrowheadtype)f
+(t:F)i(\\avec\(0)e(0.5\))168 2076 y(\\linewd)h(0.01)g(\\setgray)g(0)71
+b(\\arrowheadtype)22 b(t:V)i(\\avec\(0.5)e(0.5\))168
+2128 y(\\linewd)h(0.015)g(\\lpatt\(0.067)f(0.1\))h(\\lvec)h(\(1)f(0\))
+168 2180 y(\\linewd)g(0.02)g(\\lpatt\(\))g(\\arrowheadtype)f(t:T)h
+(\\avec\(1.5)g(0.5\))168 2232 y(\\arrowheadtype)f(t:H)h(\\avec\(2.0)g
+(0.5\))168 2284 y(\\setgray)f(0.4)i(\\arrowheadtype)e(t:W)h
+(\\avec\(3.0)g(0\))120 2336 y(})525 2645 y @beginspecial
+0 @hoffset 0 @voffset @setspecial
+%%BeginDocument: texdraw.ps3
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+9 sl
+0.6 sg
+150 150 (F) 48 24 av
+3 sl
+0 sg
+300 150 (V) 48 24 av
+4 sl
+[20 30] sd
+450 0 lv
+6 sl
+[] sd
+600 150 (T) 48 24 av
+750 150 (H) 48 24 av
+0.4 sg
+900 0 (W) 48 24 av
+stroke end showpage
+%%EndDocument
+ @endspecial 558 2523 a(t:F)753 2544 y(t:V)999 2523 y(t:T)1203
+2544 y(t:H)1293 2645 y(t:W)p eop
+%%Page: 10 12
+10 11 bop 0 -83 a Ft(10)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fs(2.6)33 b(T)156 172 y(E)191 158
+y(X)15 b(text)62 296 y Ft(T)l(ext)i(ma)o(y)g(b)q(e)g(sup)q(erimp)q
+(osed)i(on)e(the)h(dra)o(wing.)25 b(The)17 b(text)g(argumen)o(t)f(of)h
+(the)g Fq(\\htext)g Ft(command)f(is)i(in)0 358 y(horizon)o(tal)12
+b(mo)q(de.)20 b(This)12 b(text)g(can)g(b)q(e)h(ordinary)g(text,)e(math)
+h(mo)q(de)h(expressions,)g(or)e(ev)o(en)i(more)f(complicated)0
+420 y(b)q(o)o(xes)17 b(consisting)h(of)e(tables)i(and)f(the)g(lik)o(e.)
+26 b(The)17 b(resulting)h(T)1111 430 y(E)1137 420 y(X)f(text)f(is)i
+(placed)g(in)f(a)g(b)q(o)o(x.)25 b(The)17 b(reference)0
+483 y(p)q(oin)o(t)11 b(of)g(the)f(b)q(o)o(x)h(can)g(b)q(e)g(c)o(hosen)h
+(to)e(b)q(e)h(one)g(of)f(nine)i(lo)q(cations:)19 b(horizon)o(tally)11
+b(left,)h(cen)o(ter)f(or)f(righ)o(t;)i(v)o(ertically)0
+545 y(top,)i(cen)o(ter)i(or)e(b)q(ottom.)19 b(The)d Fq(\\htext)e
+Ft(command)h(tak)o(es)g(one)g(of)g(t)o(w)o(o)f(forms.)0
+709 y Fq(\\htext)g(\()p Fo(x)k(y)t Fq(\){)p Fo(text)q
+Fq(})0 771 y(\\htext)c({)p Fo(text)q Fq(})240 833 y Ft(The)19
+b(\014rst)g(form)f(of)h(this)g(command)g(places)h(the)f(T)1150
+843 y(E)1176 833 y(X)g(text)f Fo(text)i Ft(horizon)o(tally)g(with)f
+(the)g(text)240 896 y(reference)12 b(p)q(oin)o(t)f(at)g(the)g(co)q
+(ordinate)h Fq(\()p Fo(x)18 b(y)t Fq(\))p Ft(.)g(The)11
+b(new)h(curren)o(t)f(p)q(osition)h(is)g Fq(\()p Fo(x)18
+b(y)t Fq(\))p Ft(.)g(The)11 b(second)240 958 y(form)f(of)f(this)i
+(command)f(places)i(the)e(T)903 968 y(E)928 958 y(X)h(text)f
+Fo(text)g Ft(horizon)o(tally)i(with)e(the)h(text)e(reference)i(p)q(oin)
+o(t)240 1020 y(at)k(the)g(curren)o(t)g(p)q(osition.)21
+b(The)15 b(text)g(reference)h(p)q(oin)o(t)g(is)f(set)g(with)h(the)f
+Fq(\\textref)f Ft(command.)62 1171 y(T)l(ext)j(can)g(b)q(e)h(placed)g
+(v)o(ertically)g(using)g(the)f Fq(\\vtext)f Ft(command.)25
+b(The)17 b(text)f(argumen)o(t)g(is)i(in)g(horizon)o(tal)0
+1233 y(mo)q(de.)j(The)16 b(T)260 1243 y(E)286 1233 y(X)f(text)g(is)i
+(placed)f(in)h(a)e(b)q(o)o(x)h(and)f(then)h(rotated)f(coun)o(terclo)q
+(c)o(kwise.)22 b(The)16 b(reference)g(p)q(oin)o(t)g(is)0
+1295 y(the)e(p)q(oin)o(t)g(in)g(the)g(b)q(o)o(x,)g Fo(b)q(efore)i
+Ft(rotation)d(of)g(the)h(text.)19 b(Not)13 b(all)h(P)o(ostScript)g
+(prin)o(ter)g(driv)o(ers)g(supp)q(ort)f(v)o(ertical)0
+1358 y(text.)0 1521 y Fq(\\vtext)h(\(x)h(y\){)p Fo(text)q
+Fq(})0 1584 y(\\vtext)f({)p Fo(text)q Fq(})240 1646 y
+Ft(The)23 b(\014rst)f(form)g(of)h(this)g(command)f(places)i(the)f(T)
+1180 1656 y(E)1205 1646 y(X)g(text)f Fo(text)i Ft(v)o(ertically)g(with)
+f(the)f(text)240 1708 y(reference)g(p)q(oin)o(t)g(at)f(the)g(co)q
+(ordinate)h Fq(\()p Fo(x)c(y)t Fq(\))p Ft(.)38 b(The)22
+b(new)g(curren)o(t)f(p)q(osition)h(is)g Fq(\()p Fo(x)d(y)t
+Fq(\))p Ft(.)38 b(The)240 1770 y(second)13 b(form)e(of)g(this)i
+(command)f(places)h(the)f(T)1057 1780 y(E)1082 1770 y(X)g(text)g
+Fo(text)g Ft(v)o(ertically)h(with)g(the)f(text)f(reference)240
+1833 y(p)q(oin)o(t)17 b(at)f(the)h(curren)o(t)f(p)q(osition.)26
+b(In)17 b(b)q(oth)g(cases,)f(the)h(T)1252 1842 y(E)1278
+1833 y(X)f(text)h(is)g(placed)h(in)f(a)f(b)q(o)o(x)h(and)g(the)240
+1895 y(b)q(o)o(x)d(is)g(rotated)f(coun)o(terclo)q(c)o(kwise)j(b)o(y)d
+(90)h(degrees)g(ab)q(out)g(the)g(text)g(reference)g(p)q(oin)o(t.)20
+b(The)14 b(text)240 1957 y(reference)i(p)q(oin)o(t)g(is)f(set)g(with)h
+(the)f Fq(\\textref)f Ft(command.)62 2108 y(T)l(ext)i(can)g(b)q(e)g
+(placed)h(at)e(an)h(arbitrary)f(angle)h(using)g(the)g
+Fq(\\rtext)f Ft(command.)21 b(The)16 b(text)f(argumen)o(t)g(is)h(in)0
+2170 y(horizon)o(tal)d(mo)q(de.)19 b(The)12 b(T)465 2180
+y(E)491 2170 y(X)g(text)g(is)g(placed)i(in)f(a)f(b)q(o)o(x)g(and)g
+(then)h(rotated)e(coun)o(terclo)q(c)o(kwise.)20 b(The)12
+b(reference)0 2232 y(p)q(oin)o(t)i(is)g(the)g(p)q(oin)o(t)g(in)g(the)g
+(b)q(o)o(x,)f Fo(b)q(efore)k Ft(rotation)c(of)g(the)g(text.)19
+b(Not)13 b(all)i(P)o(ostScript)e(prin)o(ter)h(driv)o(ers)g(supp)q(ort)0
+2295 y(rotated)g(text.)0 2458 y Fq(\\rtext)g(td:)p Fo(angle)k
+Fq(\(x)d(y\){)p Fo(text)q Fq(})0 2521 y(\\rtext)f(td:)p
+Fo(angle)k Fq({)p Fo(text)q Fq(})240 2583 y Ft(The)i(\014rst)f(form)f
+(of)h(this)h(command)f(places)h(the)g(T)1153 2593 y(E)1178
+2583 y(X)g(text)f Fo(text)g Ft(at)g(an)g(angle)h(with)g(the)f(text)240
+2645 y(reference)j(p)q(oin)o(t)g(at)f(the)g(co)q(ordinate)h
+Fq(\()p Fo(x)c(y)t Fq(\))p Ft(.)38 b(The)22 b(new)g(curren)o(t)f(p)q
+(osition)h(is)g Fq(\()p Fo(x)d(y)t Fq(\))p Ft(.)38 b(The)p
+eop
+%%Page: 11 13
+11 12 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1046 b(11)240 158
+y(second)23 b(form)e(of)h(this)h(command)f(places)i(the)e(T)1129
+168 y(E)1155 158 y(X)g(text)g Fo(text)h Ft(at)e(an)i(angle)f(with)h
+(the)f(text)240 221 y(reference)f(p)q(oin)o(t)g(at)f(the)h(curren)o(t)f
+(p)q(osition.)37 b(In)21 b(b)q(oth)f(cases,)i(the)e(T)1491
+230 y(E)1517 221 y(X)g(text)g(is)h(placed)h(in)f(a)240
+283 y(b)q(o)o(x)15 b(and)g(the)g(b)q(o)o(x)f(is)i(rotated)e(coun)o
+(terclo)q(c)o(kwise)i(b)o(y)e Fo(angle)k Ft(degrees)d(ab)q(out)g(the)g
+(text)f(reference)240 345 y(p)q(oin)o(t.)20 b(The)c(text)e(reference)i
+(p)q(oin)o(t)g(is)g(set)f(with)g(the)h Fq(\\textref)e
+Ft(command.)62 525 y(The)19 b(reference)g(p)q(oin)o(t)f(for)g
+(subsequen)o(t)g(T)807 535 y(E)833 525 y(X)g(text)g(in)h(a)f
+Fq(\\htext)p Ft(,)f Fq(\\vtext)h Ft(or)f Fq(\\rtext)h
+Ft(command)g(is)g(set)0 587 y(with)e(the)f Fq(\\textref)f
+Ft(command.)0 795 y Fq(\\textref)g(h:)p Fo(h-ref)24 b
+Fq(v:)p Fo(v-ref)240 857 y Ft(Set)17 b(the)h(text)e(reference)i(p)q
+(oin)o(t)g(for)f(subsequen)o(t)h(text)e(commands.)26
+b(The)18 b(horizon)o(tal)f(reference)240 920 y(p)q(oin)o(t)f
+Fo(h-ref)25 b Ft(is)16 b(one)f(of)h Fq(L)p Ft(,)f Fq(C)g
+Ft(or)g Fq(R)g Ft(\(left,)h(cen)o(ter)f(or)g(righ)o(t\).)21
+b(The)16 b(v)o(ertical)g(reference)g(p)q(oin)o(t)g Fo(v-ref)240
+982 y Ft(is)k(one)f(of)g Fq(T)p Ft(,)h Fq(C)f Ft(or)f
+Fq(B)h Ft(\(top,)h(cen)o(ter)f(or)f(b)q(ottom\).)31 b(F)l(or)19
+b(rotated)f(text,)h(the)h(reference)g(p)q(oin)o(t)f(is)240
+1044 y(determined)f(b)q(efore)f(rotation.)24 b(The)17
+b(initial)i(text)d(reference)i(p)q(oin)o(t)f(corresp)q(onds)g(to)f
+Fq(\\textref)240 1106 y(h:L)f(v:B)p Ft(.)92 2029 y @beginspecial
+220 @hoffset 96 @voffset @setspecial
+%%BeginDocument: texdraw.ps4
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+bs
+bs
+-450 0 mv
+6 0 fc
+es
+bs
+-720 0 mv
+6 0 fc
+es
+bs
+-180 0 mv
+6 0 fc
+es
+bs
+-450 90 mv
+6 0 fc
+es
+bs
+-450 -90 mv
+6 0 fc
+es
+bs
+-720 -90 mv
+6 0 fc
+es
+-720 -90 mv
+-720 90 lv
+bs
+6 0 fc
+es
+-180 90 lv
+bs
+6 0 fc
+es
+-180 -90 lv
+bs
+6 0 fc
+es
+-720 -90 lv
+es
+bs
+bs
+450 0 mv
+6 0 fc
+es
+bs
+259 -191 mv
+6 0 fc
+es
+bs
+641 191 mv
+6 0 fc
+es
+bs
+386 64 mv
+6 0 fc
+es
+bs
+514 -64 mv
+6 0 fc
+es
+bs
+323 -255 mv
+6 0 fc
+es
+323 -255 mv
+195 -127 lv
+bs
+6 0 fc
+es
+577 255 lv
+bs
+6 0 fc
+es
+705 127 lv
+bs
+6 0 fc
+es
+323 -255 lv
+es
+stroke end showpage
+%%EndDocument
+ @endspecial 400 1612 a(Horizon)o(tal)g(T)l(ext)473 1676
+y Fq(h:C)24 b(v:C)96 1644 y(h:L)f(v:C)588 b(h:R)23 b(v:C)473
+1522 y(h:C)h(v:T)473 1766 y(h:C)g(v:B)96 1734 y(h:L)f(v:B)96
+1554 y(h:L)g(v:T)588 b(h:R)23 b(v:T)851 1734 y(h:R)g(v:B)1444
+1617 y
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1444 1617 a -133 w Ft(Rotated)15 b(T)l(ext)1444
+1617 y
+ currentpoint grestore moveto
+ 1444 1617 a 1470 1643 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1470 1643 a 1386 1671
+a Fq(h:C)24 b(v:C)1470 1643 y
+ currentpoint grestore moveto
+ 1470 1643 a 1249 1838 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+
+1249 1838 a 1082 1852 a Fq(h:L)f(v:C)1249 1838 y
+ currentpoint grestore moveto
+ 1249
+1838 a 1665 1422 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1665 1422 a 14 x Fq(h:R)g(v:C)1665
+1422 y
+ currentpoint grestore moveto
+ 1665 1422 a 1380 1553 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1380 1553 a -84 w Fq(h:C)h(v:T)1380
+1553 y
+ currentpoint grestore moveto
+ 1380 1553 a 1534 1707 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1534 1707 a 1450 1735
+a Fq(h:C)g(v:B)1534 1707 y
+ currentpoint grestore moveto
+ 1534 1707 a 1313 1902 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1313
+1902 a 1146 1916 a Fq(h:L)f(v:B)1313 1902 y
+ currentpoint grestore moveto
+ 1313 1902
+a 1185 1774 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1185 1774 a 1018 1788 a Fq(h:L)g(v:T)1185
+1774 y
+ currentpoint grestore moveto
+ 1185 1774 a 1601 1358 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1601 1358 a 14 x Fq(h:R)g(v:T)1601
+1358 y
+ currentpoint grestore moveto
+ 1601 1358 a 1729 1486 a
+ gsave currentpoint currentpoint translate 45 neg rotate neg exch neg
+exch translate
+ 1729 1486 a 14 x Fq(h:R)g(v:B)1729
+1486 y
+ currentpoint grestore moveto
+ 1729 1486 a 62 2182 a Ft(The)18 b(fon)o(t)f(used)h(to)f(render)h
+(the)g(text)f(is)h(determined)h(as)e(for)g(an)o(y)g(other)g(T)1392
+2191 y(E)1418 2182 y(X)h(text.)26 b(Normally)18 b(the)g(fon)o(t)0
+2244 y(used)h(outside)f(of)g(T)346 2254 y(E)371 2244
+y(Xdra)o(w)g(is)g(in)h(e\013ect.)28 b(If)18 b(desired,)i(other)d(fon)o
+(ts)g(can)h(b)q(e)h(sp)q(eci\014ed)h(as)e(part)f(of)h(the)g(text.)0
+2306 y(An)o(y)d(fon)o(t)g(c)o(hanges)g(within)h(a)f(T)563
+2316 y(E)589 2306 y(Xdra)o(w)f(text)h(command)g(remain)h(lo)q(cal)g(to)
+f(that)f(command.)62 2458 y(Only)g(the)f(co)q(ordinate)h(of)e(the)h
+(text)f(reference)i(p)q(oin)o(t)f(in)h(a)f Fq(\\htext)p
+Ft(,)f Fq(\\vtext)g Ft(or)g Fq(\\rtext)g Ft(command)h(is)g(used)0
+2521 y(in)k(calculating)g(the)f(size)h(of)e(the)h(dra)o(wing.)21
+b(This)c(means)f(that)f(text)g(itself)i(can)f(spill)h(outside)g(of)e
+(the)h(dra)o(wing)0 2583 y(area)i(determined)i(b)o(y)f(T)435
+2593 y(E)461 2583 y(Xdra)o(w.)30 b(The)19 b(area)f(of)g(the)h(dra)o
+(wing)g(can)g(b)q(e)g(increased)h(to)f(include)i(the)e(text)f(b)o(y)0
+2645 y(issuing)e(additional)h Fq(\\move)e Ft(commands.)p
+eop
+%%Page: 12 14
+12 13 bop 0 -83 a Ft(12)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)120 158 y Fq(\\centertexdraw{)430 210 y(\\avec\(-0.75)23
+b(-0.25\))g(\\textref)f(h:R)i(v:C)f(\\htext{H-text})168
+262 y(\\move\(0)g(0\))g(\\avec\(-0.75)g(+0.25\))g(\\textref)f(h:R)i
+(v:B)f(\\htext{H-text})168 314 y(\\move\(0)g(0\))g(\\avec\(0)g(+0.5\))
+143 b(\\textref)22 b(h:L)i(v:T)f(\\vtext{V-text})168
+366 y(\\move\(0)g(0\))g(\\avec\(+0.75)g(+0.25\))g(\\textref)f(h:L)i
+(v:B)f(\\htext{H-text})168 418 y(\\move\(0)g(0\))g(\\avec\(+0.75)g
+(-0.25\))g(\\textref)f(h:L)i(v:C)f(\\htext{H-text})120
+470 y(})62 598 y Ft(Sup)q(erimp)q(osed)f(on)d(this)g(example)h(is)g(a)f
+(shaded)h(region)f(sho)o(wing)g(the)h(limits)g(of)f(the)g(T)1642
+608 y(E)1668 598 y(Xdra)o(w)f(b)q(o)o(x)h(as)0 660 y(determined)e(b)o
+(y)e(the)g(co)q(ordinates)g(sp)q(eci\014ed.)629 1097
+y @beginspecial 83 @hoffset 22 @voffset @setspecial
+%%BeginDocument: texdraw.ps5
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+-225 -75 mv
+-225 150 lv
+225 150 lv
+225 -75 lv
+0.9 fl
+0 0 mv
+-225 -75 (T) 48 24 av
+0 0 mv
+-225 75 (T) 48 24 av
+0 0 mv
+0 150 (T) 48 24 av
+0 0 mv
+225 75 (T) 48 24 av
+0 0 mv
+225 -75 (T) 48 24 av
+stroke end showpage
+%%EndDocument
+ @endspecial -9 w(H-text)620 932 y(H-text)974 857 y
+ gsave currentpoint currentpoint translate 90 neg rotate neg exch neg
+exch translate
+ 974
+857 a 31 x Ft(V-text)974 857 y
+ currentpoint grestore moveto
+ 974 857 a 1199 932 a Ft(H-text)1199
+1097 y(H-text)0 1335 y Fs(2.7)33 b(Circles,)15 b(ellipses)h(and)f(arcs)
+62 1473 y Ft(T)87 1483 y(E)113 1473 y(Xdra)o(w)h(supplies)i(commands)e
+(to)g(generate)g(circles,)i(ellipses)g(and)f(arcs.)23
+b(There)16 b(are)g(t)o(w)o(o)f(forms)h(of)g(the)0 1536
+y(circle)h(command.)22 b(The)16 b Fq(\\lcir)f Ft(command)g(dra)o(ws)g
+(a)g(circle)j(of)d(giv)o(en)h(radius.)22 b(The)16 b Fq(\\fcir)f
+Ft(command)h(dra)o(ws)0 1598 y(a)h(\014lled)i(circle.)28
+b(In)18 b(the)f(latter)g(case,)h(the)f(circle)i(is)f(\014lled)h(b)o(y)e
+(a)g(sp)q(eci\014ed)j(gra)o(y)c(lev)o(el.)27 b(F)l(or)17
+b(the)g(\014lled)j(circle,)0 1660 y(the)d(line)i(de\014ning)f(the)f
+(circumference)i(of)d(the)h(circle)h(is)g(not)e(dra)o(wn.)25
+b(Note)16 b(that)h(the)g(gra)o(y)e(lev)o(el)k(area)d(\014lled)0
+1723 y(in)h(b)o(y)g(the)f Fq(\\fcir)g Ft(command)g(is)h(opaque,)g(ev)o
+(en)g(if)g(the)f(\014ll)i(is)f(c)o(hosen)g(to)f(b)q(e)h(white.)24
+b(F)l(or)16 b(either)h(form)f(of)g(the)0 1785 y(circle)h(command,)e
+(the)g(dra)o(wing)g(size)h(is)g(increased)g(if)g(necessary)f(to)g(con)o
+(tain)g(the)g(circle.)62 1923 y(The)c Fq(\\lellip)f Ft(command)h
+(generates)f(an)h(ellipse)i(sp)q(eci\014ed)g(b)o(y)e(the)g(radius)g(of)
+f(the)h(ellipse)i(in)f(the)f Fo(x)j Ft(direction)0 1986
+y(and)k(the)g(radius)h(of)e(the)h(ellipse)i(in)f(the)f
+Fo(y)k Ft(direction.)29 b(The)19 b(ellipse)h(is)e(symmetrical)h(ab)q
+(out)f(horizon)o(tal)g(and)0 2048 y(v)o(ertical)g(lines)h(dra)o(wn)f
+(through)f(the)h(curren)o(t)f(p)q(oin)o(t.)28 b(The)18
+b Fq(\\fellip)e Ft(command)i(dra)o(ws)f(a)g(\014lled)j(ellipse.)29
+b(In)0 2110 y(the)16 b(latter)g(case,)g(the)g(ellipse)j(is)e(\014lled)h
+(b)o(y)e(a)g(sp)q(eci\014ed)i(gra)o(y)d(lev)o(el.)24
+b(F)l(or)16 b(the)g(\014lled)i(ellipse,)g(the)f(line)g(de\014ning)0
+2172 y(the)e(b)q(oundary)g(of)f(the)h(ellipse)i(is)e(not)g(dra)o(wn.)k
+(F)l(or)14 b(either)h(form)f(of)g(the)h(ellipse)i(command,)e(the)f(dra)
+o(wing)h(size)0 2235 y(is)h(increased)g(if)g(necessary)f(to)g(con)o
+(tain)g(the)g(ellipse.)62 2373 y(The)g Fq(\\larc)f Ft(command)h
+(generates)g(a)f(coun)o(terclo)q(c)o(kwise)i(arc)f(sp)q(eci\014ed)i(b)o
+(y)e(a)f(start)g(angle)h(in)h(degrees)f(and)0 2435 y(an)h(end)g(angle)h
+(in)g(degrees.)22 b(The)16 b(cen)o(ter)g(of)f(the)h(arc)g(is)g(the)g
+(curren)o(t)g(p)q(osition.)23 b(Only)17 b(the)f(arc)g(is)g(dra)o(wn,)f
+(not)0 2498 y(the)j(line)i(joining)g(the)e(cen)o(ter)h(to)e(the)i(b)q
+(eginning)h(of)e(the)h(arc.)29 b(Note)18 b(that)f(the)i
+Fq(\\larc)e Ft(command)i(do)q(es)f(not)0 2560 y(a\013ect)c(the)i(size)g
+(of)f(the)g(dra)o(wing.)p eop
+%%Page: 13 15
+13 14 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1046 b(13)0 158
+y Fq(\\lcir)14 b(r:)p Fo(radius)240 221 y Ft(Dra)o(w)j(a)h(circle)j
+(with)d(cen)o(ter)h(at)f(the)h(curren)o(t)f(p)q(osition.)31
+b(The)19 b(radius)g(is)g(sp)q(eci\014ed)h(b)o(y)f Fo(radius)p
+Ft(.)240 283 y(This)d(command)g(dra)o(ws)f(a)g(line)j(along)e(the)f
+(circumference)j(of)d(the)h(circle.)23 b(The)16 b(dra)o(wing)g(size)g
+(is)240 345 y(increased)g(if)g(necessary)f(to)g(con)o(tain)g(the)h
+(circle.)0 498 y Fq(\\fcir)e(f:)p Fo(lev)o(el)19 b Fq(r:)p
+Fo(radius)240 560 y Ft(Dra)o(w)h(a)g(\014lled)j(circle)g(with)e(cen)o
+(ter)g(at)f(the)h(curren)o(t)g(p)q(osition.)38 b(The)21
+b(radius)h(is)f(sp)q(eci\014ed)i(b)o(y)240 622 y Fo(radius)p
+Ft(.)28 b(The)18 b(circle)i(is)e(pain)o(ted)h(with)f(the)g(gra)o(y)e
+(lev)o(el)j(sp)q(eci\014ed)h(b)o(y)e Fo(lev)o(el)p Ft(.)29
+b(A)18 b(gra)o(y)f(lev)o(el)i(of)e(1)240 684 y(corresp)q(onds)g(to)f
+(white,)h(with)g(decreasing)g(v)m(alues)h(getting)e(dark)o(er.)23
+b(The)17 b(lev)o(el)h(0)e(is)h(full)h(blac)o(k.)240 747
+y(This)k(command)f(do)q(es)h(not)f(dra)o(w)f(a)i(line)h(along)e(the)g
+(circumference.)40 b(The)22 b(dra)o(wing)f(size)h(is)240
+809 y(increased)16 b(if)g(necessary)f(to)g(con)o(tain)g(the)h(circle.)0
+961 y Fq(\\lellip)e(rx:)p Fo(x-radius)k Fq(ry:)p Fo(y-radius)240
+1024 y Ft(Dra)o(w)i(an)g(ellipse)j(with)e(cen)o(ter)g(at)f(the)h
+(curren)o(t)g(p)q(osition.)37 b(The)21 b(radius)g(in)h(the)f
+Fo(x)j Ft(direction)240 1086 y(is)19 b(sp)q(eci\014ed)i(b)o(y)e
+Fo(x-radius)p Ft(.)32 b(The)19 b(radius)g(in)h(the)f
+Fo(y)k Ft(direction)d(is)f(sp)q(eci\014ed)i(b)o(y)e Fo(y-radius)p
+Ft(.)32 b(The)240 1148 y(dra)o(wing)15 b(size)h(is)g(increased)g(if)g
+(necessary)f(to)g(con)o(tain)g(the)h(ellipse.)0 1300
+y Fq(\\fellip)e(f:)p Fo(lev)o(el)k Fq(rx:)p Fo(x-radius)g
+Fq(ry:)p Fo(y-radius)240 1363 y Ft(Dra)o(w)c(a)h(\014lled)i(ellipse)h
+(with)e(cen)o(ter)f(at)g(the)g(curren)o(t)h(p)q(osition.)21
+b(The)16 b(radius)g(in)g(the)f Fo(x)k Ft(direction)240
+1425 y(is)g(sp)q(eci\014ed)i(b)o(y)e Fo(x-radius)p Ft(.)32
+b(The)19 b(radius)g(in)h(the)f Fo(y)k Ft(direction)d(is)f(sp)q
+(eci\014ed)i(b)o(y)e Fo(y-radius)p Ft(.)32 b(The)240
+1487 y(ellipse)16 b(is)e(pain)o(ted)h(with)f(the)g(gra)o(y)e(lev)o(el)j
+(sp)q(eci\014ed)h(b)o(y)e Fo(lev)o(el)p Ft(.)20 b(A)14
+b(gra)o(y)f(lev)o(el)i(of)e(1)h(corresp)q(onds)g(to)240
+1550 y(white,)i(with)g(decreasing)h(v)m(alues)g(getting)e(dark)o(er.)21
+b(The)16 b(lev)o(el)h(0)f(is)g(full)h(blac)o(k.)22 b(This)16
+b(command)240 1612 y(do)q(es)h(not)f(dra)o(w)g(a)g(line)i(along)e(the)h
+(b)q(oundary)g(of)f(the)g(ellipse.)26 b(The)17 b(dra)o(wing)f(size)i
+(is)f(increased)240 1674 y(if)f(necessary)f(to)g(con)o(tain)g(the)g
+(ellipse.)0 1826 y Fq(\\larc)f(r:)p Fo(radius)k Fq(sd:)p
+Fo(start-angle)f Fq(ed:)p Fo(end-angle)240 1889 y Ft(Dra)o(w)9
+b(a)h(coun)o(terclo)q(c)o(kwise)h(arc.)18 b(The)11 b(cen)o(ter)f(of)g
+(the)g(arc)g(is)h(at)e(the)i(curren)o(t)f(p)q(osition.)19
+b(The)10 b(radius)240 1951 y(is)j(sp)q(eci\014ed)i(b)o(y)e
+Fo(radius)p Ft(.)19 b(The)13 b(start)f(and)h(end)g(angles)h(\(in)f
+(degrees\))f(are)h(sp)q(eci\014ed)i(b)o(y)d Fo(start-angle)240
+2013 y Ft(and)j Fo(end-angle)p Ft(.)22 b(This)15 b(command)g(do)q(es)h
+(not)f(a\013ect)f(the)i(limits)g(\(size\))g(of)e(the)i(dra)o(wing.)62
+2228 y(As)f(an)h(example,)f(the)h(follo)o(wing)f(commands)g(dra)o(w)g
+(a)g(\014lled)i(circle,)f(and)g(sup)q(erimp)q(ose)g(an)g(arc.)120
+2387 y Fq(\\centertexdraw{)168 2439 y(\\linewd)23 b(0.02)168
+2491 y(\\fcir)g(f:0.7)g(r:1)168 2543 y(\\larc)g(r:1)g(sd:45)h(ed:135)
+168 2595 y(\\lvec)f(\(+0.707)g(+0.707\))g(\\move)g(\(0)g(0\))h(\\lvec)f
+(\(-0.707)g(+0.707\))120 2647 y(})p eop
+%%Page: 14 16
+14 15 bop 0 -83 a Ft(14)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)675 575 y @beginspecial 72 @hoffset 72 @voffset
+@setspecial
+%%BeginDocument: texdraw.ps6
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+6 sl
+300 0.7 fc
+300 45 135 ar
+212 212 lv
+0 0 mv
+-212 212 lv
+stroke end showpage
+%%EndDocument
+ @endspecial 62 712 a(Note)18 b(that)g(for)g(the)g(arc)h(command,)f
+(the)h(resulting)g(\014gure)g(can)g(spill)h(outside)f(of)f(the)h(T)1644
+722 y(E)1669 712 y(Xdra)o(w)f(b)q(o)o(x)g(as)0 774 y(determined)13
+b(b)o(y)e(the)h(maxim)o(um)f(excursions)i(of)e(the)g(co)q(ordinates.)19
+b(Extra)11 b(mo)o(v)o(es)g(can)g(b)q(e)i(used)f(to)f(comp)q(ensate)0
+837 y(for)k(the)g(size)h(of)f(the)g(arc.)0 1049 y Fs(2.8)33
+b(Bezier)15 b(curv)n(es)62 1186 y Ft(Bezier)i(curv)o(es)e(in)i(T)419
+1196 y(E)444 1186 y(Xdra)o(w)e(use)h(4)f(reference)h(co)q(ordinates,)g
+(t)o(w)o(o)e(as)h(the)h(end)g(p)q(oin)o(ts)g(and)f(t)o(w)o(o)g(others)g
+(to)0 1248 y(con)o(trol)g(the)g(shap)q(e)h(of)f(the)g(curv)o(e.)21
+b(Let)15 b(the)g(4)g(p)q(oin)o(ts)h(b)q(e)g Fq(\()p Fo(x0)i(y0)t
+Fq(\))p Ft(,)c Fq(\()p Fo(x1)19 b(y1)t Fq(\))p Ft(,)14
+b Fq(\()p Fo(x2)k(y2)t Fq(\))d Ft(and)g Fq(\()p Fo(x3)j(y3)t
+Fq(\))p Ft(.)i(The)0 1310 y(curv)o(e)f(starts)e(out)i(tangen)o(t)f(to)g
+(the)g(line)j(joining)f(the)e(\014rst)h(t)o(w)o(o)e(p)q(oin)o(ts)i(and)
+g(ends)g(up)h(tangen)o(t)d(to)h(the)h(line)0 1373 y(joining)14
+b(the)g(second)g(t)o(w)o(o)e(p)q(oin)o(ts.)20 b(The)13
+b(con)o(trol)g(p)q(oin)o(ts)h(\\pull")h(at)e(the)g(curv)o(e)h(to)e(con)
+o(trol)i(the)f(curv)m(ature.)20 b(The)0 1435 y(amoun)o(t)14
+b(of)h(pull)i(increases)f(with)g(the)f(distance)h(of)f(the)g(con)o
+(trol)g(p)q(oin)o(t)h(from)e(the)h(endp)q(oin)o(t.)62
+1572 y(As)h(the)h(parameter)e Fl(\026)i Ft(v)m(aries)g(from)e(0)h(to)g
+(1,)f(the)i(co)q(ordinates)f(of)g(the)g(Bezier)i(curv)o(e)e(are)g(giv)o
+(en)h(b)o(y)f(a)g(pair)0 1634 y(of)f(parametric)g(cubic)i(equations,)
+398 1715 y Fo(x)p Ft(\()p Fl(\026)p Ft(\))12 b(=)h(\(1)d
+Fr(\000)g Fl(\026)p Ft(\))686 1696 y Fn(3)705 1715 y
+Fo(x0)g Ft(+)g(3)p Fl(\026)p Ft(\(1)g Fr(\000)g Fl(\026)p
+Ft(\))998 1696 y Fn(2)1017 1715 y Fo(x1)g Ft(+)g(3)p
+Fl(\026)1169 1696 y Fn(2)1188 1715 y Ft(\(1)g Fr(\000)g
+Fl(\026)p Ft(\))p Fo(x2)g Ft(+)g Fl(\026)1458 1696 y
+Fn(3)1477 1715 y Fo(x3)398 1790 y(y)p Ft(\()p Fl(\026)p
+Ft(\))i(=)h(\(1)d Fr(\000)g Fl(\026)p Ft(\))686 1771
+y Fn(3)705 1790 y Fo(y0)g Ft(+)g(3)p Fl(\026)p Ft(\(1)g
+Fr(\000)g Fl(\026)p Ft(\))998 1771 y Fn(2)1017 1790 y
+Fo(y1)g Ft(+)g(3)p Fl(\026)1169 1771 y Fn(2)1188 1790
+y Ft(\(1)g Fr(\000)g Fl(\026)p Ft(\))p Fo(y2)g Ft(+)g
+Fl(\026)1458 1771 y Fn(3)1477 1790 y Fo(y3)15 b Fl(:)0
+1938 y Fq(\\clvec)f(\()p Fo(x1)19 b(y1)t Fq(\)\()p Fo(x2)e(y2)t
+Fq(\)\()p Fo(x3)h(y3)t Fq(\))240 2001 y Ft(Dra)o(w)9
+b(a)i(Bezier)h(curv)o(e)f(from)f(the)g(curren)o(t)h(p)q(osition)h(to)e
+(the)g(co)q(ordinate)i Fq(\()p Fo(x3)18 b(y3)t Fq(\))10
+b Ft(whic)o(h)h(b)q(ecomes)240 2063 y(the)h(new)g(curren)o(t)g(p)q
+(osition.)20 b(The)13 b(co)q(ordinates)f Fq(\()p Fo(x1)18
+b(y1)t Fq(\))11 b Ft(and)i Fq(\()p Fo(x2)18 b(y2)t Fq(\))11
+b Ft(serv)o(e)h(as)g(con)o(trol)g(p)q(oin)o(ts)240 2125
+y(for)h(the)h(curv)o(e.)20 b(Only)15 b(the)f(last)g(co)q(ordinate)g
+(giv)o(en)h(is)f(used)h(to)e(up)q(date)i(the)f(size)h(of)e(the)h(dra)o
+(wing.)0 2271 y(Note)h(that)g(only)h(3)f(co)q(ordinate)h(pairs)g(are)f
+(sp)q(eci\014ed.)23 b(The)16 b(other)f(p)q(oin)o(t)h(is)g(the)g(curren)
+o(t)f(p)q(osition)i(b)q(efore)f(the)0 2334 y Fq(\\clvec)f
+Ft(command)i(is)g(executed.)24 b(Only)17 b(the)g(last)f(co)q(ordinate)h
+(sp)q(eci\014ed)h(in)f(the)g Fq(\\clvec)e Ft(command)i(is)f(used)0
+2396 y(to)j(determine)h(the)f(exten)o(t)g(of)g(the)g(dra)o(wing.)32
+b(While)20 b(the)f(Bezier)i(curv)o(e)e(passes)g(through)g(the)g(old)h
+(curren)o(t)0 2458 y(p)q(osition)c(and)f(the)g(new)g(curren)o(t)g(p)q
+(osition,)h(in)g(general)f(the)g(curv)o(e)g(will)i(not)e(reac)o(h)f
+(the)h(in)o(termediate)h(con)o(trol)0 2521 y(p)q(oin)o(ts.)26
+b(The)17 b(curv)o(e)g(is)h(alw)o(a)o(ys)e(en)o(tirely)i(enclosed)h(b)o
+(y)e(the)g(con)o(v)o(ex)g(quadrilateral)h(de\014ned)g(b)o(y)f(the)h(t)o
+(w)o(o)d(end)0 2583 y(p)q(oin)o(ts)h(and)f(the)g(t)o(w)o(o)f(con)o
+(trol)h(p)q(oin)o(ts.)20 b(Note)15 b(that)f(the)h(curv)o(e)g(ma)o(y)g
+(pass)g(outside)h(the)f(limits)h(of)f(the)g(dra)o(wing)0
+2645 y(as)g(determined)h(b)o(y)f(the)h(end)g(p)q(oin)o(t)f(of)g(the)g
+(curv)o(e.)p eop
+%%Page: 15 17
+15 16 bop 0 -83 a Ft(Chapter)15 b(2:)k(Using)d(the)g(T)464
+-73 y(E)489 -83 y(Xdra)o(w)f(Commands)1046 b(15)62 158
+y(A)16 b(simple)g(Bezier)h(curv)o(e)e(is)h(pro)q(duced)g(b)o(y)f(the)g
+(follo)o(wing)h(example.)120 293 y Fq(\\btexdraw)168
+345 y(\\move)23 b(\(0)g(0\))168 396 y(\\clvec)g(\(0)g(1\)\(1)h(0\)\(1)f
+(1\))120 448 y(\\etexdraw)62 583 y Ft(This)17 b(example)h(is)f(the)f
+(righ)o(tmost)f(of)i(the)f(follo)o(wing)h(Bezier)h(curv)o(es.)24
+b(The)16 b(dra)o(wings)g(also)h(sho)o(w)f(the)g(end)0
+645 y(p)q(oin)o(ts)g(and)f(the)g(con)o(trol)g(p)q(oin)o(ts)h(for)e(eac)
+o(h)i(curv)o(e.)200 1048 y @beginspecial 150 @hoffset
+1 @voffset @setspecial
+%%BeginDocument: texdraw.ps7
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+bs
+[10] sd
+-600 0 mv
+6 0 fc
+-600 300 lv
+6 0 fc
+-300 300 lv
+6 0 fc
+-300 0 lv
+6 0 fc
+[] sd
+-600 0 mv
+-600 300 -300 300 -300 0 cv
+es
+bs
+[10] sd
+0 0 mv
+6 0 fc
+150 240 lv
+6 0 fc
+450 240 lv
+6 0 fc
+300 0 lv
+6 0 fc
+[] sd
+0 0 mv
+150 300 450 300 300 0 cv
+es
+bs
+[10] sd
+600 0 mv
+6 0 fc
+600 300 lv
+6 0 fc
+900 0 lv
+6 0 fc
+900 300 lv
+6 0 fc
+[] sd
+600 0 mv
+600 300 900 0 900 300 cv
+es
+stroke end showpage
+%%EndDocument
+ @endspecial 177 1056 a(0)177 756 y(1)348 b(2)548 1056
+y(3)206 b(0)927 816 y(1)348 b(2)1148 1056 y(3)206 b(0)1377
+756 y(1)1748 1056 y(2)1748 756 y(3)0 1341 y Fs(2.9)33
+b(Fill)17 b(commands)62 1486 y Ft(P)o(ostScript)23 b(deals)g(with)g
+(paths)f(consisting)h(of)f(line)j(segmen)o(ts.)41 b(The)23
+b(paths)f(can)h(b)q(e)g(closed)g(and)g(the)0 1548 y(in)o(terior)17
+b(of)e(the)h(closed)h(region)g(\014lled.)24 b(F)l(rom)16
+b(T)843 1558 y(E)868 1548 y(Xdra)o(w,)g(paths)g(start)f(with)h(a)g
+Fq(\\move)f Ft(or)h Fq(\\rmove)f Ft(command)0 1610 y(and)k(con)o(tin)o
+(ue)h(with)g Fq(\\lvec)p Ft(,)f Fq(\\rlvec)f Ft(or)h
+Fq(\\clvec)f Ft(commands.)32 b(The)19 b(T)1299 1620 y(E)1325
+1610 y(Xdra)o(w)f(\014ll)j(commands)e(close)h(the)0 1673
+y(path)g(and)g(\014ll)i(the)e(in)o(terior)h(of)f(the)g(closed)h
+(region.)35 b(Closing)21 b(the)g(path)f(means)g(that)f(e\013ectiv)o
+(ely)i(another)0 1735 y Fq(\\lvec)14 b Ft(line)j(is)f(dra)o(wn)e(from)h
+(the)g(last)g(p)q(oin)o(t)g(sp)q(eci\014ed)i(to)e(the)g(initial)i(p)q
+(oin)o(t.)k(T)1403 1745 y(E)1428 1735 y(Xdra)o(w)15 b(pro)o(vides)g(t)o
+(w)o(o)f(forms)0 1797 y(of)g(the)g(\014ll)i(command.)j(The)c
+Fq(\\ifill)e Ft(\014lls)j(the)e(in)o(terior)h(of)e(the)i(region)f(with)
+h(the)f(giv)o(en)h(gra)o(y)e(lev)o(el.)21 b(The)14 b(lines)0
+1859 y(de\014ning)j(the)e(path)g(are)g(not)g(dra)o(wn.)20
+b(The)15 b Fq(\\lfill)g Ft(command)g(\014lls)i(the)e(region)h
+(de\014ned)g(b)o(y)g(the)f(closed)h(path)0 1922 y(and)f(dra)o(ws)f(a)h
+(line)h(along)f(the)g(enclosing)h(path.)k(Note)15 b(for)f(b)q(oth)h
+(forms)f(of)g(the)h(\014ll)h(command,)f(the)g(gra)o(y)f(lev)o(el)0
+1984 y(used)i(for)e(\014lling)k(is)d(opaque,)g(ev)o(en)h(if)f(the)h
+(gra)o(y)e(lev)o(el)i(is)g(c)o(hosen)g(to)e(b)q(e)i(white.)0
+2169 y Fq(\\lfill)e(f:)p Fo(lev)o(el)240 2231 y Ft(Close)i(the)f
+(curren)o(t)h(path,)f(dra)o(w)g(the)g(line)j(around)d(the)h(path)f
+(using)h(the)g(curren)o(t)f(grey)h(lev)o(el)h(for)240
+2293 y(lines)f(and)e(pain)o(t)h(the)f(in)o(terior)h(of)e(the)i(region)f
+(with)h(sp)q(eci\014ed)h(gra)o(y)d(lev)o(el)j Fo(lev)o(el)p
+Ft(.)21 b(Gra)o(y)13 b(lev)o(els)i(are)240 2356 y(real)h(v)m(alues)g
+(from)e(0)h(\(blac)o(k\))g(through)g(in)o(termediate)h(v)m(alues)g
+(\(gra)o(ys\))e(to)g(1)h(\(white\).)0 2458 y Fq(\\ifill)f(f:)p
+Fo(lev)o(el)240 2521 y Ft(Close)j(the)g(curren)o(t)g(path)f(and)h(pain)
+o(t)g(the)g(in)o(terior)g(of)g(the)g(region)g(with)g(gra)o(y)f(lev)o
+(el)i Fo(lev)o(el)p Ft(.)26 b(The)240 2583 y(line)18
+b(around)d(the)h(path)g(is)h(not)e(dra)o(wn.)22 b(Gra)o(y)15
+b(lev)o(els)i(are)e(real)i(v)m(alues)g(from)e(0)h(\(blac)o(k\))f
+(through)240 2645 y(in)o(termediate)h(v)m(alues)g(\(gra)o(ys\))e(to)g
+(1)h(\(white\).)p eop
+%%Page: 16 18
+16 17 bop 0 -83 a Ft(16)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)62 158 y(The)14 b(follo)o(wing)h(example)f(dra)o(ws)f(a)h
+(\\\015ag")e(with)j(the)e(in)o(terior)i(\014lled)g(in.)20
+b(The)14 b(path)g(around)g(the)f(b)q(oundary)0 221 y(is)j(giv)o(en)f
+(in)i(a)d(clo)q(c)o(kwise)j(order)e(to)g(de\014ne)h(a)f(closed)h(path.)
+k(W)l(e)15 b(could)h(tak)o(e)f(adv)m(an)o(tage)g(of)f(the)i(fact)e
+(that)h(the)0 283 y(\014ll)i(command)e(will)i(close)e(an)h(op)q(en)f
+(path)g(to)g(eliminate)i(one)e(of)g(the)g Fq(\\lvec)g
+Ft(commands.)120 409 y Fq(\\centertexdraw{)120 461 y(\\move)23
+b(\(0.5)g(0\))120 513 y(\\lvec)g(\(0)h(0.5\))f(\\clvec)g(\(0.5)g
+(0.85\)\(1)g(0.65\)\(1.5)g(1\))120 565 y(\\lvec)g(\(2)h(0.5\))f
+(\\clvec)g(\(1.5)g(0.15\)\(1)g(0.35\)\(0.5)g(0\))120
+617 y(\\lfill)g(f:0.8)120 669 y(})675 1039 y @beginspecial
+0 @hoffset 0 @voffset @setspecial
+%%BeginDocument: texdraw.ps8
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+150 0 mv
+0 150 lv
+150 255 300 195 450 300 cv
+600 150 lv
+450 45 300 105 150 0 cv
+0.8 fp
+stroke end showpage
+%%EndDocument
+ @endspecial 62 1176 a Ft(In)15 b(T)143 1186 y(E)169
+1176 y(Xdra)o(w,)e(the)i Fq(\\move)f Ft(command)g(alw)o(a)o(ys)g
+(terminates)g(an)o(y)g(previous)i(paths)e(and)g(starts)g(a)g(new)g
+(path.)0 1238 y(Commands)g(that)g(c)o(hange)h(line)h(parameters)e
+(\(e.g.)19 b Fq(\\setgray)14 b Ft(or)g Fq(\\lpatt)p Ft(\))f(also)i
+(terminate)g(paths)f(and)h(start)0 1301 y(new)i(paths.)24
+b(The)17 b(circle,)h(ellipse)h(and)e(arc)f(commands)g(do)h(not)f
+(a\013ect)g(the)h(de\014nition)h(of)e(the)h(curren)o(t)f(path.)0
+1363 y(The)i Fq(\\avec)e Ft(command)h(is)h(not)f(appropriate)g(for)g
+(de\014ning)i(a)e(path)g(to)g(b)q(e)h(\014lled.)28 b(It)18
+b(ends)f(a)g(subpath)h(at)f(its)0 1425 y(tail)f(and)g(b)q(egins)g(a)g
+(new)f(subpath)h(at)f(its)h(tip.)21 b(Filling)c(a)e(region)h(de\014ned)
+h(b)o(y)e(a)h(path)f(with)h(subpaths)f(is)h(more)0 1487
+y(complicated)h(in)f(that)e(eac)o(h)h(subpath)h(is)g(closed)g(b)q
+(efore)f(\014lling.)p eop
+%%Page: 17 19
+17 18 bop 0 -83 a Ft(Chapter)15 b(3:)k(Dra)o(wing)c(Segmen)o(ts)g(and)g
+(Scaling)1061 b(17)0 158 y Fp(3)41 b(Dra)n(wing)15 b(Segmen)n(ts)g(and)
+g(Scaling)62 335 y Ft(T)87 344 y(E)113 335 y(Xdra)o(w)d(pro)o(vides)i
+(individuall)q(y)i(scaled)e(segmen)o(ts)f(whic)o(h)h(can)f(b)q(e)h
+(used)f(to)g(create)g(relo)q(catable)h(dra)o(wing)0 397
+y(mo)q(dules.)0 611 y Fs(3.1)33 b(Dra)n(wing)15 b(segmen)n(ts)62
+748 y Ft(A)g(T)136 757 y(E)161 748 y(Xdra)o(w)f(dra)o(wing)g(segmen)o
+(t)g(allo)o(ws)h(for)f(lo)q(cal)h(mo)q(di\014cations)h(of)e(parameters)
+f(and)i(relativ)o(e)g(p)q(osition-)0 810 y(ing.)33 b(A)20
+b(T)185 820 y(E)211 810 y(Xdra)o(w)f(segmen)o(t)g(is)h(delimited)i(b)o
+(y)d(a)g Fq(\\bsegment)g Ft(command)g(and)h(an)f Fq(\\esegment)f
+Ft(command.)0 872 y(Inside)h(the)f(segmen)o(t,)g(the)f(initial)j
+(curren)o(t)e(p)q(osition)g(is)h Fq(\(0)14 b(0\))p Ft(.)27
+b(An)o(y)18 b(c)o(hanges)g(to)f(parameters)g(suc)o(h)h(as)f(the)0
+934 y(gra)o(y)12 b(lev)o(el)i(and)f(the)f(line)j(width,)e(remain)h(lo)q
+(cal)f(to)f(the)h(segmen)o(t.)19 b(Segmen)o(ts)12 b(are)h(implemen)o
+(ted)h(in)g(T)1774 944 y(E)1799 934 y(X)f(using)0 997
+y(a)i Fq(\\begingroup)f Ft(and)h Fq(\\endgroup)p Ft(.)k(Segmen)o(ts)c
+(can)g(b)q(e)h(nested.)0 1153 y Fq(\\bsegment)240 1216
+y Ft(Start)22 b(a)g(dra)o(wing)h(segmen)o(t.)42 b(The)23
+b(co)q(ordinate)g(system)f(is)i(shifted)f(suc)o(h)g(that)f(the)h
+(curren)o(t)240 1278 y(p)q(osition)d(corresp)q(onds)g(to)f(the)g(co)q
+(ordinate)h Fq(\(0)15 b(0\))p Ft(.)32 b(Changes)19 b(to)f(scaling,)j(p)
+q(osition)g(and)e(line)240 1340 y(parameters)14 b(sta)o(y)h(lo)q(cal)h
+(to)e(the)i(dra)o(wing)f(segmen)o(t.)0 1422 y Fq(\\esegment)240
+1484 y Ft(End)25 b(a)f(dra)o(wing)g(segmen)o(t.)47 b(The)25
+b(curren)o(t)f(p)q(osition)h(in)h(e\013ect)e(b)q(efore)h(the)f(corresp)
+q(onding)240 1547 y Fq(\\bsegment)d Ft(command)h(is)h(restored.)41
+b(The)23 b(scaling)g(and)g(line)h(parameter)d(v)m(alues)j(rev)o(ert)e
+(to)240 1609 y(those)15 b(in)h(e\013ect)f(b)q(efore)g(the)h(corresp)q
+(onding)g Fq(\\bsegment)e Ft(command)h(w)o(as)f(in)o(v)o(ok)o(ed.)0
+1823 y Fs(3.2)33 b(Dra)n(wing)15 b(paths)62 1960 y Ft(Certain)h(subtle)
+h(in)o(teractions)f(o)q(ccur)g(b)q(et)o(w)o(een)h(dra)o(wing)e(segmen)o
+(ts)h(and)g(\014ll)h(op)q(erations.)22 b(In)17 b(P)o(ostScript,)0
+2022 y(lines)e(are)f(dra)o(wn)f(b)o(y)h(\014rst)f(de\014ning)j(a)d
+(path,)h(then)g(later)g(stroking)f(the)h(path)g(to)f(dra)o(w)g(the)h
+(line.)21 b(In)14 b(T)1780 2032 y(E)1806 2022 y(Xdra)o(w,)0
+2084 y(this)j(stroking)g(o)q(ccurs)g(when)g(the)g(line)h(is)f
+(terminated,)g(sa)o(y)f(b)o(y)h(a)f Fq(\\move)g Ft(command.)24
+b(P)o(ostScript)17 b(paths)f(are)0 2146 y(in)o(terrupted)k(b)o(y)l(,)f
+(but)g(con)o(tin)o(ue)h(after)e(a)g(dra)o(wing)h(segmen)o(t.)30
+b(This)20 b(means)f(that)f(a)g(path)h(started)f(b)q(efore)h(a)0
+2209 y(segmen)o(t)13 b(ma)o(y)f(not)h(b)q(e)h(strok)o(ed)f(\(dra)o
+(wn\))f(un)o(til)j(after)d(the)i(segmen)o(t)e(ends.)20
+b(Consider)14 b(the)f(follo)o(wing)h(example.)120 2335
+y Fq(\\move)23 b(\(0)h(0\))120 2387 y(\\lvec)f(\(1)h(1\))120
+2439 y(\\bsegment)168 2491 y(\\move)f(\(-0.25)g(-0.25\))168
+2543 y(\\fcir)g(f:0.8)g(r:0.5)120 2595 y(\\esegment)120
+2647 y(\\move)g(\(0)h(0\))p eop
+%%Page: 18 20
+18 19 bop 0 -83 a Ft(18)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)62 158 y(A)12 b(P)o(ostScript)f(path)g(is)g(started)g(at)f
+Fq(\(0)15 b(0\))c Ft(and)h(con)o(tin)o(ues)f(with)h(a)f(line)i(to)d
+Fq(\(1)15 b(1\))p Ft(.)k(This)11 b(path)h(is)f(in)o(terrupted)0
+221 y(b)o(y)16 b(the)g(segmen)o(t.)22 b(The)17 b(\014lled)h(circle)f
+(is)g(dra)o(wn)f(next.)22 b(After)16 b(the)g(segmen)o(t,)g(the)g(path)g
+(con)o(tin)o(ues)g(and)h(is)f(not)0 283 y(strok)o(ed)i(un)o(til)h(the)f
+Fq(\\move)d(\(0)g(0\))j Ft(command)g(after)f(the)i(end)g(of)e(the)i
+(segmen)o(t.)28 b(This)19 b(means)f(that)g(the)g(line)0
+345 y(app)q(ears)d(on)g(top)g(of)g(the)g(\014lled)i(region.)62
+483 y(If)d(the)g(\014ll)h(op)q(eration)f(is)h(to)e(co)o(v)o(er)g(the)h
+(line,)h(the)f(path)f(m)o(ust)h(b)q(e)g(strok)o(ed)f(b)q(efore)h(the)g
+(\014ll)h(op)q(eration.)20 b(F)l(rom)0 545 y(T)25 555
+y(E)51 545 y(Xdra)o(w,)12 b(the)g(mo)o(v)o(e)g(commands)h
+Fq(\\move)f Ft(and)h Fq(\\rmove)p Ft(,)f(and)h(the)f(end)i(T)1278
+555 y(E)1303 545 y(Xdra)o(w)e(command)h Fq(\\etexdraw)e
+Ft(ter-)0 608 y(minate)i(a)f(path)h(and)g(cause)g(it)f(to)g(b)q(e)i
+(strok)o(ed.)k(Within)c(a)e(segmen)o(t,)g(the)h(end)h(segmen)o(t)e
+(command)g Fq(\\esegment)0 670 y Ft(also)17 b(terminates)g(and)g(strok)
+o(es)f(a)h(path.)25 b(In)18 b(the)f(example)h(ab)q(o)o(v)o(e,)e(the)h
+(line)i(can)e(b)q(e)h(strok)o(ed)e(b)o(y)h(inserting)h(a)0
+732 y(mo)o(v)o(e)13 b(command)g(\(suc)o(h)g(as)g(a)g
+Fq(\\rmove)i(\(0)f(0\))g Ft(whic)o(h)g(do)q(es)f(not)g(a\013ect)g(the)h
+(p)q(osition\),)g(b)q(efore)f(the)h(start)e(of)h(the)0
+795 y(segmen)o(t.)0 1029 y Fs(3.3)33 b(Sa)n(ving)16 b(p)r(ositions)62
+1167 y Ft(The)21 b Fq(\\savecurrpos)f Ft(command)h(sa)o(v)o(es)f(the)h
+(curren)o(t)g(p)q(osition.)38 b(The)21 b(sa)o(v)o(ed)f(p)q(osition)i
+(is)g(an)f(absolute)0 1229 y(p)q(osition,)16 b(not)f(one)g(relativ)o(e)
+h(to)e(a)h(segmen)o(t.)20 b(The)15 b(p)q(osition)h(sa)o(ving)f(mec)o
+(hanism)h(is)g(global;)f(the)h(p)q(osition)g(can)0 1291
+y(b)q(e)g(sa)o(v)o(ed)e(within)j(a)e(nested)g(segmen)o(t)g(and)g(then)h
+(used)g(outside)f(of)g(the)g(segmen)o(t.)20 b(The)15
+b Fo(x)j Ft(and)e Fo(y)j Ft(co)q(ordinates)0 1354 y(of)g(the)h(p)q
+(osition)h(are)f(sa)o(v)o(ed)f(separately)h(as)g(named)g(co)q
+(ordinates.)34 b(The)20 b(names)g(are)f(of)h(the)g(form)f
+Fq(*)p Fo(name)s Ft(,)0 1416 y(with)e(the)g(leading)h
+Fq(*)e Ft(b)q(eing)i(obligatory)l(.)24 b(A)17 b(companion)g(command,)g
+Fq(\\savepos)p Ft(,)e(sa)o(v)o(es)h(a)g(giv)o(en)i(co)q(ordinate)0
+1478 y(\(relativ)o(e)d(to)g(the)g(curren)o(t)g(segmen)o(t\))g(as)g(an)g
+(absolute)g(sym)o(b)q(olic)i(p)q(osition.)0 1643 y Fq(\\savecurrpos)d
+(\(*)p Fo(p)o(x)k Fq(*)p Fo(p)o(y)t Fq(\))240 1706 y
+Ft(Sa)o(v)o(e)d(the)g(curren)o(t)g(p)q(osition)h(as)f(the)g(absolute)h
+(p)q(osition)g(referenced)g(b)o(y)g Fq(\(*)p Fo(p)o(x)i
+Fq(*)p Fo(p)o(y)t Fq(\))p Ft(.)0 1795 y Fq(\\savepos)c(\()p
+Fo(x)k(y)t Fq(\)\(*)p Fo(p)o(x)g Fq(*)p Fo(p)o(y)t Fq(\))240
+1857 y Ft(Sa)o(v)o(e)d(the)h(co)q(ordinate)g(p)q(osition)h
+Fq(\()p Fo(x)h(y)t Fq(\))d Ft(as)g(the)h(absolute)g(p)q(osition)h
+(referenced)f(b)o(y)g Fq(\(*)p Fo(p)o(x)i Fq(*)p Fo(p)o(y)t
+Fq(\))p Ft(.)240 1919 y(The)f(co)q(ordinate)g Fq(\()p
+Fo(x)h(y)t Fq(\))f Ft(is)g(in)o(terpreted)g(in)h(the)f(normal)f
+(fashion)h(as)g(a)f(co)q(ordinate)h(relativ)o(e)h(to)240
+1982 y(the)d(curren)o(t)g(segmen)o(t,)g(using)h(the)f(curren)o(t)g
+(scaling)h(factors)e(and)i(dra)o(wing)f(unit.)62 2133
+y(The)21 b(sym)o(b)q(olic)g(names)g(used)g(to)e(sp)q(ecify)j(a)e(sa)o
+(v)o(ed)g(p)q(osition)h(can)g(consist)f(of)g(an)o(y)g(c)o(haracters)g
+(that)f(are)0 2196 y(not)f(sp)q(ecial)i(to)e(T)319 2205
+y(E)344 2196 y(X,)g(but)h(m)o(ust)f(start)f(with)h(a)g
+Fq(*)h Ft(c)o(haracter.)28 b(The)19 b(sym)o(b)q(olic)g(names)f(can)h(b)
+q(e)g(used)g(as)f(the)0 2258 y Fo(x)k Ft(and/or)d Fo(y)k
+Ft(co)q(ordinate)c(in)h(an)o(y)f(command)g(that)g(needs)g(a)g(co)q
+(ordinate.)32 b(Sym)o(b)q(olic)21 b(co)q(ordinates)f(are)e(not)0
+2320 y(normally)i(used)f(with)h(relativ)o(e)g(motion)f(commands)g(suc)o
+(h)g(as)g Fq(\\rlvec)f Ft(or)h Fq(\\rmove)p Ft(.)31 b(If)19
+b(used)h(with)f(relativ)o(e)0 2382 y(motion,)c(the)g(corresp)q(onding)h
+(displacemen)o(t)h(is)f(equal)f(to)g(the)g(sym)o(b)q(olic)i(co)q
+(ordinate)e(v)m(alue.)62 2521 y(On)j(exit)f(from)f(a)h(segmen)o(t,)g
+(the)g(p)q(osition)h(and)f(graphics)g(state)f(on)h(en)o(try)g(is)g
+(restored.)25 b(An)o(y)17 b(c)o(hanges)g(to)0 2583 y(line)j(t)o(yp)q
+(es,)e(scaling)h(and)f(p)q(osition)h(are)e(discarded.)29
+b(Ho)o(w)o(ev)o(er,)18 b(it)g(is)g(sometimes)g(useful)h(alter)f(the)g
+(p)q(osition)0 2645 y(on)h(exit)g(from)f(a)g(segmen)o(t.)30
+b(The)19 b Fq(\\savepos)e Ft(command)i(allo)o(ws)f(for)g(the)h(sa)o
+(ving)g(of)f(a)g(p)q(osition)i(within)g(the)p eop
+%%Page: 19 21
+19 20 bop 0 -83 a Ft(Chapter)15 b(3:)k(Dra)o(wing)c(Segmen)o(ts)g(and)g
+(Scaling)1061 b(19)0 158 y(segmen)o(t.)34 b(This)21 b(p)q(osition)g
+(can)f(b)q(e)h(restored)f(after)f(the)h Fq(\\esegment)f
+Ft(with)i(a)f Fq(\\move)f Ft(command)h(using)h(the)0
+221 y(sa)o(v)o(ed)16 b(sym)o(b)q(olic)h(p)q(osition.)24
+b(This)17 b(approac)o(h)e(can)i(b)q(e)f(used)h(to)f(build)i(mo)q(dules)
+f(whic)o(h)g(op)q(erate)f(in)h(a)f(manner)0 283 y(analogous)f(to)f(the)
+i(basic)g(relativ)o(e)f(motion)g(line)i(v)o(ector)e(commands.)62
+420 y(The)i(follo)o(wing)g(example)g(de\014nes)h(a)e(macro)g(whic)o(h)h
+(dra)o(ws)f(a)g(b)q(o)o(x)g(0.75)g(inc)o(hes)h(wide)h(b)o(y)e(0.5)g
+(inc)o(hes)h(high)0 482 y(con)o(taining)d(cen)o(tered)h(text.)j(On)d
+(lea)o(ving)f(the)g(macro)f(the)g(p)q(osition)i(will)g(b)q(e)g(set)e
+(at)g(a)g(p)q(oin)o(t)h(on)g(the)g(righ)o(thand)0 544
+y(side)i(of)f(the)g(b)q(o)o(x.)120 671 y Fq(\\def\\tbox)23
+b(#1{\\bsegment)478 723 y(\\lvec)g(\(0)h(+0.25\))94 b(\\lvec)24
+b(\(0.75)f(+0.25\))478 775 y(\\lvec)g(\(0.75)g(-0.25\))g(\\lvec)h(\(0)f
+(-0.25\))g(\\lvec)g(\(0)h(0\))478 827 y(\\textref)f(h:C)g(v:C)h
+(\\htext)f(\(0.375)g(0\){#1})478 879 y(\\savepos)g(\(0.75)g(0\)\(*ex)g
+(*ey\))430 930 y(\\esegment)430 982 y(\\move)g(\(*ex)h(*ey\)})62
+1109 y Ft(With)12 b(this)f(de\014nition,)j(w)o(e)d(can)g(treat)f
+Fq(\\tbox)g Ft(in)i(the)g(same)f(w)o(a)o(y)f(as)g(the)i(basic)g(v)o
+(ector)e(commands,)h(stringing)0 1171 y(them)k(together)g(to)f(form)h
+(a)f(blo)q(c)o(k)i(diagram)f(as)g(in)h(this)g(example.)120
+1298 y Fq(\\centertexdraw{)168 1350 y(\\ravec)23 b(\(1)g(0\))h
+(\\tbox{$H\(z\)$})e(\\ravec)h(\(1)h(0\))120 1402 y(})563
+1618 y @beginspecial 0 @hoffset 18 @voffset @setspecial
+%%BeginDocument: texdraw.ps9
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+300 0 (T) 48 24 av
+bs
+300 75 lv
+525 75 lv
+525 -75 lv
+300 -75 lv
+300 0 lv
+es
+525 0 mv
+825 0 (T) 48 24 av
+stroke end showpage
+%%EndDocument
+ @endspecial 925 1555 a Fl(H)t Ft(\()p Fl(z)r Ft(\))0
+1839 y Fs(3.4)33 b(Scaling)16 b(co)r(ordinates)62 1976
+y Ft(There)i(are)g(t)o(w)o(o)f(scale)h(factors)f(a)o(v)m(ailable,)j
+(the)e(unit)h(scale)f(factor)f(and)h(the)h(segmen)o(t)e(scale)i
+(factor.)27 b(The)0 2038 y(o)o(v)o(erall)11 b(scale)g(factor)e(is)i
+(the)g(pro)q(duct)g(of)f(these)h(t)o(w)o(o.)17 b(There)10
+b(are)h(absolute)g(and)f(relativ)o(e)h(v)o(ersions)g(of)f(commands)0
+2101 y(to)15 b(c)o(hange)g(these)g(scale)h(factors.)62
+2238 y(The)g(unit)g(scale)h(factor)d(is)i(normally)g(used)h(to)e
+(a\013ect)f(global)j(scale)f(c)o(hanges.)21 b(Changes)15
+b(to)g(the)h(unit)g(scale)0 2300 y(factor)e(remains)i(lo)q(cal)g(to)f
+(a)g(segmen)o(t,)f(but)h(propagate)f(to)h(inferior)h(segmen)o(ts.)j
+(The)d(default)g(v)m(alue)g(is)g(unit)o(y)l(.)62 2437
+y(The)j(segmen)o(t)f(scale)h(factor)f(is)h(used)g(for)f(lo)q(cal)i
+(scale)f(c)o(hanges.)30 b(It)18 b(remains)h(lo)q(cal)h(to)e(a)g(segmen)
+o(t.)30 b(The)0 2499 y(segmen)o(t)15 b(scale)h(factor)f(is)h(reset)g
+(to)f(unit)o(y)h(on)f(en)o(try)h(in)o(to)f(eac)o(h)h(segmen)o(t.)21
+b(This)16 b(means)f(that)g(c)o(hanges)h(to)f(the)0 2562
+y(segmen)o(t)g(scale)h(factor)e(do)h(not)g(propagate)f(to)h(inferior)h
+(segmen)o(ts.)p eop
+%%Page: 20 22
+20 21 bop 0 -83 a Ft(20)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fq(\\setunitscale)13 b Fo(scale)240
+221 y Ft(Set)f(the)h(unit)g(scaling)g(to)e Fo(scale)p
+Ft(.)20 b(The)12 b(argumen)o(t)g Fo(scale)j Ft(is)e(a)f(real)h(n)o(um)o
+(b)q(er)f(whic)o(h)h(is)g(used)g(to)e(scale)240 283 y(co)q(ordinate)j
+(v)m(alues.)21 b(The)14 b(o)o(v)o(erall)g(scaling)h(factor)e(is)h(the)g
+(pro)q(duct)g(of)g(the)g(unit)g(scale)h(factor)e(and)240
+345 y(the)i(segmen)o(t)g(scale)h(factor.)0 441 y Fq(\\relunitscale)d
+Fo(v)m(alue)240 503 y Ft(Adjust)h(the)g(unit)g(scale)h(factor)e(b)o(y)g
+(m)o(ultiplying)j(b)o(y)e Fo(v)m(alue)p Ft(.)21 b(This)14
+b(has)g(the)g(e\013ect)f(of)h(m)o(ultiplying)240 566
+y(the)h(o)o(v)o(erall)g(scale)g(factor)f(b)o(y)h(the)g(same)f(factor.)
+19 b(The)c(o)o(v)o(erall)g(scaling)h(factor)e(is)h(the)g(pro)q(duct)g
+(of)240 628 y(the)g(unit)h(scale)g(factor)e(and)i(the)f(segmen)o(t)g
+(scale)h(factor.)0 724 y Fq(\\setsegscale)e Fo(scale)240
+786 y Ft(Set)19 b(the)f(segmen)o(t)g(scale)h(factor.)29
+b(The)18 b(argumen)o(t)g Fo(scale)k Ft(is)d(a)f(real)h(n)o(um)o(b)q(er)
+f(whic)o(h)i(is)f(used)g(to)240 849 y(scale)d(co)q(ordinate)g(v)m
+(alues.)21 b(The)16 b(o)o(v)o(erall)f(scale)h(factor)f(is)g(the)h(pro)q
+(duct)g(of)e(the)i(unit)g(scale)g(factor)240 911 y(and)f(the)h(segmen)o
+(t)e(scale)i(factor.)0 1007 y Fq(\\relsegscale)e Fo(v)m(alue)240
+1069 y Ft(Adjust)i(the)g(segmen)o(t)f(scale)h(factor)f(b)o(y)h(m)o
+(ultiplying)i(b)o(y)e Fo(v)m(alue)p Ft(.)22 b(This)17
+b(has)e(the)h(e\013ect)g(of)f(m)o(ulti-)240 1131 y(plying)i(the)e
+(curren)o(t)g(o)o(v)o(erall)g(scale)h(factor)e(b)o(y)h(the)h(same)e
+(factor.)19 b(The)d(o)o(v)o(erall)f(scaling)h(factor)e(is)240
+1194 y(the)h(pro)q(duct)h(of)f(the)g(unit)h(scale)g(factor)e(and)h(the)
+h(segmen)o(t)e(scale)i(factor.)62 1352 y(In)e(addition)f(to)f(the)h
+(unit)g(scale)h(factor)d(and)i(the)g(segmen)o(t)f(scale)h(factor,)f
+(the)h(scaling)h(can)e(b)q(e)i(con)o(trolled)f(b)o(y)0
+1414 y(the)f(c)o(hoice)h(of)f(dra)o(wing)g(units)h(with)g(the)f
+(command)g Fq(\\drawdim)f Ft(\(see)i(Section)g(2.4)e([Co)q(ordinate)h
+(sp)q(eci\014cation],)0 1476 y(page)j(6\).)0 1635 y Fq(\\drawdim)f(cm)h
+(\\setunitscale)e(2.54)240 1697 y Ft(Set)k(the)g(units)h(to)f(cen)o
+(timetres)g(scaled)h(b)o(y)f(2.54.)24 b(T)l(ogether)17
+b(these)g(commands)g(are)g(e\013ectiv)o(ely)240 1759
+y(the)e(same)g(as)g Fq(\\drawdim)f(in)p Ft(.)62 1918
+y(The)k(segmen)o(t)g(scale)h(can)f(b)q(e)g(used)h(to)e(allo)o(w)h
+(scale)h(c)o(hanges)f(in)h(segmen)o(ts)e(so)h(that)f(v)m(alues)i(are)f
+(in)g(more)0 1980 y(con)o(v)o(enien)o(t)g(units.)28 b(F)l(or)18
+b(example)g(supp)q(ose)h(dimensions)g(in)g(a)e(segmen)o(t)g(are)h(m)o
+(ultiples)h(of)f(one)f(third)i(of)e(an)0 2042 y(inc)o(h.)26
+b(The)18 b(segmen)o(t)e(scale)i(can)f(b)q(e)h(set)f(once)g(to)g(mak)o
+(e)f(1)h(dra)o(wing)g(unit)h(equal)f(0.3333)f(inc)o(hes.)26
+b(F)l(rom)17 b(that)0 2104 y(p)q(oin)o(t)f(on,)e(co)q(ordinates)i(can)f
+(b)q(e)h(sp)q(eci\014ed)i(with)d(in)o(teger)g(v)m(alues.)62
+2246 y(The)g(follo)o(wing)f(example)h(de\014nes)h(a)d(macro)h(to)f(dra)
+o(w)h(a)g(rectangular)g(b)q(o)o(x)g(whic)o(h)h(is)f(t)o(wice)h(as)e
+(wide)i(as)f(it)g(is)0 2308 y(high.)21 b(The)15 b(width)h(is)g(sp)q
+(eci\014ed)h(as)e(an)g(argumen)o(t.)120 2439 y Fq(\\def\\mybox)22
+b(#1{\\bsegment)502 2491 y(\\setsegscale)g(#1)502 2543
+y(\\lvec)h(\(0)h(+0.25\))f(\\lvec)g(\(1)g(+0.25\))g(\\lvec)h(\(1)f
+(-0.25\))502 2595 y(\\lvec)g(\(0)h(-0.25\))f(\\lvec)g(\(0)g(0\))454
+2647 y(\\esegment})p eop
+%%Page: 21 23
+21 22 bop 0 -83 a Ft(Chapter)15 b(3:)k(Dra)o(wing)c(Segmen)o(ts)g(and)g
+(Scaling)1061 b(21)0 158 y Fs(3.5)33 b(Dra)n(wing)15
+b(size)62 295 y Ft(The)i(e\013ectiv)o(e)g(size)g(of)f(the)h(dra)o(wing)
+f(is)h(determined)h(b)o(y)e(the)g(maxim)o(um)h(excursions)g(of)f(the)h
+(co)q(ordinates)0 358 y(supplied)22 b(to)d(T)269 367
+y(E)295 358 y(Xdra)o(w)g(commands.)33 b(The)20 b(minim)o(um)h(and)f
+(maxim)o(um)f(scaled)i Fo(x)i Ft(and)d Fo(y)j Ft(co)q(ordinates)d(are)0
+420 y(tallied.)28 b(Note)17 b(that)g Fq(\\move)f Ft(commands)h(con)o
+(tribute)h(to)f(the)g(determination)i(of)d(the)i(calculated)h(size)f
+(of)f(the)0 482 y(dra)o(wing,)h(ev)o(en)g(though)f(they)h(do)g(not)f
+(generate)h(visible)i(lines.)29 b(The)18 b(circle)h(and)f(ellipse)i
+(commands)d(add)h(a)0 544 y(comp)q(ensation)g(for)e(the)h(radii)h(of)f
+(circles)h(and)g(ellipses.)27 b(The)17 b(\014nal)h(T)1231
+554 y(E)1257 544 y(Xdra)o(w)e(dra)o(wing)h(is)h(placed)g(in)g(a)e(T)
+1890 554 y(E)1916 544 y(X)0 607 y(b)q(o)o(x)k(with)g(lo)o(w)o(er)g
+(lefthand)g(corner)g(corresp)q(onding)h(to)e Fq(\()p
+Fo(x)p Ft(-min)i Fo(y)p Ft(-min)p Fq(\))g Ft(and)f(upp)q(er)h(righ)o
+(thand)f(corner)g(at)0 669 y Fq(\()p Fo(x)p Ft(-max)15
+b Fo(y)p Ft(-max)p Fq(\))p Ft(.)62 806 y(T)l(ext)k(generated)f(b)o(y)g
+Fq(\\htext)p Ft(,)h Fq(\\vtext)e Ft(or)h Fq(\\rtext)g
+Ft(can)g(spill)j(outside)e(the)f(b)q(o)o(x)h(as)f(determined)i(ab)q(o)o
+(v)o(e.)0 868 y(Only)e(the)f(text)f(reference)i(p)q(oin)o(t)f(is)h
+(guaran)o(teed)e(to)g(b)q(e)i(in)f(the)g(dra)o(wing)g(b)q(o)o(x.)25
+b(Arcs)17 b(can)g(also)f(spill)j(outside)0 930 y(the)d(dra)o(wing)f(b)q
+(o)o(x.)22 b(Note)15 b(also)h(that)f(the)g(widths)i(of)e(lines,)i(and)f
+(the)g(sizes)g(of)f(arro)o(wheads)g(do)h(not)f(a\013ect)g(the)0
+993 y(size)h(of)f(the)h(dra)o(wing.)k(The)c(calculated)h(size)f(of)f
+(the)g(dra)o(wing)h(will)h(nev)o(er)e(b)q(e)h(larger)g(than)f(the)g
+(actual)h(size)g(of)0 1055 y(the)h(dra)o(wing.)23 b(In)18
+b(extreme)e(cases)h(in)g(whic)o(h)g(text)f(or)g(lines)j(extend)e(far)f
+(outside)h(the)f(dra)o(wing,)h(extra)f Fq(\\move)0 1117
+y Ft(commands)h(should)h(b)q(e)f(used)h(to)e(establish)i(the)g(size)f
+(of)g(the)g(dra)o(wing)g(so)g(that)f(the)h(T)1528 1127
+y(E)1553 1117 y(Xdra)o(w)g(b)q(o)o(x)g(includes)0 1180
+y(all)f(of)f(the)g(dra)o(wing.)62 1316 y(T)87 1326 y(E)113
+1316 y(Xdra)o(w)e(pro)o(vides)h(the)f Fq(\\drawbb)g Ft(command)h(to)e
+(dra)o(w)h(a)h(b)q(o)o(x)f(whic)o(h)i(indicates)g(the)e(e\013ectiv)o(e)
+h(size)h(of)e(the)0 1379 y(dra)o(wing.)26 b(Whenev)o(er)17
+b Fq(\\drawbb)f Ft(is)i(in)o(v)o(ok)o(ed,)f(a)g(ruled)h(b)q(o)o(x)f(is)
+h(dra)o(wn)e(around)i(the)f(dra)o(wing)g(as)f(it)i(has)f(b)q(een)0
+1441 y(sized)h(up)f(to)e(that)h(p)q(oin)o(t.)24 b(Normally)17
+b Fq(\\drawbb)f Ft(is)h(in)o(v)o(ok)o(ed)f(just)h(b)q(efore)f(the)h
+(end)g(of)f(a)g(dra)o(wing)h(to)e(indicate)0 1503 y(the)g(e\013ectiv)o
+(e)h(size)g(of)f(the)g(\014nal)h(dra)o(wing.)0 1665 y
+Fq(\\drawbb)72 b Ft(Dra)o(w)16 b(a)i(ruled)h(b)q(o)o(x)e(around)h(the)g
+(e\013ectiv)o(e)g(size)h(of)e(a)g(dra)o(wing)h(pro)q(duced)h(b)o(y)e(T)
+1679 1675 y(E)1705 1665 y(Xdra)o(w)g(com-)240 1727 y(mands.)0
+1952 y Fs(3.6)33 b(Initial)17 b(curren)n(t)g(p)r(osition)62
+2089 y Ft(The)c(\014rst)g(op)q(eration)g(in)h(a)e(dra)o(wing)h(should)h
+(b)q(e)g(a)e(mo)o(v)o(e)h(to)f(establish)i(the)f(curren)o(t)g(p)q
+(osition.)20 b(The)13 b(curren)o(t)0 2151 y(p)q(osition)19
+b(can)f(b)q(e)h(established)g(explicitly)i(through)d(a)g
+Fq(\\move)f Ft(command)h(or)f(a)h(text)f(p)q(ositioning)j(command)0
+2213 y(suc)o(h)f(as)g Fq(\\htext)f Ft(with)i(a)f(co)q(ordinate.)32
+b(Ho)o(w)o(ev)o(er,)19 b(if)g(an)g(attempt)f(is)i(made)f(to)g(use)g(a)g
+(dra)o(wing)g(command)0 2275 y(whic)o(h)e(needs)g(a)e(curren)o(t)h(p)q
+(osition)i(and)e(none)g(has)g(b)q(een)h(established,)h(T)1288
+2285 y(E)1313 2275 y(Xdra)o(w)e(implicitly)j(sets)d(the)g(initial)0
+2338 y(curren)o(t)c(p)q(osition)h(to)e Fq(\(0)k(0\))p
+Ft(.)k(The)12 b(size)h(of)e(the)h(T)841 2347 y(E)867
+2338 y(Xdra)o(w)f(\014gure)h(is)h(normally)f(determined)i(from)d(the)h
+(sequence)0 2400 y(of)h(co)q(ordinates)h(sp)q(eci\014ed,)i(but)e(will)i
+(include)g(the)d(implicit)k(initial)f(p)q(osition)e(in)h(case)f
+(another)f(initial)j(p)q(osition)0 2462 y(has)f(not)g(b)q(een)h
+(explicitly)i(sp)q(eci\014ed.)p eop
+%%Page: 22 24
+22 23 bop 0 -83 a Ft(22)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)p eop
+%%Page: 23 25
+23 24 bop 0 -83 a Ft(Chapter)15 b(4:)k(Using)d(T)385
+-73 y(E)411 -83 y(Xdra)o(w)e(with)i(LaT)737 -73 y(E)762
+-83 y(X)1109 b(23)0 158 y Fp(4)41 b(Using)14 b(T)340
+174 y(E)383 158 y(Xdra)n(w)h(with)g(LaT)934 174 y(E)977
+158 y(X)62 346 y Ft(The)21 b(LaT)237 356 y(E)263 346
+y(X)f(t)o(yp)q(esetting)h(system)f(uses)g(a)h(structured)f(approac)o(h)
+g(to)g(declaring)i(t)o(yp)q(esetting)e(en)o(viron-)0
+408 y(men)o(ts.)27 b(F)l(or)17 b(LaT)318 418 y(E)344
+408 y(X2e,)h(the)g Fq(texdraw)f Ft(pac)o(k)m(age)g(de\014nes)i(the)f
+Fq(texdraw)f Ft(en)o(vironmen)o(t.)28 b(The)18 b(T)1715
+418 y(E)1740 408 y(Xdra)o(w)f(en-)0 470 y(vironmen)o(t)g(is)f(started)g
+(with)h(a)f Fq(\\begin{texdraw})e Ft(command)i(and)h(terminated)g(with)
+f(an)h Fq(\\end{texdraw})0 533 y Ft(command.)j(All)c(of)f(the)g(basic)h
+(T)568 542 y(E)594 533 y(Xdra)o(w)e(commands)h(can)h(b)q(e)f(used)h
+(within)h(the)e Fq(texdraw)f Ft(en)o(vironmen)o(t.)62
+670 y(As)h(an)h(example,)f(a)g(LaT)497 679 y(E)523 670
+y(X2e)g(v)m(arian)o(t)g(of)g(an)g(earlier)h(example)g(can)f(b)q(e)h
+(constructed)g(as)e(follo)o(ws.)120 796 y Fq(\\documentclass{article})
+120 848 y(\\usepackage{texdraw})144 900 y(...)120 952
+y(\\begin{document})144 1004 y(...)120 1056 y
+(\\newcommand{\\tbox}[1]{\045)192 1108 y(\\bsegment)239
+1160 y(\\lvec)23 b(\(0)h(+0.25\))95 b(\\lvec)23 b(\(0.75)g(+0.25\))239
+1212 y(\\lvec)g(\(0.75)h(-0.25\))f(\\lvec)g(\(0)g(-0.25\))h(\\lvec)f
+(\(0)g(0\))239 1263 y(\\textref)g(h:C)h(v:C)f(\\htext)g(\(0.375)g
+(0\){#1})239 1315 y(\\savepos)g(\(0.75)g(0\)\(*ex)g(*ey\))192
+1367 y(\\esegment)192 1419 y(\\move)g(\(*ex)g(*ey\)})120
+1471 y(\\begin{center})120 1523 y(\\begin{texdraw})168
+1575 y(\\ravec)g(\(1)g(0\))h(\\tbox{$H\(z\)$})e(\\ravec)h(\(1)h(0\))120
+1627 y(\\end{texdraw})120 1679 y(\\end{center})144 1730
+y(...)120 1782 y(\\end{document})62 1909 y Ft(This)17
+b(example)f(illustrates)h(the)f(use)g(of)f(the)h(LaT)921
+1919 y(E)947 1909 y(X)g(command)f Fq(\\newcommand)g Ft(as)g(an)h
+(alternativ)o(e)g(to)f(the)0 1971 y(plain)21 b(T)143
+1981 y(E)169 1971 y(X)f(command)f Fq(\\def)p Ft(.)34
+b(Instead)20 b(of)f(the)h(basic)h(T)1025 1981 y(E)1050
+1971 y(Xdra)o(w)f(command)f Fq(\\centertexdraw)p Ft(,)g(a)g(nested)0
+2034 y(com)o(bination)d(of)f(the)g(LaT)465 2043 y(E)491
+2034 y(X)g(cen)o(tering)h(en)o(vironmen)o(t)f(and)g(the)h(T)1189
+2043 y(E)1214 2034 y(Xdra)o(w)f(en)o(vironmen)o(t)g(is)h(used.)0
+2259 y Fs(4.1)33 b(P)n(ostScript)16 b(prin)n(ter)h(driv)n(ers)62
+2396 y Ft(The)24 b Fq(texdraw)f Ft(pac)o(k)m(age)h(uses)g(the)g(prin)o
+(ter)h(driv)o(er)f(in)o(terface)g(pro)o(vided)h(b)o(y)f(the)g(standard)
+f(LaT)1847 2406 y(E)1873 2396 y(X2e)0 2458 y Fq(graphics)d
+Ft(pac)o(k)m(age.)37 b(An)o(y)22 b(options)f(to)f(the)h
+Fq(texdraw)g Ft(pac)o(k)m(age)g(are)f(passed)i(to)e(the)h
+Fq(graphics)f Ft(pac)o(k)m(age.)0 2521 y(Sp)q(eci\014cally)l(,)25
+b(the)20 b(name)h(of)f(the)h(P)o(ostScript)f(driv)o(er)h(to)f(b)q(e)h
+(used)g(can)g(b)q(e)g(sp)q(eci\014ed)i(as)d(an)g(option)h(to)f(the)0
+2583 y Fq(texdraw)13 b Ft(pac)o(k)m(age.)20 b(With)14
+b(no)g(explicit)i(prin)o(ter)e(driv)o(er)h(option,)f(the)g(default)h
+(prin)o(ter)f(driv)o(er)g(asso)q(ciated)h(with)0 2645
+y(the)g Fq(graphics)f Ft(pac)o(k)m(age)i(is)f(used.)p
+eop
+%%Page: 24 26
+24 25 bop 0 -83 a Ft(24)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)62 158 y(The)18 b Fq(texdraw)e Ft(pac)o(k)m(age)h(can)g(b)q
+(e)h(used)f(with)h(an)o(y)f(of)f(the)h(prin)o(ter)h(driv)o(ers)f(supp)q
+(orted)h(b)o(y)f(the)g Fq(graphics)0 221 y Ft(pac)o(k)m(age)k(that)g
+(allo)o(w)g(for)g(the)g(imp)q(ortation)h(of)f(P)o(ostScript)g(graphics)
+g(\014les,)j(viz.,)f Fq(dvips)p Ft(,)e Fq(xdvi)p Ft(,)h
+Fq(dvi2ps)p Ft(,)0 283 y Fq(dvialw)p Ft(,)j Fq(dvilaser)p
+Ft(,)g Fq(dvipsone)p Ft(,)f Fq(dviwindo)p Ft(,)h Fq(dvitops)p
+Ft(,)g Fq(oztex)p Ft(,)g Fq(psprint)p Ft(,)g Fq(textures)p
+Ft(,)g Fq(pctexps)p Ft(,)g(and)0 345 y Fq(pctexwin)p
+Ft(.)g(Not)17 b(all)h(of)f(these)h(driv)o(ers)f(supp)q(ort)h(the)f
+(text)g(rotation)f(needed)j(for)e(the)g(T)1566 355 y(E)1591
+345 y(Xdra)o(w)g(commands)0 407 y Fq(\\vtext)d Ft(and)i
+Fq(\\rtext)p Ft(.)j(Of)c(the)g(driv)o(ers)h(listed)g(ab)q(o)o(v)o(e,)e
+(only)i(the)f(follo)o(wing)h(supp)q(ort)f(supp)q(ort)h(text)e
+(rotation:)0 470 y Fq(dvips)p Ft(,)g Fq(xdvi)p Ft(,)g
+Fq(dvi2ps)p Ft(,)g Fq(dvitops)p Ft(,)g Fq(textures)p
+Ft(,)g(and)h Fq(pctexps)p Ft(.)p eop
+%%Page: 25 27
+25 26 bop 0 -83 a Ft(Chapter)15 b(5:)k(More)c(Details)1417
+b(25)0 158 y Fp(5)41 b(More)15 b(Details)62 372 y Ft(The)h(\014rst)f
+(part)f(of)h(this)h(c)o(hapter)f(o\013ers)f(some)h(suggestions)h(for)e
+(strategies)h(to)g(isolate)g(errors)g(in)h(T)1802 382
+y(E)1827 372 y(X)g(and)0 434 y(T)25 444 y(E)51 434 y(Xdra)o(w)f(input.)
+22 b(The)16 b(second)g(part)f(of)g(this)h(c)o(hapter)g(discusses)h
+(implemen)o(tational)g(issues.)22 b(An)16 b(a)o(w)o(areness)0
+496 y(of)f(these)g(issues)h(is)g(useful)g(if)g(T)538
+506 y(E)563 496 y(Xdra)o(w)f(is)h(to)e(b)q(e)i(extended.)0
+768 y Fs(5.1)33 b(Errors)15 b(while)i(using)e(T)695 782
+y(E)731 768 y(Xdra)n(w)62 911 y Ft(T)87 920 y(E)113 911
+y(X)j(input)g(is)g(notoriously)g(di\016cult)i(to)d(debug.)28
+b(If)18 b(T)1035 920 y(E)1060 911 y(X)g(rep)q(orts)f(errors,)h(so)f(m)o
+(uc)o(h)h(the)f(b)q(etter.)28 b(If)18 b(the)0 973 y(cause)i(is)h(not)e
+(immediately)j(ob)o(vious,)e(consider)h(using)g(a)e(binary)i(searc)o(h)
+f(strategy)l(,)f(remo)o(ving)h(sections)g(of)0 1035 y(co)q(de)f(with)g
+(the)f(premature)g(insertion)i(of)e(the)g Fq(\\bye)g
+Ft(\(or)g Fq(\\end{document})e Ft(for)i(LaT)1538 1045
+y(E)1564 1035 y(X\))g(command)g(\(with)0 1097 y(the)e(appropriate)f
+(closing)i(of)e(an)o(y)g(op)q(en)h(groups)f(and)h(the)f(lik)o(e\).)22
+b(Other)16 b(strategies)e(include)k(the)e(insertion)g(of)0
+1160 y Fq(\\message{I)e(am)h(here})h Ft(at)g(appropriate)g(places.)25
+b(T)l(ry)17 b(using)g Fq(\\tracingmacros=1)p Ft(.)22
+b(Man)o(y)16 b(problems)h(turn)0 1222 y(out)11 b(to)g(b)q(e)h(due)h(to)
+e(an)g(incorrect)h(n)o(um)o(b)q(er)g(of)f(macro)g(argumen)o(ts)g(or)g
+(incorrectly)h(delimited)i(macro)d(argumen)o(ts.)0 1284
+y(The)16 b Fq(\\tracingmacros=1)d Ft(option)i(writes)h(the)f(macro)g
+(argumen)o(ts)f(and)i(macro)f(expansions)h(to)f(the)g(T)1817
+1294 y(E)1843 1284 y(X)g(log)0 1346 y(\014le.)62 1489
+y(Certain)20 b(errors)e(ma)o(y)h(not)g(manifest)h(themselv)o(es)g(un)o
+(til)g(w)o(ell)h(after)d(the)i(o\013ending)g(command.)32
+b(F)l(or)19 b(in-)0 1551 y(stance,)14 b(if)i(a)e(closing)i(paren)o
+(thesis)f(is)g(missing)h(from)e(a)g(T)991 1561 y(E)1017
+1551 y(Xdra)o(w)g(co)q(ordinate,)h(T)1424 1561 y(E)1449
+1551 y(X)g(con)o(tin)o(ues)g(searc)o(hing)h(for)0 1613
+y(the)j(paren)o(thesis.)30 b(If)19 b(one)g(is)g(found,)h(p)q(erhaps)f
+(man)o(y)f(lines)i(later,)g(the)e(T)1314 1623 y(E)1340
+1613 y(Xdra)o(w)g(error)g(message)g Fq(invalid)0 1676
+y(coordinate)c Ft(will)j(b)q(e)f(prin)o(ted)f(at)g(this)h(later)f(p)q
+(oin)o(t.)62 1818 y(All)h(input)g(in)g(the)f(T)413 1828
+y(E)438 1818 y(Xdra)o(w)g(en)o(vironmen)o(t)g(should)h(b)q(e)f(in)o
+(tended)h(for)f(in)o(terpretation)g(b)o(y)f(T)1682 1828
+y(E)1708 1818 y(Xdra)o(w)g(com-)0 1880 y(mands.)41 b(T)208
+1890 y(E)234 1880 y(Xdra)o(w)22 b(places)h(text)f(inside)i(a)e(zero)g
+(size)i(b)q(o)o(x)e(\(the)g(text)g(itself)h(extends)g(outside)g(the)g
+(b)q(o)o(x\).)0 1942 y(Extraneous)15 b(input)j(manifests)e(itself)h(as)
+e(a)h(non-zero)g(size)h(T)1068 1952 y(E)1094 1942 y(Xdra)o(w)e(text)h
+(b)q(o)o(x.)22 b(This)17 b(causes)f(the)g(T)1793 1952
+y(E)1819 1942 y(Xdra)o(w)0 2005 y(text)e(and)h(the)g(P)o(ostScript)f
+(graphics)i(to)e(b)q(e)h(displaced)i(from)d(one)g(another.)20
+b(An)15 b(error)f(message)g(is)h(issued)h(if)f(a)0 2067
+y(non-zero)i(width)g(T)341 2077 y(E)367 2067 y(Xdra)o(w)e(text)i(b)q(o)
+o(x)f(is)h(detected.)25 b(If)17 b(this)g(error)e(message)i(app)q(ears,)
+f(lo)q(ok)h(for)f(unin)o(tended)0 2129 y(c)o(haracter)e(sequences)j
+(amongst)d(the)h(commands)g(to)g(T)971 2139 y(E)996 2129
+y(Xdra)o(w.)62 2271 y(Sev)o(eral)20 b(T)248 2281 y(E)274
+2271 y(Xdra)o(w)f(commands)h(pass)f(their)h(argumen)o(ts)f(\\ra)o(w")f
+(to)h(the)h(P)o(ostScript)g(\014le.)34 b(That)19 b(means)0
+2334 y(that)14 b(in)o(v)m(alid)j(argumen)o(ts)d(can)h(generate)g(P)o
+(ostScript)f(errors)h(when)g(the)g(do)q(cumen)o(t)g(is)g(prin)o(ted.)21
+b(F)l(or)14 b(instance)0 2396 y(the)j(argumen)o(t)f(of)h(the)g
+Fq(\\setgray)e Ft(command)i(is)h(passed)f(straigh)o(t)f(through)g(to)h
+(the)g(P)o(ostScript)f(\014le.)26 b(If)18 b(this)0 2458
+y(argumen)o(t)j(is)i(non-n)o(umeric,)i(a)c(P)o(ostScript)h(error)f
+(results.)41 b(Not)22 b(all)h(P)o(ostScript)f(prin)o(ters)g(rep)q(ort)g
+(errors)0 2521 y(bac)o(k)c(to)g(the)g(user.)30 b(The)18
+b(prin)o(t)h(ma)o(y)e(just)h(stop)g(prematurely)l(.)30
+b(One)19 b(approac)o(h)f(to)g(debugging)h(is)g(to)f(use)g(a)0
+2583 y(P)o(ostScript)13 b(preview)o(er)g(on)g(a)g(w)o(orkstation.)18
+b(That)12 b(w)o(a)o(y)l(,)h(one)g(can)g(determine)h(at)f(whic)o(h)h(p)q
+(oin)o(t)f(in)h(the)f(dra)o(wing)0 2645 y(the)i(P)o(ostScript)g(error)g
+(o)q(ccurs.)p eop
+%%Page: 26 28
+26 27 bop 0 -83 a Ft(26)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fs(5.2)33 b(Extending)17 b(T)472 172
+y(E)507 158 y(Xdra)n(w)62 314 y Ft(T)87 323 y(E)113 314
+y(Xdra)o(w)i(is)h(implemen)o(ted)h(using)g(a)e(com)o(bination)h(of)g(T)
+1098 323 y(E)1123 314 y(X)g(commands)f(and)h(P)o(ostScript)g(co)q(de.)
+33 b(This)0 376 y(section)16 b(discusses)g(some)f(of)g(the)g(implemen)o
+(tational)i(issues)f(as)f(they)g(relate)g(to)g(extending)h(T)1646
+386 y(E)1672 376 y(Xdra)o(w.)62 531 y(T)87 541 y(E)113
+531 y(Xdra)o(w)e(as)g(implemen)o(ted,)i(o\013ers)d(a)h(basic)h(set)g
+(of)f(dra)o(wing)g(features.)19 b(These)c(are)f(adequate)h(for)f
+(certain)0 593 y(tasks)h(suc)o(h)h(as)f(pro)q(ducing)i(blo)q(c)o(k)g
+(diagrams.)k(There)16 b(are)f(di\013eren)o(t)h(approac)o(hes)g(to)f
+(extending)i(T)1737 603 y(E)1762 593 y(Xdra)o(w)f(to)0
+656 y(include)h(other)e(functions.)20 b(In)15 b(some)g(cases,)f(the)h
+(desired)h(functionalit)o(y)g(can)f(b)q(e)g(ac)o(hiev)o(ed)h(b)o(y)f
+(writing)g(a)f(T)1890 665 y(E)1916 656 y(X)0 718 y(macro)h(whic)o(h)h
+(builds)h(on)f(top)f(of)g(the)g(existing)i(T)870 728
+y(E)895 718 y(Xdra)o(w)e(commands.)20 b(As)c(these)f(extensions)h(b)q
+(ecome)g(more)0 780 y(complex,)22 b(the)f(limitations)g(of)f(T)595
+790 y(E)621 780 y(X)g(for)g(computations)g(b)q(ecome)h(increasingly)h
+(eviden)o(t.)36 b(In)21 b(other)f(cases,)0 842 y(access)d(to)g
+(di\013eren)o(t)g(features)g(of)g(P)o(ostScript)g(is)h(desired.)27
+b(The)18 b(appropriate)f(approac)o(h)g(w)o(ould)g(b)q(e)h(to)f(write)0
+905 y(new)e(P)o(ostScript)g(pro)q(cedures)h(whic)o(h)g(can)g(b)q(e)g
+(accessed)f(b)o(y)h(T)1088 915 y(E)1113 905 y(X)f(macros.)62
+1060 y(Included)i(with)d(T)374 1070 y(E)399 1060 y(Xdra)o(w)g(is)g(a)g
+(set)f(of)h(macros)f(for)g(directly)i(accessing)g(P)o(ostScript)f
+(functions.)20 b(These)14 b(are)0 1122 y(describ)q(ed)j(in)f(an)f(app)q
+(endix)i(\(see)e(App)q(endix)j(A)d([P)o(ostScript)g(Commands],)e(page)j
+(31\).)62 1278 y(T)87 1287 y(E)113 1278 y(Xdra)o(w)9
+b(also)i(comes)f(with)g(a)g(to)q(olb)q(o)o(x)g(of)g(routines)h(for)e
+(handling)j(m)o(uc)o(h)e(of)g(the)h(user)f(in)o(terface,)h(con)o(v)o
+(erting)0 1340 y(b)q(et)o(w)o(een)j(di\013eren)o(t)g(co)q(ordinate)g
+(represen)o(tations)g(and)g(the)g(lik)o(e.)20 b(The)14
+b(macros)f(for)g(co)q(ordinate)i(deco)q(ding)g(and)0
+1402 y(for)i(computations)h(in)o(v)o(olving)h(co)q(ordinates)f(are)f
+(describ)q(ed)j(in)e(an)g(app)q(endix)h(\(see)f(App)q(endix)i(B)d([T)
+1793 1412 y(E)1819 1402 y(Xdra)o(w)0 1464 y(T)l(o)q(olb)q(o)o(x],)e
+(page)g(35\).)0 1836 y Fj(5.2.1)30 b(Scaling)62 1992
+y Ft(The)17 b(scaling)h(commands)f(pro)o(vided)h(in)g(T)804
+2001 y(E)829 1992 y(Xdra)o(w)e(are)h(designed)h(to)f(a\013ect)f(only)h
+(the)g(co)q(ordinate)h(v)m(alues)0 2054 y(sp)q(eci\014ed)c(in)f
+(commands.)19 b(F)l(or)11 b(instance,)i(c)o(hanging)f(the)g
+Fq(\\setunitscale)f Ft(v)m(alue)i(c)o(hanges)f(the)g(in)o(terpretation)
+0 2116 y(of)k(the)h(co)q(ordinate)g(in)g(an)g Fq(\\avec)d(\()p
+Fo(x)k(y)t Fq(\))f Ft(command,)f(but)h(do)q(es)g(not)f(c)o(hange)h(the)
+f(line)j(width)e(or)f(arro)o(whead)0 2178 y(sizes)j(in)f(e\013ect.)28
+b(None)18 b(of)g(the)g(T)589 2188 y(E)614 2178 y(Xdra)o(w)f(scaling)i
+(commands)f(a\013ect)f(the)h(size)h(of)e(T)1517 2188
+y(E)1543 2178 y(X)h(text)f(pro)q(duced)i(b)o(y)l(,)0
+2241 y(for)f(instance,)h(the)f Fq(\\htext)g Ft(command.)29
+b(Scale)19 b(c)o(hanges)f(will)i(ho)o(w)o(ev)o(er)d(a\013ect)h(the)g(p)
+q(ositioning)i(of)e(text)g(for)0 2303 y(subsequen)o(t)e(commands.)62
+2458 y(The)c(line)i(parameters)d(are)h(c)o(hanged)g(only)h(if)f(the)g
+(corresp)q(onding)h(commands)f(to)f(c)o(hange)i(them)f(are)f(issued.)0
+2521 y(If)h(the)g Fq(\\linewd)e Ft(command)i(is)g(giv)o(en,)g(the)g
+(curren)o(t)f(co)q(ordinate)h(scaling)h(is)f(used)g(to)f(determine)i
+(the)e(line)j(width.)0 2583 y(T)l(o)k(ac)o(hiev)o(e)g(a)g(b)q(eha)o
+(viour)h(more)e(lik)o(e)i(a)f(global)h(scaling,)g(whenev)o(er)f(the)h
+(scale)f(factor)f(is)i(c)o(hanged,)f(the)g(line)0 2645
+y(parameters)c(should)j(b)q(e)e(set)g(again.)p eop
+%%Page: 27 29
+27 28 bop 0 -83 a Ft(Chapter)15 b(5:)k(More)c(Details)1417
+b(27)0 158 y Fj(5.2.2)30 b(Resolution)62 307 y Ft(T)87
+317 y(E)113 307 y(Xdra)o(w)13 b(scales)h(co)q(ordinates)g(b)q(efore)g
+(passing)g(them)g(to)f(P)o(ostScript.)19 b(Keeping)d(trac)o(k)c(of)i
+(the)g(co)q(ordinate)0 369 y(scaling)19 b(is)f(necessary)l(,)g(in)h(an)
+o(y)e(ev)o(en)o(t,)h(to)f(allo)o(w)h(T)896 379 y(E)922
+369 y(Xdra)o(w)f(to)g(compute)h(the)f(maxim)o(um)h(excursions)h(of)e
+(the)0 431 y(co)q(ordinates.)24 b(T)288 441 y(E)313 431
+y(Xdra)o(w)16 b(uses)h(pixel)h(units)f(in)g(its)g(P)o(ostScript)f(co)q
+(de.)24 b(One)17 b(pixel)h(unit)g(is)e(equal)i(to)d(1/300)g(of)0
+494 y(an)e(inc)o(h.)21 b(T)201 503 y(E)226 494 y(Xdra)o(w)13
+b(issues)h(P)o(ostScript)f(commands)h(with)f(in)o(teger)h(v)m(alued)h
+(pixel)g(co)q(ordinates.)20 b(This)14 b(sets)f(the)0
+556 y(p)q(ositioning)i(resolution)f(for)f(T)533 566 y(E)559
+556 y(Xdra)o(w.)18 b(The)c(passing)g(of)f(in)o(teger)h(v)m(alued)h(co)q
+(ordinates)e(whic)o(h)i(corresp)q(ond)f(to)0 618 y(the)i(device)h
+(resolution)f(k)o(eeps)g(lines)h(aligned)h(with)e(the)f(device)i(grid;)
+f(parallel)h(lines)h(of)d(the)h(same)f(width)h(will)0
+681 y(b)q(e)g(rendered)g(with)g(the)f(same)g(width.)62
+829 y(The)i(p)q(osition)h(sa)o(ving)e(mec)o(hanism)h(in)h(T)787
+839 y(E)812 829 y(Xdra)o(w)e(\(see)h(Section)g(3.3)f([Sa)o(ving)g(p)q
+(ositions],)h(page)g(18\))f(asso-)0 891 y(ciates)g(the)f(pixel)i(co)q
+(ordinates)e(of)g(a)g(p)q(osition)h(with)g(the)f(sp)q(eci\014ed)i
+(name.)62 1040 y(T)87 1050 y(E)113 1040 y(Xdra)o(w)g(uses)i(the)f
+(limited)i(real)e(n)o(um)o(b)q(er)g(represen)o(tation)h(pro)o(vided)f
+(b)o(y)g(T)1440 1050 y(E)1466 1040 y(X.)g(These)g(op)q(erations)g(are)0
+1102 y(based)i(on)f(the)h(represen)o(tation)f(of)h(dimensions)h(as)e
+(real-v)m(alued)i(n)o(um)o(b)q(ers)f(of)f(p)q(oin)o(ts.)34
+b(In)o(ternally)20 b(in)h(T)1878 1112 y(E)1903 1102 y(X,)0
+1164 y(dimensions)e(are)d(stored)h(32-bit)g(v)m(alues,)h(normalized)h
+(so)d(that)h(1)f(pt)h(corresp)q(onds)h(to)e(the)h(scaled)h(p)q(oin)o(t)
+f(\(sp\))0 1227 y(v)m(alue)d(of)e(65536.)18 b(Dimensions)13
+b(with)g(magnitudes)g(b)q(et)o(w)o(een)g(0.000015)e(pt)h(and)h(32767)e
+(pt)i(can)g(b)q(e)g(represen)o(ted.)0 1289 y(This)k(is)g(also)g(the)g
+(dynamic)h(range)e(of)g(the)h(T)793 1299 y(E)818 1289
+y(Xdra)o(w)g(pixel)h(co)q(ordinates)f(passed)g(to)f(P)o(ostScript.)24
+b(T)1793 1299 y(E)1819 1289 y(Xdra)o(w)0 1351 y(m)o(ust)17
+b(con)o(v)o(ert)f(from)g(user)i(supplied)h(co)q(ordinates)f(using)g
+(the)f(scaling)h(factor)e(\(whic)o(h)i(itself)g(consists)g(of)e(t)o(w)o
+(o)0 1414 y(comp)q(onen)o(ts,)d(the)g(unit)h(scale)g(and)f(the)g
+(segmen)o(t)g(scale\))g(and)g(a)g(pixel)i(con)o(v)o(ersion)e(factor.)18
+b(The)13 b(use)h(of)e(limited)0 1476 y(precision)j(real)e(n)o(um)o(b)q
+(ers)h(in)g(these)f(computations)g(can)h(cause)f(accum)o(ulation)h(of)f
+(error)f(when)i(relativ)o(e)g(scaling)0 1538 y(is)i(used)f(rep)q
+(eatedly)l(.)0 1850 y Fj(5.2.3)30 b(T)-5 b(ext)15 b(placemen)n(t)62
+1998 y Ft(While)j(in)f(the)f(T)354 2008 y(E)380 1998
+y(Xdra)o(w)g(en)o(vironmen)o(t,)g(T)828 2008 y(E)853
+1998 y(X)h(text)f(is)g(placed)i(in)f(a)f(T)1307 2008
+y(E)1332 1998 y(X)h(b)q(o)o(x)f(while)i(P)o(ostScript)e(co)q(de)g(is)0
+2061 y(written)e(to)e(the)i(in)o(termediate)g(\014le.)21
+b(A)o(t)13 b(the)g(end)h(of)g(the)f(T)1017 2070 y(E)1043
+2061 y(Xdra)o(w)g(en)o(vironmen)o(t,)g(the)h(size)g(of)f(the)h(dra)o
+(wing)f(is)0 2123 y(determined.)24 b(A)16 b(T)333 2133
+y(E)358 2123 y(X)g(b)q(o)o(x)g(of)g(this)h(size)f(is)h(created.)22
+b(The)17 b(T)1071 2133 y(E)1096 2123 y(X)f Fq(\\special)f
+Ft(mec)o(hanism)i(is)g(used)f(to)g(instruct)0 2185 y(the)e(P)o
+(ostScript)g(driv)o(er)g(program)f(to)h(p)q(osition)h(the)f(P)o
+(ostScript)g(dra)o(wing)g(from)f(the)i(in)o(termediate)f(\014le)i(in)f
+(this)0 2247 y(area.)23 b(Next,)17 b(the)f(text)g(generated)h(b)o(y)f
+(T)719 2257 y(E)745 2247 y(Xdra)o(w)g(is)h(p)q(ositioned)h(and)f
+(placed)h(in)f(the)g(b)q(o)o(x.)23 b(Note)17 b(that)e(when)0
+2310 y(the)i(do)q(cumen)o(t)h(is)f(prin)o(ted,)h(the)f(P)o(ostScript)g
+(dra)o(wing)g(is)h(placed)g(on)f(the)g(page)g(b)q(efore)g(the)h(T)1679
+2320 y(E)1704 2310 y(X)f(text;)g(T)1890 2320 y(E)1916
+2310 y(X)0 2372 y(text)e(will)i(app)q(ear)e(on)g(top)g(of)g(graphics.)
+62 2521 y(The)k(rotation)e(of)g(text)h(is)h(carried)f(out)g(with)g
+(in-line)j(P)o(ostScript)d(co)q(de)h(whic)o(h)g(do)q(es)f(not)g(app)q
+(ear)g(in)h(the)0 2583 y(in)o(termediate)c(P)o(ostScript)f(\014le.)20
+b(This)15 b(co)q(de)f(is)h(sen)o(t)f(to)f(the)h(P)o(ostScript)g(driv)o
+(er)g(with)h(a)f Fq(\\special)e Ft(command.)0 2645 y(This)k(P)o
+(ostScript)f(co)q(de)h(is)f(em)o(b)q(edded)i(in)f(the)f(dvi)h(\(device)
+h(indep)q(enden)o(t\))g(\014le)f(that)f(T)1527 2655 y(E)1552
+2645 y(X)g(pro)q(duces.)p eop
+%%Page: 28 30
+28 29 bop 0 -83 a Ft(28)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fj(5.2.4)30 b(The)15 b(in)n(termediate)g(P)n
+(ostScript)h(\014le)62 295 y Ft(The)c(in)o(termediate)g(P)o(ostScript)f
+(\014le)h(consists)f(of)g(a)g(header,)h(a)f(b)q(o)q(dy)h(and)f(a)g
+(trailer)h(follo)o(wing)g(Encapsulated)0 358 y(P)o(ostScript)g(File)h
+(\(EPSF\))e(standards.)19 b(The)12 b(header)h(sets)e(up)i(P)o
+(ostScript)f(de\014nitions)i(and)e(default)h(parameter)0
+420 y(v)m(alues.)29 b(The)18 b(trailer)h(includes)h(the)e
+Fq(BoundingBox)e Ft(information)i(whic)o(h)h(giv)o(es)f(the)g(co)q
+(ordinates)h(in)f(default)0 482 y(P)o(ostScript)d(units)h(\(72)e(p)q
+(er)h(inc)o(h\))h(for)f(the)g(lo)o(w)o(er)f(lefthand)i(corner)f(and)h
+(the)f(upp)q(er)h(righ)o(thand)f(corner)g(of)g(the)0
+544 y(dra)o(wing.)k(The)12 b(b)q(o)q(dy)h(of)f(the)g(in)o(termediate)h
+(P)o(ostScript)f(\014le)h(con)o(tains)g(the)f(P)o(ostScript)g(commands)
+g(generated)0 607 y(b)o(y)j(T)88 616 y(E)114 607 y(Xdra)o(w.)62
+744 y(Man)o(y)d(mo)o(v)o(es)f(in)i(T)394 753 y(E)419
+744 y(Xdra)o(w)f(serv)o(e)g(only)g(to)g(p)q(osition)h(text)f(or)f(to)h
+(reset)g(sa)o(v)o(ed)f(p)q(ositions.)20 b(T)1648 753
+y(E)1674 744 y(Xdra)o(w)11 b(bu\013ers)0 806 y(mo)o(v)o(e)h(commands)g
+(in)i(order)e(to)g(b)q(e)i(able)f(to)f(collapse)i(runs)f(of)f(mo)o(v)o
+(es.)19 b(Only)14 b(the)e(last)h(mo)o(v)o(e)f(of)g(a)h(run)g(of)f(mo)o
+(v)o(es)0 868 y(is)i(actually)g(written)g(to)f(the)g(P)o(ostScript)h
+(\014le.)20 b(Ho)o(w)o(ev)o(er)12 b(the)i(in)o(termediate)g(mo)o(v)o
+(es)f(still)i(a\013ect)e(the)g(size)i(of)e(the)0 930
+y(dra)o(wing.)29 b(The)18 b(expunging)i(of)d(mo)o(v)o(es)h(means)g
+(that)f(the)i(P)o(ostScript)e(\014le)j Fq(BoundingBox)c
+Ft(information)j(ma)o(y)0 993 y(indicate)e(a)e(dra)o(wing)g(size)h
+(larger)f(than)g(the)g(P)o(ostScript)g(commands)g(themselv)o(es)h(w)o
+(ould)g(w)o(arran)o(t.)62 1130 y(Dra)o(wing)22 b(segmen)o(ts)h(in)g(T)
+539 1139 y(E)565 1130 y(Xdra)o(w)f(sho)o(w)g(up)i(in)f(the)g(P)o
+(ostScript)g(\014le)h(as)e(sa)o(v)o(es)g(and)h(restores)f(of)h(the)0
+1192 y(P)o(ostScript)d(graphics)h(state.)33 b(Segmen)o(t)20
+b(starts)f(are)h(bu\013ered)h(and)f(only)h(written)f(out)g(if)g
+(necessary)l(.)35 b(This)0 1254 y(w)o(a)o(y)14 b(\\empt)o(y")h(segmen)o
+(ts)g(do)g(not)g(generate)g(output)g(to)g(the)g(P)o(ostScript)h
+(\014le.)21 b(These)16 b(empt)o(y)f(segmen)o(ts)g(arise)0
+1316 y(if)22 b(a)f(segmen)o(t)f(con)o(tains)i(only)f(mo)o(v)o(es)g(and)
+g(text)g(commands.)38 b(The)21 b(mo)o(v)o(es)f(inside)j(the)f(segmen)o
+(t)e(are)h(not)0 1379 y(needed)16 b(since)h(they)e(are)g(lo)q(cal)h(to)
+f(the)g(segmen)o(t,)f(and)i(the)f(text)g(commands)g(do)g(not)f
+(generate)h(output)g(to)g(the)0 1441 y(P)o(ostScript)g(\014le.)62
+1578 y(If)h(T)133 1588 y(E)158 1578 y(Xdra)o(w)f(is)h(used)f(only)h
+(for)f(mo)o(v)o(es)f(and)h(text,)g(no)g(in)o(termediate)h(P)o
+(ostScript)f(\014le)h(will)h(b)q(e)f(created.)0 1798
+y Fs(5.3)33 b(Ho)n(w)14 b(T)304 1812 y(E)339 1798 y(Xdra)n(w)h(merges)f
+(graphics)i(and)g(text)62 1935 y Ft(T)87 1945 y(E)113
+1935 y(Xdra)o(w)f(creates)g(a)g(b)q(o)o(x)g(whic)o(h)i(is)f(the)f(same)
+h(size)g(as)f(the)h(graphic.)21 b(The)16 b(prin)o(ter)f(driv)o(er)h
+(will)h(place)g(the)0 1998 y(P)o(ostScript)h(graphic)h(in)o(to)g(this)f
+(space.)30 b(An)o(y)19 b(T)852 2007 y(E)877 1998 y(X)g(text)e
+(generated)i(b)o(y)f(the)h(T)1411 2007 y(E)1436 1998
+y(Xdra)o(w)f(commands)g(will)i(b)q(e)0 2060 y(sup)q(erimp)q(osed)d(on)e
+(this)h(graphic.)62 2197 y(The)c(LaT)228 2207 y(E)254
+2197 y(X2e)f(fron)o(t-end)h(for)f(T)627 2207 y(E)653
+2197 y(Xdra)o(w)g(is)h(enabled)h(b)o(y)f(including)i(the)e
+Fq(texdraw)e Ft(pac)o(k)m(age.)19 b(The)12 b Fq(texdraw)0
+2259 y Ft(pac)o(k)m(age)21 b(automatically)g(in)o(v)o(ok)o(es)g(the)f
+(standard)h Fq(graphics)e Ft(pac)o(k)m(age)i(distributed)h(with)g(LaT)
+1720 2269 y(E)1745 2259 y(X2e.)37 b(The)0 2321 y Fq(graphics)18
+b Ft(pac)o(k)m(age)h(has)g(supp)q(ort)g(for)f(a)h(n)o(um)o(b)q(er)g(of)
+g(di\013eren)o(t)g(prin)o(ter)g(driv)o(ers,)h(including)i(a)c(n)o(um)o
+(b)q(er)i(for)0 2384 y(P)o(ostScript)c(prin)o(ters.)22
+b(An)o(y)15 b(options)h(to)g(the)g Fq(texdraw)e Ft(pac)o(k)m(age)i(are)
+g(passed)g(on)g(to)f(the)h Fq(graphics)e Ft(pac)o(k)m(age.)0
+2446 y(Suc)o(h)i(an)f(option)g(can)h(b)q(e)g(used)f(to)g(select)h(a)f
+(driv)o(er)g(other)g(than)g(the)h(default)f(one.)62 2583
+y(Within)20 b(the)f Fq(graphics)e Ft(pac)o(k)m(age,)i(the)g(driv)o(er)g
+(option)f(is)h(used)g(to)f(select)i(de\014nitions)g(for)e(the)h(lo)o
+(w-lev)o(el)0 2645 y(macros)11 b(whic)o(h)i(generate)e(the)h
+Fq(\\special)f Ft(commands)h(needed)h(to)e(request)h(insertion)h(of)f
+(a)f(graphics)i(\014le)g(and)f(to)p eop
+%%Page: 29 31
+29 30 bop 0 -83 a Ft(Chapter)15 b(5:)k(More)c(Details)1417
+b(29)0 158 y(rotate)12 b(text.)225 142 y Fn(1)263 158
+y Ft(T)288 168 y(E)313 158 y(Xdra)o(w)h(uses)h(the)f(user-lev)o(el)j
+(macros)c(de\014ned)j(b)o(y)f(the)f Fq(graphics)g Ft(pac)o(k)m(age)g
+(\(see)h(Section)g(4.1)0 221 y([P)o(ostScript)d(prin)o(ter)g(driv)o
+(ers],)h(page)f(23\).)18 b(When)12 b(not)f(used)h(with)g(the)f(LaT)1302
+230 y(E)1328 221 y(X2e)g(fron)o(t-end,)h(T)1648 230 y(E)1673
+221 y(Xdra)o(w)f(de\014nes)0 283 y(v)o(ersions)k(of)g(these)h(macros)e
+(that)g(are)h(suitable)i(for)d(use)i(with)f(the)h Fq(dvips)e
+Ft(prin)o(ter)i(driv)o(er.)p 0 2589 600 2 v 21 2627 a
+Fn(1)62 2644 y Ft(Not)f(all)h(P)o(ostScript)f(driv)o(ers)h(supp)q(ort)f
+(text)g(rotation.)p eop
+%%Page: 30 32
+30 31 bop 0 -83 a Ft(30)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)p eop
+%%Page: 31 33
+31 32 bop 0 -83 a Ft(App)q(endix)17 b(A:)e(P)o(ostScript)g(Commands)
+1190 b(31)0 158 y Fp(App)r(endix)13 b(A)41 b(P)n(ostScript)15
+b(Commands)62 341 y Ft(This)i(app)q(endix)g(describ)q(es)h(a)d(set)g
+(of)h(macros)f(for)g(accessing)h(some)g(of)f(the)h(P)o(ostScript)g
+(builtin)i(functions.)0 403 y(Eac)o(h)13 b(of)f(these)h(macros)f
+(issues)h(a)g(single)h(P)o(ostScript)e(command.)19 b(The)13
+b(extra)f(services)i(pro)o(vided)f(b)o(y)g(T)1793 413
+y(E)1819 403 y(Xdra)o(w)0 465 y(are)20 b(the)h(in)o(terpretation)f(of)h
+(co)q(ordinates)f(in)i(user)e(units)h(relativ)o(e)h(to)d(the)i(curren)o
+(t)f(dra)o(wing)h(segmen)o(t)f(and)0 528 y(the)c(writing)g(of)f(a)h(p)q
+(ending)h(T)525 537 y(E)551 528 y(Xdra)o(w)e(mo)o(v)o(e)g(to)g(the)h(P)
+o(ostScript)f(\014le.)23 b(This)16 b(last)g(op)q(eration)g(establishes)
+h(the)0 590 y(curren)o(t)f(p)q(oin)o(t)h(in)g(P)o(ostScript.)24
+b(The)16 b(user)h(of)f(these)g(commands)h(should)g(b)q(e)g(familiar)g
+(with)g(the)g(concepts)f(of)0 652 y(path)h(construction)h(and)g
+(\014lling)i(in)e(P)o(ostScript.)27 b(F)l(urther)17 b(details)i(on)e
+(the)h(P)o(ostScript)f(functions)i(used)f(can)0 714 y(found)h(in)h(the)
+e Fo(P)o(ostScript)h(Language)f(Reference)i(Man)o(ual,)g(Second)f
+(Edition)p Ft(,)h(Adob)q(e)g(Systems,)f(Addison-)0 777
+y(W)l(esley)l(,)d(1990.)62 914 y(These)g(macros)e(are)h(distributed)i
+(in)f(\014le)g(`)p Fq(txdps.tex)p Ft('.)62 1051 y(The)i
+Fq(\\PSsetlinecap)e Ft(and)h Fq(\\PSsetlinejoin)f Ft(commands)h(con)o
+(trol)g(the)g(w)o(a)o(y)g(line)i(ends)f(and)f(line)j(joins)0
+1113 y(are)15 b(rendered.)22 b(The)15 b(default)h(v)m(alues)h(set)e(b)o
+(y)g(T)823 1123 y(E)849 1113 y(Xdra)o(w)g(\(round)g(caps)g(and)h(round)
+g(join\))f(are)g(appropriate)h(for)0 1175 y(most)e(dra)o(wings.)20
+b(Changes)15 b(to)g(these)g(parameters)f(apply)i(to)f(the)g(curren)o(t)
+g(and)h(subsequen)o(t)g(paths.)0 1335 y Fq(\\PSsetlinecap)d
+Fo(t)o(yp)q(e)240 1397 y Ft(Set)j(the)h(line)h(cap)f(parameter.)22
+b(The)17 b(v)m(alue)g Fq(0)g Ft(giv)o(es)f(a)g(butt)h(cap;)f
+Fq(1)h Ft(giv)o(es)f(a)g(round)h(cap;)g(and)f Fq(2)240
+1459 y Ft(giv)o(es)f(a)g(pro)s(jecting)g(square)g(cap.)20
+b(The)c(initial)h(v)m(alue)g(is)e(corresp)q(onds)h(to)e(a)h(round)h
+(cap.)0 1544 y Fq(\\PSsetlinejoin)d Fo(t)o(yp)q(e)240
+1607 y Ft(Set)h(the)h(line)h(join)f(parameter.)k(The)14
+b(v)m(alue)i Fq(0)e Ft(giv)o(es)g(a)g(miter)h(join;)g
+Fq(1)f Ft(giv)o(es)g(a)g(round)h(join;)g(and)f Fq(2)240
+1669 y Ft(giv)o(es)h(a)g(b)q(ev)o(el)i(join.)j(The)15
+b(initial)j(v)m(alue)e(corresp)q(onds)g(to)e(a)h(round)h(join.)62
+1817 y(P)o(ostScript)k(paths)f(and)h(\014ll)h(op)q(erations)f(can)f(b)q
+(e)i(con)o(trolled)f(b)o(y)f(a)h(n)o(um)o(b)q(er)g(of)f(functions.)34
+b(By)19 b(design,)0 1880 y(T)25 1889 y(E)51 1880 y(Xdra)o(w)13
+b(alw)o(a)o(ys)g(main)o(tains)h(a)g(de\014ned)h(P)o(ostScript)f(curren)
+o(t)g(p)q(oin)o(t.)20 b(Some)13 b(of)h(the)g(follo)o(wing)h(macros)e
+(cause)0 1942 y(the)h(P)o(ostScript)g(curren)o(t)g(p)q(oin)o(t)h(to)e
+(b)q(ecome)i(unde\014ned.)22 b(The)14 b(P)o(ostScript)g(curren)o(t)g(p)
+q(oin)o(t)h(m)o(ust)e(b)q(e)i(set)f(again)0 2004 y(\(sa)o(y)g(with)i(a)
+f Fq(\\PSmoveto)f Ft(command\))g(b)q(efore)i(in)o(v)o(oking)g(basic)f
+(T)1149 2014 y(E)1175 2004 y(Xdra)o(w)g(commands.)0 2164
+y Fq(\\PSstroke)240 2226 y Ft(Strok)o(e)g(a)g(P)o(ostScript)g(path.)21
+b(The)15 b(curren)o(t)h(path)f(is)h(strok)o(ed)f(with)g(the)h(curren)o
+(t)f(gra)o(y)g(lev)o(el)i(\(set)240 2288 y(with)c Fq(\\setgray)p
+Ft(\))d(and)j(the)f(curren)o(t)g(line)i(pattern)e(\(set)f(with)i
+Fq(\\lpatt)p Ft(\).)18 b(The)12 b(P)o(ostScript)g(curren)o(t)240
+2351 y(p)q(oin)o(t)k(b)q(ecomes)f(unde\014ned.)0 2436
+y Fq(\\PSnewpath)240 2498 y Ft(Establish)h(a)f(new)g(path.)20
+b(The)c(P)o(ostScript)f(curren)o(t)g(p)q(oin)o(t)g(b)q(ecomes)h
+(unde\014ned.)0 2583 y Fq(\\PSclosepath)240 2645 y Ft(Close)f(a)g
+(subpath.)21 b(A)15 b(new)g(subpath)h(is)f(started.)p
+eop
+%%Page: 32 34
+32 33 bop 0 -83 a Ft(32)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fq(\\PSfill)72 b Ft(Fill)14 b(a)d(region)i
+(de\014ned)g(b)o(y)f(a)g(path.)19 b(Eac)o(h)12 b(subpath)g(is)h(closed)
+g(and)f(the)g(enclosed)i(regions)e(pain)o(ted)240 221
+y(with)h(the)f(curren)o(t)h(gra)o(y)e(lev)o(el.)20 b(The)13
+b(P)o(ostScript)f(curren)o(t)h(p)q(oin)o(t)f(b)q(ecomes)i(unde\014ned.)
+20 b(The)13 b(gra)o(y)240 283 y(lev)o(el)k(can)e(b)q(e)h(set)f(with)g
+(the)h(T)767 293 y(E)792 283 y(Xdra)o(w)f(command)g Fq(\\setgray)p
+Ft(.)62 435 y(The)g(follo)o(wing)g(line)h(commands)e(in)o(terpret)g(co)
+q(ordinates)h(relativ)o(e)f(to)g(the)g(curren)o(t)g(T)1557
+445 y(E)1583 435 y(Xdra)o(w)f(scaling)j(and)0 497 y(dra)o(wing)f
+(segmen)o(t.)20 b(The)15 b(sp)q(eci\014ed)i(co)q(ordinate)f(a\013ects)e
+(the)i(dra)o(wing)f(size)h(as)f(determined)h(b)o(y)f(T)1726
+507 y(E)1752 497 y(Xdra)o(w.)0 663 y Fq(\\PSlineto)f(\()p
+Fo(x)k(y)t Fq(\))240 726 y Ft(Add)g(a)g(line)h(segmen)o(t)e(to)g(the)h
+(curren)o(t)g(path.)27 b(This)18 b(command)g(is)g(iden)o(tical)h(to)e
+(the)h(T)1793 735 y(E)1819 726 y(Xdra)o(w)240 788 y(command)e
+Fq(\\lvec)p Ft(.)21 b(The)c(P)o(ostScript)e(curren)o(t)h(p)q(oin)o(t)h
+(m)o(ust)e(b)q(e)i(de\014ned)g(b)q(efore)g(this)f(command)240
+850 y(is)g(issued.)0 940 y Fq(\\PSmoveto)e(\()p Fo(x)k(y)t
+Fq(\))240 1002 y Ft(Mo)o(v)o(e)i(to)h(the)g(co)q(ordinate)g(sp)q
+(eci\014ed)i(b)o(y)e Fq(\()p Fo(x)d(y)t Fq(\))p Ft(.)38
+b(The)21 b(P)o(ostScript)g(curren)o(t)g(p)q(oin)o(t)g(b)q(ecomes)240
+1065 y(de\014ned.)62 1217 y(The)d(follo)o(wing)g(macros)f(pro)o(vide)i
+(access)e(to)g(the)h(general)g(arc)f(commands)h(in)g(P)o(ostScript.)27
+b(The)18 b(co)q(ordi-)0 1279 y(nates)d(are)g(in)o(terpreted)i(relativ)o
+(e)f(to)f(the)g(curren)o(t)h(T)910 1289 y(E)935 1279
+y(Xdra)o(w)f(scaling)i(and)e(dra)o(wing)h(segmen)o(t.)k(The)c(sp)q
+(eci\014ed)0 1341 y(co)q(ordinate)g(a\013ects)e(the)h(dra)o(wing)g
+(size)i(as)d(determined)j(b)o(y)e(T)1083 1351 y(E)1108
+1341 y(Xdra)o(w.)0 1508 y Fq(\\PSarc)f(r:)p Fo(radius)k
+Fq(sd:)p Fo(start-angle)e Fq(ed:)p Fo(end-angle)j Fq(\()p
+Fo(x)f(y)t Fq(\))240 1570 y Ft(Dra)o(w)12 b(a)h(coun)o(terclo)q(c)o
+(kwise)h(arc.)19 b(The)13 b(cen)o(ter)g(of)g(the)g(arc)g(is)h(at)e(the)
+h(giv)o(en)h(p)q(osition.)20 b(The)13 b(radius)240 1632
+y(is)g(sp)q(eci\014ed)i(b)o(y)e Fo(radius)p Ft(.)19 b(The)13
+b(start)f(and)h(end)g(angles)h(\(in)f(degrees\))f(are)h(sp)q(eci\014ed)
+i(b)o(y)d Fo(start-angle)240 1694 y Ft(and)i Fo(end-angle)p
+Ft(.)21 b(If)14 b(the)f(P)o(ostScript)h(curren)o(t)f(p)q(oin)o(t)h(is)h
+(de\014ned,)g(this)f(command)f(also)h(dra)o(ws)f(the)240
+1757 y(line)k(from)e(the)h(curren)o(t)f(p)q(oin)o(t)h(to)f(the)h(b)q
+(eginning)h(of)e(the)h(arc.)k(The)c(line)h(and)f(arc)f(b)q(ecome)i
+(part)240 1819 y(of)e(the)g(curren)o(t)g(path.)20 b(The)15
+b(curren)o(t)g(p)q(oin)o(t)h(b)q(ecomes)g(de\014ned.)0
+1909 y Fq(\\PSarcn)e(r:)p Fo(radius)k Fq(sd:)p Fo(start-angle)e
+Fq(ed:)p Fo(end-angle)j Fq(\()p Fo(x)f(y)t Fq(\))240
+1971 y Ft(Dra)o(w)g(a)g(clo)q(c)o(kwise)i(arc.)31 b(The)19
+b(cen)o(ter)g(of)f(the)h(arc)g(is)g(at)g(the)g(giv)o(en)g(p)q(osition.)
+32 b(The)19 b(radius)g(is)240 2033 y(sp)q(eci\014ed)f(b)o(y)e
+Fo(radius)p Ft(.)23 b(The)17 b(start)d(and)j(end)f(angles)h(\(in)f
+(degrees\))h(are)e(sp)q(eci\014ed)j(b)o(y)e Fo(start-angle)240
+2096 y Ft(and)e Fo(end-angle)p Ft(.)21 b(If)14 b(the)f(P)o(ostScript)h
+(curren)o(t)f(p)q(oin)o(t)h(is)h(de\014ned,)g(this)f(command)f(also)h
+(dra)o(ws)f(the)240 2158 y(line)k(from)e(the)h(curren)o(t)f(p)q(oin)o
+(t)h(to)f(the)h(b)q(eginning)h(of)e(the)h(arc.)k(The)c(line)h(and)f
+(arc)f(b)q(ecome)i(part)240 2220 y(of)e(the)g(curren)o(t)g(path.)20
+b(The)15 b(curren)o(t)g(p)q(oin)o(t)h(b)q(ecomes)g(de\014ned.)62
+2372 y(The)j(macro)e Fq(\\writeps)g Ft(pro)o(vides)h(the)g(general)h
+(facilit)o(y)g(to)e(write)i(arbitrary)e(P)o(ostScript)h(commands)g(to)0
+2435 y(the)13 b(P)o(ostScript)f(\014le.)20 b(This)13
+b(macro)f(is)h(used)g(b)o(y)f(the)h(preceding)h(commands)e(and)h(b)o(y)
+f(the)h(T)1571 2444 y(E)1596 2435 y(Xdra)o(w)f(commands)0
+2497 y(themselv)o(es.)20 b(This)13 b(facilit)o(y)g(has)f(to)g(b)q(e)h
+(used)h(with)e(care)h(since)g(c)o(hanges)g(in)g(p)q(osition)h(or)e
+(scaling)h(resulting)h(from)0 2559 y(the)h(P)o(ostScript)g(commands)g
+(are)g(not)g(kno)o(wn)g(to)f(T)906 2569 y(E)932 2559
+y(Xdra)o(w.)p eop
+%%Page: 33 35
+33 34 bop 0 -83 a Ft(App)q(endix)17 b(A:)e(P)o(ostScript)g(Commands)
+1190 b(33)0 158 y Fq(\\writeps)14 b({<)p Fo(ps-commands)p
+Fq(>})240 221 y Ft(W)l(rite)25 b(P)o(ostScript)f(commands)g(to)f(the)i
+(in)o(termediate)g(P)o(ostScript)f(\014le.)48 b(Before)25
+b(the)f(com-)240 283 y(mands)15 b(are)g(inserted,)h(an)o(y)f(p)q
+(ending)i(T)929 293 y(E)955 283 y(Xdra)o(w)e(mo)o(v)o(e)f(is)i(written)
+f(to)g(the)g(P)o(ostScript)g(\014le.)22 b(The)240 345
+y(P)o(ostScript)15 b(scaling)h(giv)o(es)g(300)e(units/inc)o(h.)p
+eop
+%%Page: 34 36
+34 35 bop 0 -83 a Ft(34)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)p eop
+%%Page: 35 37
+35 36 bop 0 -83 a Ft(App)q(endix)17 b(B:)e(T)293 -73
+y(E)319 -83 y(Xdra)o(w)f(T)l(o)q(olb)q(o)o(x)1280 b(35)0
+158 y Fp(App)r(endix)13 b(B)41 b(T)500 174 y(E)543 158
+y(Xdra)n(w)15 b(T)-7 b(o)r(olb)r(o)n(x)62 329 y Ft(This)14
+b(app)q(endix)g(describ)q(es)h(some)d(of)g(the)h(macros)f(supplied)j
+(with)f(T)1242 339 y(E)1267 329 y(Xdra)o(w)e(whic)o(h)i(can)f(b)q(e)g
+(used)h(to)e(de\014ne)0 392 y(additional)17 b(commands)e(for)g
+(creating)g(dra)o(wings.)21 b(The)15 b(macros)g(describ)q(ed)i(here)f
+(w)o(ork)f(in)h(the)f(user)h(sp)q(eci\014ed)0 454 y(co)q(ordinate)e
+(system.)19 b(Some)14 b(of)f(these)h(to)q(olb)q(o)o(x)g(macros)f(are)g
+(used)h(b)o(y)g(the)g(T)1331 464 y(E)1356 454 y(Xdra)o(w)f(commands)h
+(themselv)o(es,)0 516 y(others)h(are)g(supplied)i(in)f(an)f(auxiliary)i
+(\014le)f(`)p Fq(txdtools.tex)p Ft('.)0 725 y Fs(B.1)33
+b(Co)r(ordinate)15 b(parsing)62 862 y Ft(The)g(co)q(ordinate)g(parsing)
+h(macro)e Fq(\\getpos)f Ft(is)j(useful)g(for)e(creating)h(new)g
+(commands.)k(This)d(macro)e(tak)o(es)0 924 y(care)19
+b(of)f(stripping)i(leading)g(and)f(trailing)h(blanks)g(from)e(co)q
+(ordinates)h(sp)q(eci\014ed)i(b)q(et)o(w)o(een)e(paren)o(theses.)31
+b(In)0 986 y(addition,)21 b(sym)o(b)q(olic)f(co)q(ordinates)g(are)e
+(translated)h(to)g(the)g(corresp)q(onding)h(relativ)o(e)g(co)q
+(ordinate)f(using)h(the)0 1049 y(segmen)o(t)15 b(o\013set)f(and)h
+(scaling)i(in)f(e\013ect.)62 1186 y(The)g(macro)e Fq(\\currentpos)g
+Ft(returns)h(the)g(relativ)o(e)h(co)q(ordinates)f(of)g(the)g(curren)o
+(t)g(p)q(osition.)21 b(The)16 b(returned)0 1248 y(v)m(alues)f(are)f
+(relativ)o(e)h(to)e(the)i(curren)o(t)f(segmen)o(t)g(and)g(the)g(curren)
+o(t)g(scaling.)21 b(The)14 b(macro)g Fq(\\cossin)f Ft(returns)h(the)0
+1310 y(real-v)m(alued)21 b(cosine)e(and)g(sine)h(of)e(the)h(direction)g
+(of)g(the)f(line)j(joining)e(t)o(w)o(o)f(p)q(oin)o(ts.)30
+b(The)19 b(macro)f Fq(\\vectlen)0 1372 y Ft(returns)d(the)g(length)h
+(of)f(a)g(v)o(ector.)k(The)c(results)h(app)q(ear)f(as)g(the)h(v)m(alue)
+g(of)f(user)g(supplied)j(macro)c(names.)0 1526 y Fq(\\getpos)g(\()p
+Fo(x)k(y)t Fq(\)\\)p Fo(mx)s Fq(\\)p Fo(m)o(y)240 1589
+y Ft(Deco)q(de)e(co)q(ordinate)h(v)m(alues.)23 b(The)16
+b(co)q(ordinates)g(sp)q(eci\014ed)i(b)o(y)e Fq(\()p Fo(x)i(y)t
+Fq(\))e Ft(are)f(deco)q(ded.)23 b(Sym)o(b)q(olic)240
+1651 y(co)q(ordinates)18 b(are)g(translated)f(to)g(the)h(corresp)q
+(onding)h(relativ)o(e)f(co)q(ordinate)h(using)f(the)g(curren)o(t)240
+1713 y(segmen)o(t)13 b(o\013set)f(and)h(scaling.)21 b(The)13
+b(resulting)h(c)o(haracter)f(strings)g(represen)o(ting)h(the)f(real-v)m
+(alued)240 1776 y(co)q(ordinates)j(are)e(assigned)i(to)f(the)g(macros)f
+(sp)q(eci\014ed)k(b)o(y)d Fq(\\)p Fo(mx)j Ft(and)d Fq(\\)p
+Fo(m)o(y)t Ft(.)0 1855 y Fq(\\currentpos)f(\\)p Fo(mx)s
+Fq(\\)p Fo(m)o(y)240 1917 y Ft(Return)20 b(the)g(co)q(ordinates)h(of)e
+(the)h(curren)o(t)g(p)q(osition.)34 b(The)21 b(co)q(ordinates)f(are)f
+(relativ)o(e)i(to)e(the)240 1979 y(curren)o(t)h(segmen)o(t)f(o\013set)g
+(and)h(scaling.)34 b(The)20 b(resulting)h(c)o(haracter)e(strings)h
+(represen)o(ting)g(the)240 2042 y(real-v)m(alued)d(co)q(ordinates)f
+(are)f(assigned)g(to)g(the)g(macros)g(sp)q(eci\014ed)i(b)o(y)e
+Fq(\\)p Fo(mx)j Ft(and)e Fq(\\)p Fo(m)o(y)t Ft(.)0 2121
+y Fq(\\cossin)e(\()p Fo(x1)19 b(y1)t Fq(\)\()p Fo(x2)e(y2)t
+Fq(\)\\)p Fo(cosa)p Fq(\\)p Fo(sina)240 2183 y Ft(Return)g(the)f
+(cosine)h(and)f(sine)h(of)f(the)g(direction)h(of)f(a)g(v)o(ector)f
+(joining)i(t)o(w)o(o)e(p)q(oin)o(ts.)23 b(The)16 b(cosine)240
+2246 y(and)d(sine)h(of)f(the)g(angle)h(of)f(the)g(v)o(ector)f(whic)o(h)
+i(go)q(es)f(from)g Fq(\()p Fo(x1)18 b(y1)t Fq(\))12 b
+Ft(to)h Fq(\()p Fo(x2)18 b(y2)t Fq(\))p Ft(.)g(The)c(c)o(haracter)240
+2308 y(strings)f(represen)o(ting)g(these)g(real-v)m(alued)i(quan)o
+(tities)e(are)g(assigned)g(to)f(the)h(macros)f(sp)q(eci\014ed)j(b)o(y)
+240 2370 y Fq(\\)p Fo(cosa)g Ft(and)g Fq(\\)p Fo(sina)p
+Ft(.)0 2449 y Fq(\\vectlen)f(\()p Fo(x1)k(y1)t Fq(\)\()p
+Fo(x2)g(y2)t Fq(\)\\)p Fo(len)240 2512 y Ft(Return)c(the)g(length)g(of)
+f(a)g(v)o(ector)g(joining)i(t)o(w)o(o)d(p)q(oin)o(ts.)20
+b(The)14 b(length)g(of)f(the)h(v)o(ector)e(is)i(relativ)o(e)h(to)240
+2574 y(the)d(curren)o(t)h(scaling.)20 b(The)12 b(c)o(haracter)g(string)
+g(represen)o(ting)h(the)f(real-v)m(alued)j(length)e(is)f(assigned)240
+2636 y(to)j(the)g(macro)f(sp)q(eci\014ed)k(b)o(y)d Fq(\\)p
+Fo(len)p Ft(.)p eop
+%%Page: 36 38
+36 37 bop 0 -83 a Ft(36)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fs(B.2)33 b(Real)15 b(arithmetic)62
+303 y Ft(The)k(T)184 312 y(E)210 303 y(Xdra)o(w)f(to)q(olb)q(o)o(x)h
+(supplies)i(macros)d(to)h(p)q(erform)f(real)i(arithmetic)f(on)g(co)q
+(ordinate)g(v)m(alues.)33 b(The)0 365 y(result)16 b(app)q(ears)f(as)g
+(the)g(v)m(alue)h(of)f(a)g(user)g(supplied)j(macro)c(name.)0
+549 y Fq(\\realadd)g({)p Fo(v)m(alue1)t Fq(})i({)p Fo(v)m(alue2)t
+Fq(})f(\\)p Fo(sum)240 611 y Ft(Add)h(t)o(w)o(o)f(real)h(quan)o
+(tities,)g(assigning)g(the)g(resultan)o(t)f(c)o(haracter)g(string)h
+(represen)o(ting)g(the)g(sum)240 673 y(to)f(the)g(macro)f
+Fq(\\)p Fo(sum)p Ft(.)0 775 y Fq(\\realmult)g({)p Fo(v)m(alue1)t
+Fq(})h({)p Fo(v)m(alue2)t Fq(})h(\\)p Fo(pro)q(d)240
+837 y Ft(Multiply)i(t)o(w)o(o)e(real)g(quan)o(tities,)i(assigning)f
+(the)g(resultan)o(t)f(c)o(haracter)g(string)h(represen)o(ting)g(the)240
+899 y(pro)q(duct)f(to)e(the)h(macro)g Fq(\\)p Fo(pro)q(d)r
+Ft(.)0 1001 y Fq(\\realdiv)f({)p Fo(v)m(alue1)t Fq(})i({)p
+Fo(v)m(alue2)t Fq(})f(\\)p Fo(result)240 1063 y Ft(Divide)22
+b(t)o(w)o(o)d(real)j(quan)o(tities,)g(assigning)f(the)g(resultan)o(t)g
+(c)o(haracter)f(string)h(represen)o(ting)g(the)240 1126
+y(result)16 b(of)e Fo(v)m(alue1)t Ft(/)p Fo(v)m(alue2)21
+b Ft(to)14 b(the)h(macro)g Fq(\\)p Fo(result)q Ft(.)0
+1415 y Fs(B.3)33 b(Arro)n(w)15 b(curv)n(e)62 1560 y Ft(This)h(example)h
+(illustrates)f(the)g(use)g(of)f(the)g(T)868 1569 y(E)894
+1560 y(Xdra)o(w)g(to)q(olb)q(o)o(x)g(routines)h(to)f(do)h(computations)
+f(with)h(the)0 1622 y(co)q(ordinates.)k(The)c(problem)f(will)i(b)q(e)f
+(tac)o(kled)g(in)g(t)o(w)o(o)e(parts.)19 b(First,)14
+b(w)o(e)h(will)i(pro)q(duce)f(a)f(macro)f(to)h(place)h(an)0
+1684 y(arro)o(whead)g(on)g(a)g(Bezier)i(curv)o(e.)24
+b(Then)17 b(giv)o(en)g(this)g(macro,)f(w)o(e)g(will)j(pro)q(duce)e(a)f
+(macro)g(whic)o(h)i(can)e(dra)o(w)g(a)0 1747 y(\\wiggly")f(line)i(from)
+d(the)i(curren)o(t)f(p)q(osition)h(to)f(a)f(giv)o(en)i(co)q(ordinate.)
+675 2189 y @beginspecial 0 @hoffset 3 @voffset @setspecial
+%%BeginDocument: texdraw.p10
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+0 0 mv
+420 30 -120 -30 300 0 cv
+300 0 mv
+bs
+285 -1 mv
+300 0 (W) 48 24 av
+es
+bs
+300 0 mv
+270 420 330 -120 300 300 cv
+300 300 mv
+bs
+301 285 mv
+300 300 (W) 48 24 av
+es
+es
+bs
+300 0 mv
+690 450 210 -150 600 300 cv
+600 300 mv
+bs
+590 289 mv
+600 300 (W) 48 24 av
+es
+es
+bs
+300 0 mv
+720 30 180 -30 600 0 cv
+600 0 mv
+bs
+585 -1 mv
+600 0 (W) 48 24 av
+es
+es
+stroke end showpage
+%%EndDocument
+ @endspecial 975 1869 a(tip)g(at)e Fq(\(1)24 b(1\))54
+b Ft(tip)16 b(at)e Fq(\(2)24 b(1\))1275 2169 y Ft(tip)16
+b(at)e Fq(\(2)24 b(0\))62 2334 y Ft(The)18 b(\014rst)g(macro,)f
+Fq(\\cavec)p Ft(,)h(uses)g(the)g Fq(\\cossin)f Ft(command)h(to)f
+(determine)i(the)f(the)g(cosine)g(and)h(sine)f(of)0 2396
+y(the)e(angle)h(of)f(the)h(line)h(joining)f(the)f(second)h(con)o(trol)f
+(p)q(oin)o(t)h(to)f(the)g(end)h(p)q(oin)o(t)g(of)f(the)g(Bezier)i(curv)
+o(e.)23 b(Recall)0 2458 y(that)15 b(the)h(Bezier)h(curv)o(e)f(is)g
+(tangen)o(t)f(to)g(this)h(line)h(at)e(the)h(end)h(p)q(oin)o(t.)22
+b(After)15 b(dra)o(wing)h(the)f(Bezier)i(curv)o(e,)f(the)0
+2521 y(scaling)f(is)g(set)g(lo)q(cally)h(to)e(absolute)g(units)i(of)e
+(0.05)f(inc)o(hes.)21 b(W)l(e)14 b(go)g(bac)o(k)g(do)o(wn)g(the)h(line)
+h(from)e(the)g(end)h(p)q(oin)o(t)0 2583 y(b)o(y)g(0.05)f(inc)o(hes)j
+(and)e(dra)o(w)g(an)g(arro)o(w)f(v)o(ector)g(to)h(the)g(end)h(p)q(oin)o
+(t)g(from)e(there.)20 b(This)c(arro)o(w)e(v)o(ector)g(is)i(mostly)0
+2645 y(arro)o(whead,)e(with)h(little)i(or)e(no)g(tail.)p
+eop
+%%Page: 37 39
+37 38 bop 0 -83 a Ft(App)q(endix)17 b(B:)e(T)293 -73
+y(E)319 -83 y(Xdra)o(w)f(T)l(o)q(olb)q(o)o(x)1280 b(37)120
+158 y Fq(\\def\\cavec)22 b(\(#1)i(#2\)\(#3)f(#4\)\(#5)g(#6\){)168
+210 y(\\clvec)g(\(#1)g(#2\)\(#3)g(#4\)\(#5)g(#6\))168
+262 y(\\cossin)g(\(#3)g(#4\)\(#5)g(#6\)\\cosa\\sina)168
+314 y(\\rmove)g(\(0)g(0\))168 366 y(\\bsegment)215 418
+y(\\drawdim)g(in)h(\\setsegscale)e(0.05)215 470 y(\\move)i(\({-\\cosa})
+e(-\\sina\))47 b(\\avec)23 b(\(0)h(0\))168 522 y(\\esegment})62
+649 y Ft(Note)19 b(the)g(use)h(of)f(macros)f(as)h(argumen)o(ts)g(to)f
+(a)h Fq(\\move)g Ft(command.)31 b(Min)o(us)20 b(signs)g(are)f(put)g(in)
+h(fron)o(t)e(of)0 712 y(the)d(macros.)k(Ho)o(w)o(ev)o(er,)14
+b(the)h(v)m(alue)h(of)e(the)h(macro)g Fq(\\cosa)f Ft(or)g
+Fq(\\sina)g Ft(could)i(b)q(e)g(negativ)o(e.)k(F)l(ortunately)l(,)14
+b(T)1890 722 y(E)1916 712 y(X)0 774 y(accepts)g(t)o(w)o(o)f(min)o(us)i
+(signs)g(in)g(a)f(ro)o(w)f(and)i(in)o(terprets)f(the)g(result)h(as)f(p)
+q(ositiv)o(e.)20 b(Note)14 b(that)g(the)g Fq(\\rmove)g(\(0)h(0\))0
+836 y Ft(command)h(b)q(efore)g(the)g(b)q(eginning)j(of)c(the)h(segmen)o
+(t)g(ensures)h(that)e(the)h(Bezier)h(curv)o(e)g(is)f(strok)o(ed)g(b)q
+(efore)g(the)0 899 y(arro)o(whead)e(is)i(dra)o(wn.)62
+1037 y(The)h(second)f(macro)g Fq(\\caw)f Ft(builds)j(on)e
+Fq(\\cavec)p Ft(.)22 b(The)17 b(goal)f(is)g(to)g(pro)q(duce)h(a)f
+(wiggly)g(v)o(ector)g(that)f(can)h(b)q(e)0 1099 y(used)g(as)f(a)f(p)q
+(oin)o(ter)i(in)g(a)f(dra)o(wing.)20 b(Consider)c(the)f(follo)o(wing)h
+(symmetrical)g(normalized)g(Bezier)g(curv)o(e.)120 1227
+y Fq(\\centertexdraw{)22 b(\\move)h(\(0)h(0\))f(\\cavec)g(\(1.4)h
+(0.1\)\(-0.4)e(-0.1\)\(1)h(0\))h(})62 1365 y Ft(This)13
+b(curv)o(e)f(has)f(the)h(appropriate)g(wiggle.)20 b(No)o(w)11
+b(w)o(e)g(w)o(an)o(t)g(to)g(b)q(e)i(able)f(to)g(dra)o(w)f(this)h(curv)o
+(e,)g(appropriately)0 1428 y(scaled)i(and)f(rotated.)18
+b(The)13 b(macro)f Fq(\\caw)g Ft(needs)i(to)e(do)h(computations)g(on)f
+(the)h(co)q(ordinates.)20 b(First,)12 b Fq(\\caw)h Ft(uses)0
+1490 y(the)h(macros)f Fq(\\getpos)g Ft(and)h Fq(\\currentpos)e
+Ft(to)h(get)h(the)f(p)q(ositions)i(of)f(the)g(end)g(and)g(start)f(of)g
+(the)h(curv)o(e.)19 b(Next,)0 1552 y(the)e(length)g(of)f(the)h(v)o
+(ector)f(is)h(calculated)h(using)f(the)g(macro)f Fq(\\vectlen)p
+Ft(.)22 b(A)17 b(lo)q(cal)h(macro)e Fq(\\rotatecoord)e
+Ft(is)0 1614 y(used)j(to)f(rotate)f(a)h(co)q(ordinate)h(pair)f(ab)q
+(out)h(the)f(origin,)h(using)g(the)g(cosine)g(and)g(sine)g(of)f(the)g
+(rotation)g(angle.)0 1677 y(The)i(v)o(ector)f(length)h(is)g(used)h(to)e
+(scale)h(the)g(normalized)g(curv)o(e.)28 b(The)18 b(remaining)g(co)q
+(de)h(dra)o(ws)e(the)g(rotated,)0 1739 y(normalized)f(curv)o(e.)120
+1867 y Fq(\\def\\caw)23 b(\(#1)g(#2\){)168 1919 y(\\currentpos)f
+(\\xa\\ya)168 1971 y(\\cossin)h(\({\\xa})g(\\ya\)\(#1)g
+(#2\)\\cosa\\sina)120 2074 y(\045)h(The)f(nominal)g(wiggly)g(curve)g
+(is)h(\(0)f(0\))h(\(1+dx)f(dy\))h(\(-dx)f(-dy\))g(\(1)h(0\))120
+2126 y(\045)g(Find)f(the)g(rotated)g(offset)g(\(dx)h(dy\))f(->)h(\(du)f
+(dv\))168 2178 y(\\rotatecoord)f(\(0.4)h(0.1\)\\cosa\\sina)f(\\du\\dv)
+120 2282 y(\045)i(calculate)e(the)i(length)f(of)g(the)h(vector)168
+2334 y(\\vectlen)e(\({\\xa})i(\\ya\)\(#1)e(#2\)\\len)120
+2438 y(\045)i(draw)f(the)g(curve)h(in)f(normalized)g(units)168
+2489 y(\\bsegment)215 2541 y(\\setsegscale)g({\\len})215
+2593 y(\\realadd)g(\\cosa)g(\\du)h(\\tmpa)47 b(\\realadd)23
+b(\\sina)g(\\dv)g(\\tmpb)215 2645 y(\\cavec)g(\({\\tmpa})g
+(\\tmpb\)\({-\\du})f(-\\dv\)\({\\cosa})g(\\sina\))p eop
+%%Page: 38 40
+38 39 bop 0 -83 a Ft(38)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)168 158 y Fq(\\esegment)168 210 y(\\move)23
+b(\(#1)g(#2\)})120 314 y(\045)h(rotate)f(a)g(coordinate)g(\(x)h(y\))120
+366 y(\045)g(arguments:)e(\(x)i(y\))f(cosa)h(sina)f(x')h(y')120
+418 y(\045)48 b(x')23 b(=)h(cosa)f(*)h(x)g(-)f(sina)h(*)f(y;)48
+b(y')23 b(=)h(sina)g(*)f(x)h(+)g(cosa)f(*)h(y)120 470
+y(\\def\\rotatecoord)e(\(#1)h(#2\)#3#4#5#6{)168 522 y(\\getpos)g(\(#1)g
+(#2\)\\xarg\\yarg)168 573 y(\\realmult)f(\\xarg)i({#3})f(\\tmpa)47
+b(\\realmult)23 b(\\yarg)g({#4})g(\\tmpb)168 625 y(\\realadd)f(\\tmpa)i
+({-\\tmpb})e(#5)168 677 y(\\realmult)g(\\xarg)i({#4})f(\\tmpa)47
+b(\\realmult)23 b(\\yarg)g({#3})g(\\tmpb)168 729 y(\\realadd)f(\\tmpa)i
+(\\tmpb)f(#6})62 866 y Ft(Finally)l(,)17 b(the)e(new)g(macro)g(can)g(b)
+q(e)h(used)g(as)f(follo)o(ws.)120 993 y Fq(\\centertexdraw{)168
+1045 y(\\arrowheadtype)22 b(t:W)168 1096 y(\\move)h(\(0)g(0\))168
+1148 y(\\cavec)g(\(1.4)g(0.1\)\(-0.4)g(-0.1\)\(1)g(0\))168
+1200 y(\\move)g(\(1)g(0\))h(\\caw)f(\(1)h(1\))g(\\htext{tip)e(at)i
+(\\tt)f(\(1)h(1\)})168 1252 y(\\move)f(\(1)g(0\))h(\\caw)f(\(2)h(1\))g
+(\\htext{tip)e(at)i(\\tt)f(\(2)h(1\)})168 1304 y(\\move)f(\(1)g(0\))h
+(\\caw)f(\(2)h(0\))g(\\htext{tip)e(at)i(\\tt)f(\(2)h(0\)})120
+1408 y(})62 1545 y Ft(Note)17 b(that)f(the)h(Bezier)i(curv)o(e)e(in)h
+(the)f(macro)f Fq(\\cavec)g Ft(lies)i(b)q(elo)o(w)g(the)f(arro)o
+(whead.)25 b(The)17 b(example)h(then)0 1607 y(dra)o(ws)c(an)i(arro)o
+(whead)e(of)h(t)o(yp)q(e)g Fq(W)g Ft(to)f(erase)h(the)h(part)e(of)h
+(the)g(line)i(b)q(elo)o(w)f(the)f(arro)o(whead.)p eop
+%%Page: 39 41
+39 40 bop 0 -83 a Ft(App)q(endix)17 b(C:)e(Examples)1445
+b(39)0 158 y Fp(App)r(endix)13 b(C)41 b(Examples)62 345
+y Ft(This)16 b(app)q(endix)h(sho)o(ws)e(examples)h(of)e(the)i(use)f(of)
+g(T)975 355 y(E)1000 345 y(Xdra)o(w.)0 570 y Fs(C.1)32
+b(Blo)r(c)n(k)16 b(diagram)g(of)e(a)h(lattice)h(\014lter)62
+707 y Ft(The)h(blo)q(c)o(k)g(diagram)e(of)h(a)g(lattice)h(\014lter)f
+(uses)h(a)f(library)g(of)g(extended)h(commands)f(built)i(from)d(the)h
+(basic)0 769 y(T)25 779 y(E)51 769 y(Xdra)o(w)e(commands.)163
+1250 y @beginspecial 4 @hoffset 43 @voffset @setspecial
+%%BeginDocument: texdraw.p11
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+bs
+0 0 mv
+90 0 lv
+6 0 fc
+90 120 lv
+90 0 mv
+90 -120 lv
+es
+bs
+90 120 mv
+576 120 (F) 24 12 av
+600 120 mv
+24 cr
+bs
+588 120 mv
+612 120 lv
+600 108 mv
+600 132 lv
+es
+624 120 mv
+720 120 (F) 24 12 av
+90 -120 mv
+210 -120 (F) 24 12 av
+bs
+210 -75 lv
+300 -75 lv
+300 -165 lv
+210 -165 lv
+210 -120 lv
+es
+300 -120 mv
+576 -120 (F) 24 12 av
+600 -120 mv
+24 cr
+bs
+588 -120 mv
+612 -120 lv
+600 -132 mv
+600 -108 lv
+es
+624 -120 mv
+720 -120 (F) 24 12 av
+360 120 mv
+6 0 fc
+583 -103 (F) 24 12 av
+360 -120 mv
+6 0 fc
+583 103 (F) 24 12 av
+120 126 mv
+es
+bs
+900 120 mv
+1386 120 (F) 24 12 av
+1410 120 mv
+24 cr
+bs
+1398 120 mv
+1422 120 lv
+1410 108 mv
+1410 132 lv
+es
+1434 120 mv
+1590 120 (F) 24 12 av
+900 -120 mv
+1020 -120 (F) 24 12 av
+bs
+1020 -75 lv
+1110 -75 lv
+1110 -165 lv
+1020 -165 lv
+1020 -120 lv
+es
+1110 -120 mv
+1386 -120 (F) 24 12 av
+1410 -120 mv
+24 cr
+bs
+1398 -120 mv
+1422 -120 lv
+1410 -132 mv
+1410 -108 lv
+es
+1434 -120 mv
+1530 -120 (F) 24 12 av
+1170 120 mv
+6 0 fc
+1393 -103 (F) 24 12 av
+1170 -120 mv
+6 0 fc
+1393 103 (F) 24 12 av
+930 126 mv
+es
+stroke end showpage
+%%EndDocument
+ @endspecial 74 1082 a Fl(x)p Ft(\()p Fl(n)p Ft(\))729
+926 y Fi(+)769 1003 y Fh(\000)402 1208 y Fl(z)425 1191
+y Fg(\000)p Fn(1)729 1224 y Fi(+)769 1147 y Fh(\000)249
+915 y Fl(f)271 922 y Fn(0)290 915 y Ft(\()p Fl(n)p Ft(\))466
+b Fl(f)841 922 y Fn(1)860 915 y Ft(\()p Fl(n)p Ft(\))250
+1242 y Fl(b)270 1249 y Fn(0)288 1242 y Ft(\()p Fl(n)p
+Ft(\))j Fl(b)840 1249 y Fn(1)858 1242 y Ft(\()p Fl(n)p
+Ft(\))616 1003 y Fl(K)655 1010 y Fn(1)616 1161 y Fl(K)655
+1168 y Fn(1)964 960 y Fr(\001)8 b(\001)g(\001)964 1200
+y(\001)g(\001)g(\001)1539 926 y Fi(+)1579 1003 y Fh(\000)1789
+962 y Fl(e)p Ft(\()p Fl(n)p Ft(\))1212 1208 y Fl(z)1235
+1191 y Fg(\000)p Fn(1)1539 1224 y Fi(+)1579 1147 y Fh(\000)1033
+915 y Fl(f)1055 922 y Fk(P)t Fg(\000)p Fn(1)1125 915
+y Ft(\()p Fl(n)p Ft(\))436 b Fl(f)1646 922 y Fk(P)1674
+915 y Ft(\()p Fl(n)p Ft(\))1034 1242 y Fl(b)1054 1249
+y Fk(P)t Fg(\000)p Fn(1)1124 1242 y Ft(\()p Fl(n)p Ft(\))j
+Fl(b)1646 1249 y Fk(P)1673 1242 y Ft(\()p Fl(n)p Ft(\))1426
+1003 y Fl(K)1465 1010 y Fk(P)1426 1161 y Fl(K)1465 1168
+y Fk(P)62 1437 y Ft(The)16 b(blo)q(c)o(k)g(diagram)f(uses)h(a)f(\\dela)
+o(y")g(blo)q(c)o(k.)22 b(This)16 b(is)g(de\014ned)h(as)e(a)g(segmen)o
+(t)g(whic)o(h)h(lea)o(v)o(es)g(the)f(curren)o(t)0 1499
+y(p)q(osition)21 b(at)e(the)h(end)h(of)e(this)i(blo)q(c)o(k.)34
+b(A)20 b(second)h(macro,)f Fq(\\bdot)p Ft(,)g(dra)o(ws)f(a)g(\\big")h
+(dot)g(whic)o(h)h(is)f(used)h(to)0 1562 y(mark)e(junctions)h(of)f
+(lines.)34 b(The)20 b Fq(\\Ttext)f Ft(command)g(cen)o(ters)g(text)g(ab)
+q(o)o(v)o(e)g(a)g(giv)o(en)h(p)q(oin)o(t.)33 b(The)20
+b(o\013set)f(to)0 1624 y(p)q(osition)d(the)e(text)h(is)g(lo)q(cal)g(to)
+f(a)h(segmen)o(t,)f(resulting)h(in)h(no)e(c)o(hange)h(to)f(the)h
+(curren)o(t)f(p)q(oin)o(t.)21 b(Similar)16 b(macros)0
+1686 y(to)e(p)q(osition)i(text)f(b)q(elo)o(w)g(a)g(p)q(oin)o(t)g(\()p
+Fq(\\Btext)p Ft(\),)e(to)h(the)h(left)h(of)e(a)h(p)q(oin)o(t)g(\()p
+Fq(\\Ltext)p Ft(\))e(and)j(to)e(the)h(righ)o(t)f(of)h(a)f(p)q(oin)o(t)0
+1748 y(\()p Fq(\\Rtext)p Ft(\))g(are)h(used)g(in)h(the)g(\014nal)g(dra)
+o(wing.)120 1875 y Fq(\\def\\delay)22 b({\\bsegment)454
+1927 y(\\setsegscale)g(0.3)454 1979 y(\\lvec)h(\(0)h(+0.5\))f(\\lvec)g
+(\(1)h(+0.5\))f(\\lvec)g(\(1)h(-0.5\))454 2031 y(\\lvec)f(\(0)h(-0.5\))
+f(\\lvec)g(\(0)h(0\))454 2083 y(\\textref)f(h:C)g(v:C)48
+b(\\htext)23 b(\(0.5)g(0\){$z^{-1}$})454 2134 y(\\savepos)g(\(1)g
+(0\)\(*ex)g(*ey\))406 2186 y(\\esegment)406 2238 y(\\move)h(\(*ex)f
+(*ey\)})120 2290 y(\\def\\bdot)g({\\fcir)g(f:0)g(r:0.02)g(})120
+2342 y(\\def\\Ttext)f(#1{\\bsegment)502 2394 y(\\textref)h(h:C)g(v:B)47
+b(\\htext)23 b(\(0)h(+0.06\){#1})454 2446 y(\\esegment})62
+2583 y Ft(Sev)o(eral)19 b(of)f(the)h(blo)q(c)o(k)g(diagram)f(elemen)o
+(ts)i(scale)f(with)g(the)f(size)i(of)e(the)g(summing)h(no)q(des.)31
+b(The)18 b(radius)0 2645 y(of)e(the)h(circles)i(for)d(the)h(summing)g
+(no)q(des)h(is)f(de\014ned)h(as)f(the)g(macro)f Fq(\\cradius)p
+Ft(.)23 b(The)18 b(summing)f(no)q(des)g(will)p eop
+%%Page: 40 42
+40 41 bop 0 -83 a Ft(40)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y(ha)o(v)o(e)15 b(enclosed)j(plus)f(signs,)f
+(appropriately)g(scaled.)23 b(The)16 b(plus)h(sign)f(is)g(dra)o(wn)g(b)
+o(y)g(the)g(macro)f Fq(\\pluss)p Ft(.)21 b(The)0 221
+y(macro)15 b Fq(\\pcir)g Ft(dra)o(ws)g(b)q(oth)h(the)g(circle)h(and)f
+(the)g(plus)g(sign.)22 b(The)16 b(incoming)h(lines)g(to)e(a)h(summing)g
+(no)q(de)g(will)0 283 y(b)q(e)f(lab)q(elled)h(with)f(plus)g(or)e(min)o
+(us)i(signs)f(\(c)o(haracters)f(this)h(time\),)g(placed)h(at)f(the)g
+(appropriate)g(p)q(osition)h(with)0 345 y(resp)q(ect)d(to)e(the)i(cen)o
+(ter)f(of)g(the)g(summing)h(no)q(de.)19 b(These)12 b(p)q(ositions)g
+(are)f(giv)o(en)h(in)g(terms)e(of)h(compass)g(directions.)0
+407 y(The)k(macro)g Fq(\\putwnw)f Ft(places)i(text)f(w)o(est)f(b)o(y)i
+(north-w)o(est)e(relativ)o(e)i(to)e(the)i(cen)o(ter)f(of)g(the)g
+(summing)h(no)q(de.)120 539 y Fq(\\def\\cradius)22 b({0.08})120
+591 y(\\def\\pluss)g({\\bsegment)478 643 y(\\setsegscale)g({\\cradius})
+478 694 y(\\move)h(\(-0.5)g(0\))h(\\lvec)f(\(+0.5)g(0\))478
+746 y(\\move)g(\(0)h(-0.5\))f(\\lvec)g(\(0)h(+0.5\))430
+798 y(\\esegment})120 850 y(\\def\\pcir)f({\\lcir)g(r:{\\cradius})f
+(\\pluss})120 902 y(\\def\\puttext)g(\(#1)i(#2\)#3{\\bsegment)717
+954 y(\\setsegscale)e({\\cradius})717 1006 y(\\textref)g(h:C)i(v:C)f
+(\\htext)g(\(#1)h(#2\){#3})669 1058 y(\\esegment})120
+1110 y(\\def\\putwnw)e(#1{\\puttext)h(\(-1.7)g(+1.2\){#1}})62
+1251 y Ft(The)17 b(blo)q(c)o(k)g(diagram)f(has)h(v)o(ectors)e(arriving)
+j(and)e(departing)h(from)f(the)g(summing)h(no)q(des)h(\(circles\).)24
+b(One)0 1314 y(could)c(calculate)g(the)f(p)q(oin)o(ts)g(of)f(in)o
+(tersection)i(of)e(the)h(lines)h(with)g(the)e(circles,)j(and)e(then)g
+(en)o(ter)g(the)g(v)m(alues)0 1376 y(in)o(to)e(the)g(T)199
+1386 y(E)225 1376 y(Xdra)o(w)g(co)q(de.)26 b(Ho)o(w)o(ev)o(er,)16
+b(in)i(this)g(example,)g(w)o(e)f(implemen)o(t)i(an)e(automated)f(pro)q
+(cedure.)27 b(Tw)o(o)0 1438 y(macros)12 b(are)g(needed,)i(an)f(arro)o
+(w)e(v)o(ector)h(to)f(a)i(circle)h(\()p Fq(\\avectoc)p
+Ft(\))d(and)h(an)h(arro)o(w)e(v)o(ector)h(lea)o(ving)h(from)f(a)g
+(circle)0 1500 y(\()p Fq(\\avecfrc)p Ft(\).)17 b(The)d(macros)f(will)i
+(calculate)f(the)g(p)q(oin)o(t)g(of)f(in)o(tersection)h(with)g(the)f
+(circle)i(and)f(start)e(or)h(end)h(the)0 1563 y(v)o(ector)g(at)h(the)g
+(in)o(tersection)h(p)q(oin)o(t.)62 1704 y(The)c(arro)o(w)f(macros)g
+(use)h(scaling)g(and)g(relativ)o(e)h(p)q(ositioning)g(inside)h(of)d(a)g
+(dra)o(wing)h(segmen)o(t.)18 b(In)13 b(the)f(case)f(of)0
+1767 y(the)i(macro)g Fq(\\avectoc)p Ft(,)f(a)h(mo)o(v)o(e)g(is)h(made)f
+(to)g(the)g(\014nal)i(p)q(oin)o(t)f(\(cen)o(ter)f(of)g(the)g(circle\),)
+i(then)e(within)i(a)e(dra)o(wing)0 1829 y(segmen)o(t,)i(a)g(scaled)i
+(mo)o(v)o(e)e(is)h(made)g(bac)o(k)f(to)o(w)o(ards)f(the)i(initial)i(p)q
+(oin)o(t)e(to)f(determine)i(the)f(in)o(tersection)g(p)q(oin)o(t)0
+1891 y(with)g(the)f(circle.)120 2022 y Fq(\\def\\avectoc)22
+b(\(#1)i(#2\){\\currentpos)d(\\xa\\ya)621 2074 y(\\cossin)i(\({\\xa})g
+(\\ya\)\(#1)g(#2\)\\cosa\\sina)621 2126 y(\\savepos)g(\(#1)g(#2\)\(*tx)
+g(*ty\))621 2178 y(\\bsegment)669 2230 y(\\move)g(\(*tx)g(*ty\))669
+2282 y(\\setsegscale)f({\\cradius})669 2334 y(\\rmove)h(\({-\\cosa})g
+(-\\sina\))669 2386 y(\\savecurrpos)f(\(*ex)h(*ey\))621
+2438 y(\\esegment)621 2489 y(\\avec)g(\(*ex)h(*ey\))621
+2541 y(\\move)f(\(#1)h(#2\)})120 2593 y(\\def\\avecfrc)e(\(#1)i
+(#2\){\\currentpos)d(\\xa\\ya)621 2645 y(\\cossin)i(\({\\xa})g
+(\\ya\)\(#1)g(#2\)\\cosa\\sina)p eop
+%%Page: 41 43
+41 42 bop 0 -83 a Ft(App)q(endix)17 b(C:)e(Examples)1445
+b(41)621 158 y Fq(\\bsegment)669 210 y(\\setsegscale)22
+b({\\cradius})669 262 y(\\move)h(\({\\cosa})g(\\sina\))669
+314 y(\\savecurrpos)f(\(*ex)h(*ey\))621 366 y(\\esegment)621
+418 y(\\move)g(\(*ex)h(*ey\))621 470 y(\\avec)f(\(#1)h(#2\)})62
+618 y Ft(Ha)o(ving)12 b(de\014ned)h(these)f(macros,)f(w)o(e)h(are)f
+(ready)h(to)f(dra)o(w)g(the)h(blo)q(c)o(k)g(diagram.)19
+b(The)12 b(\014rst)f(and)h(last)f(sections)0 680 y(of)h(the)h(lattice)g
+(\014lter)h(are)e(v)o(ery)g(similar,)i(di\013ering)g(mainly)g(in)f(the)
+g(text)f(lab)q(els.)21 b(With)13 b(more)f(e\013ort,)g(co)q(de)h(could)0
+743 y(b)q(e)j(shared)f(b)q(et)o(w)o(een)h(the)f(commands)g(used)h(to)e
+(dra)o(w)h(these)g(blo)q(c)o(ks.)120 881 y Fq(\\centertexdraw{)120
+933 y(\\drawdim)23 b(in)120 985 y(\\arrowheadtype)f(t:F)47
+b(\\arrowheadsize)22 b(l:0.08)h(w:0.04)120 1037 y(\\def\\pl)g
+({$\\scriptscriptstyle)e(+$})i(\\def\\mn)g({$\\scriptscriptstyle)f(-$})
+120 1140 y(\\move)h(\(0)h(+0.63\))f(\\move)g(\(0)h(-0.60\))f(\\move)g
+(\(0)g(0\))h(\045)g(compensate)e(for)i(the)f(text)g(size)120
+1244 y(\045)h(Input)f(to)g(the)h(first)f(stage)120 1296
+y(\\bsegment)168 1348 y(\\Ltext{$x\(n\)$})168 1400 y(\\lvec)g(\(0.3)g
+(0\))h(\\bdot)f(\\lvec)g(\(0.3)g(+0.4\))h(\\move)f(\(0.3)g(0\))h
+(\\lvec)f(\(0.3)g(-0.4\))168 1452 y(\\savepos)f(\(0.3)i(0\)\(*ex)f
+(*ey\))120 1504 y(\\esegment)120 1555 y(\\move)g(\(*ex)g(*ey\))120
+1659 y(\045)h(first)f(lattice)g(stage)120 1711 y(\\bsegment)168
+1763 y(\\move)g(\(0)g(+0.4\))48 b(\\avectoc)22 b(\(1.7)i(+0.4\))168
+1815 y(\\pcir)f(\\putwnw{\\pl})f(\\puts{\\mn})168 1867
+y(\\avecfrc)g(\(2.1)i(+0.4\))168 1919 y(\\move)f(\(0)g(-0.4\))48
+b(\\avec)23 b(\(0.4)g(-0.4\))g(\\delay)g(\\avectoc)g(\(1.7)g(-0.4\))168
+1971 y(\\pcir)g(\\putwsw{\\pl})f(\\putn{\\mn})168 2022
+y(\\avecfrc)g(\(2.1)i(-0.4\))168 2074 y(\\move)f(\(0.9)g(+0.4\))47
+b(\\bdot)g(\\avectoc)23 b(\(1.7)g(-0.4\))168 2126 y(\\move)g(\(0.9)g
+(-0.4\))47 b(\\bdot)g(\\avectoc)23 b(\(1.7)g(+0.4\))168
+2178 y(\\move)g(\(0.1)g(+0.42\))g(\\Ttext)g({$f_0\(n\)$})168
+2230 y(\\move)g(\(2.0)g(+0.42\))g(\\Ttext)g({$f_1\(n\)$})168
+2282 y(\\move)g(\(0.1)g(-0.4\))47 b(\\Btext)23 b({$b_0\(n\)$})168
+2334 y(\\move)g(\(2.0)g(-0.4\))47 b(\\Btext)23 b({$b_1\(n\)$})168
+2386 y(\\textref)f(h:L)i(v:B)47 b(\\htext)23 b(\(1.15)g(+0.2\){$K_1$})
+168 2438 y(\\textref)f(h:L)i(v:T)47 b(\\htext)23 b(\(1.15)g
+(-0.2\){$K_1$})168 2489 y(\\savepos)f(\(2.1)i(0\)\(*ex)f(*ey\))120
+2541 y(\\esegment)120 2593 y(\\move)g(\(*ex)g(*ey\))p
+eop
+%%Page: 42 44
+42 43 bop 0 -83 a Ft(42)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)120 158 y Fq(\045)24 b(center)f(section)120
+210 y(\\bsegment)168 262 y(\\textref)f(h:C)i(v:C)f(\\htext)g(\(0.3)h
+(+0.4\){$\\cdots$})168 314 y(\\htext)f(\(0.3)g(-0.4\){$\\cdots$})168
+366 y(\\savepos)f(\(0.6)i(0\)\(*ex)f(*ey\))120 418 y(\\esegment)120
+470 y(\\move)g(\(*ex)g(*ey\))120 573 y(\045)h(last)f(lattice)g(stage)
+120 625 y(\\bsegment)168 677 y(\\move)g(\(0)g(+0.4\))48
+b(\\avectoc)22 b(\(1.7)i(+0.4\))168 729 y(\\pcir)f(\\putwnw{\\pl})f
+(\\puts{\\mn})168 781 y(\\avecfrc)g(\(2.3)i(+0.4\))f(\\Rtext{$e\(n\)$})
+168 833 y(\\move)g(\(0)g(-0.4\))48 b(\\avec)23 b(\(0.4)g(-0.4\))g
+(\\delay)g(\\avectoc)g(\(1.7)g(-0.4\))168 885 y(\\pcir)g
+(\\putwsw{\\pl})f(\\putn{\\mn})168 937 y(\\avecfrc)g(\(2.1)i(-0.4\))168
+989 y(\\move)f(\(0.9)g(+0.4\))47 b(\\bdot)g(\\avectoc)23
+b(\(1.7)g(-0.4\))168 1040 y(\\move)g(\(0.9)g(-0.4\))47
+b(\\bdot)g(\\avectoc)23 b(\(1.7)g(+0.4\))168 1092 y(\\move)g(\(0.1)g
+(+0.42\))g(\\Ttext)g({$f_{P-1}\(n\)$})168 1144 y(\\move)g(\(2.0)g
+(+0.42\))g(\\Ttext)g({$f_P\(n\)$})168 1196 y(\\move)g(\(0.1)g(-0.4\))47
+b(\\Btext)23 b({$b_{P-1}\(n\)$})168 1248 y(\\move)g(\(2.0)g(-0.4\))47
+b(\\Btext)23 b({$b_P\(n\)$})168 1300 y(\\textref)f(h:L)i(v:B)47
+b(\\htext)23 b(\(1.15)g(+0.2\){$K_P$})168 1352 y(\\textref)f(h:L)i(v:T)
+47 b(\\htext)23 b(\(1.15)g(-0.2\){$K_P$})120 1404 y(\\esegment)120
+1456 y(})62 1638 y Ft(The)c(macros)g(used)g(in)h(this)f(example)h(are)f
+(similar)h(to)e(the)h(blo)q(c)o(k)h(diagram)f(macros)f(de\014ned)i(in)g
+(the)f(\014le)0 1701 y(`)p Fq(blockdiagram.tex)p Ft('.)0
+2338 y Fs(C.2)32 b(Filter)18 b(resp)r(onse)c(graph)62
+2521 y Ft(This)k(example)g(sho)o(ws)f(the)h(resp)q(onse)f(of)g(a)g
+(canonical)i(\014lter.)27 b(T)1201 2530 y(E)1227 2521
+y(Xdra)o(w)16 b(is)i(not)f(w)o(ell)h(suited)h(for)d(general)0
+2583 y(purp)q(ose)k(graphing)g(|)g(it)f(has)h(no)f(co)q(ordinate)h
+(translation)f(facilit)o(y)i(nor)e(do)q(es)g(it)h(ha)o(v)o(e)f
+(separate)g Fo(x)j Ft(and)e Fo(y)0 2645 y Ft(scaling.)h(Nonetheless,)16
+b(for)e(certain)i(simple)h(graphs,)d(T)976 2655 y(E)1002
+2645 y(Xdra)o(w)g(is)i(adequate.)p eop
+%%Page: 43 45
+43 44 bop 0 -83 a Ft(App)q(endix)17 b(C:)e(Examples)1445
+b(43)615 492 y @beginspecial 0 @hoffset 23 @voffset @setspecial
+%%BeginDocument: texdraw.p12
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+0 0 mv
+0 420 (F) 24 12 av
+0 0 mv
+660 0 (F) 24 12 av
+0 0 mv
+bs
+0 15 lv
+es
+bs
+240 0 mv
+240 15 lv
+es
+bs
+360 0 mv
+360 15 lv
+es
+bs
+480 0 mv
+480 15 lv
+es
+7 sl
+0 300 mv
+120 300 lv
+132 299 lv
+144 296 lv
+156 292 lv
+168 285 lv
+180 277 lv
+192 267 lv
+204 256 lv
+216 243 lv
+228 228 lv
+240 212 lv
+252 195 lv
+264 176 lv
+276 157 lv
+288 136 lv
+300 115 lv
+312 93 lv
+324 70 lv
+336 47 lv
+348 23 lv
+360 0 lv
+570 0 lv
+stroke end showpage
+%%EndDocument
+ @endspecial 1299 406 a Fl(!)603 440 y Ft(0)841 430 y
+Fl(\031)p 822 451 65 2 v 822 492 a Ft(2)p Fl(N)952 430
+y(!)980 437 y Fk(s)1081 430 y Fl(\031)p 1074 451 42 2
+v 1074 492 a(N)62 681 y Ft(In)19 b(this)g(example,)h(macro)d
+Fq(\\ticklab)h Ft(places)h(a)f(lab)q(elled)j(axis)e(tic)o(k)f(at)g(a)g
+(giv)o(en)h(p)q(osition.)30 b(The)19 b(data)e(is)0 743
+y(sp)q(eci\014ed)k(in)f(a)e(straigh)o(tforw)o(ard)f(manner,)j(ha)o
+(ving)f(b)q(een)h(scaled)g(b)q(eforehand)f(to)g(giv)o(e)g(the)g
+(desired)h(asp)q(ect)0 806 y(ratio)15 b(for)f(the)i(graph.)120
+933 y Fq(\\centertexdraw{)120 985 y(\\arrowheadtype)22
+b(t:F)47 b(\\arrowheadsize)22 b(l:0.08)h(w:0.04)120 1037
+y(\\def\\ds)g({\\displaystyle})120 1088 y(\\def\\ticklab)f(\(#1)i
+(#2\)#3{\\move\(#1)e(#2\))669 1140 y(\\bsegment)717 1192
+y(\\lvec)h(\(0)g(0.05\))717 1244 y(\\textref)f(h:C)i(v:T)f(\\htext)g
+(\(0)h(-0.05\){#3})669 1296 y(\\esegment})120 1348 y(\\def\\Rtext)e
+(#1{\\bsegment)502 1400 y(\\textref)h(h:L)g(v:C)g(\\htext)h(\(+0.08)f
+(0\){#1})454 1452 y(\\esegment})120 1555 y(\\move)g(\(2.4)g(-0.3\))95
+b(\045)24 b(move)f(to)h(set)f(the)h(size)120 1659 y(\\move)f(\(0)h(0\))
+120 1711 y(\045)g(Axes)120 1763 y(\\avec)f(\(0)h(+1.4\))120
+1815 y(\\move)f(\(0)h(0\))f(\\avec)h(\(2.2)f(0\))g(\\Rtext{$\\omega$})
+120 1867 y(\\ticklab)g(\(0)g(0\))72 b({0})120 1919 y(\\ticklab)23
+b(\(0.8)g(0\))h({$\\ds)f({\\pi)g(\\over)g(2N})h($})120
+1971 y(\\ticklab)f(\(1.2)g(0\))h({$\\omega_s$})120 2022
+y(\\ticklab)f(\(1.6)g(0\))h({$\\ds)f({\\pi)g(\\over)g(N})h($})120
+2126 y(\\linewd)f(0.025)120 2178 y(\\move)g(\(0)h(1\))120
+2230 y(\\lvec)f(\(0.4)g(1\))120 2282 y(\\lvec)g(\(0.44)g(0.998\))120
+2334 y(\\lvec)g(\(0.48)g(0.988\))120 2386 y(\\lvec)g(\(0.52)g(0.973\))
+120 2438 y(\\lvec)g(\(0.56)g(0.951\))144 2489 y(...)120
+2541 y(\\lvec)g(\(1.08)g(0.233\))120 2593 y(\\lvec)g(\(1.12)g(0.156\))
+120 2645 y(\\lvec)g(\(1.16)g(0.078\))p eop
+%%Page: 44 46
+44 45 bop 0 -83 a Ft(44)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)120 158 y Fq(\\lvec)23 b(\(1.20)g(0\))120
+210 y(\\lvec)g(\(1.9)g(0\))120 262 y(})0 479 y Fs(C.3)32
+b(Geometric)16 b(construction)62 616 y Ft(This)j(example)h(sho)o(ws)d
+(a)i(geometric)f(construction)h(whic)o(h)g(places)g(an)g(ellipse)i
+(tangen)o(t)c(to)h(an)g(enclosing)0 678 y(circle.)34
+b(The)20 b(size)h(of)e(the)g(ellipse)j(is)e(determined)h(from)e
+(geometric)g(considerations.)34 b(Macros)18 b(are)i(used)g(to)0
+740 y(mo)q(dularize)i(the)e(co)q(de.)36 b(The)20 b(example)h(alters)g
+(the)f(unit)h(scale)g(factor.)34 b(This)21 b(allo)o(ws)f(the)g(dra)o
+(wing)h(to)e(b)q(e)0 803 y(carried)d(out)f(in)h(units)f(normalized)i
+(to)e(the)g(radius)h(of)e(the)i(circle.)504 1792 y @beginspecial
+113 @hoffset 113 @voffset @setspecial
+%%BeginDocument: texdraw.p13
+50 dict begin
+/mv {stroke moveto} def
+/lv {lineto} def
+/st {currentpoint stroke moveto} def
+/sl {st setlinewidth} def
+/sd {st 0 setdash} def
+/sg {st setgray} def
+/bs {gsave} def /es {stroke grestore} def
+/fl {gsave setgray fill grestore
+ currentpoint newpath moveto} def
+/fp {gsave setgray fill grestore st} def
+/cv {curveto} def
+/cr {gsave currentpoint newpath 3 -1 roll 0 360 arc
+ stroke grestore} def
+/fc {gsave setgray currentpoint newpath
+ 3 -1 roll 0 360 arc fill grestore} def
+/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def
+/el {gsave /svm matrix currentmatrix def
+ currentpoint translate scale newpath 0 0 1 0 360 arc
+ svm setmatrix stroke grestore} def
+/fe {gsave setgray currentpoint translate scale newpath
+ 0 0 1 0 360 arc fill grestore} def
+/av {/hhwid exch 2 div def /hlen exch def
+ /ah exch def /tipy exch def /tipx exch def
+ currentpoint /taily exch def /tailx exch def
+ /dx tipx tailx sub def /dy tipy taily sub def
+ /alen dx dx mul dy dy mul add sqrt def
+ /blen alen hlen sub def
+ gsave tailx taily translate dy dx atan rotate
+ (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse
+ stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto
+ (T) ah eq {closepath} if
+ (W) ah eq {gsave 1 setgray fill grestore closepath} if
+ (F) ah eq {fill} {stroke} ifelse
+ grestore tipx tipy moveto} def
+0.24 0.24 scale
+1 setlinecap 1 setlinejoin
+3 setlinewidth [] 0 setdash
+0 0 moveto
+3 sl
+450 cr
+-472 0 mv
+472 0 lv
+0 -472 mv
+0 472 lv
+0 0 mv
+318 318 lv
+6 0 fc
+318 -318 mv
+6 0 fc
+225 0 mv
+bs
+196 362 el
+6 0 fc
+225 67 mv
+bs
+bs
+225 44 mv
+225 90 lv
+es
+421 67 (V) 24 12 av
+bs
+421 44 mv
+421 90 lv
+es
+225 67 (V) 24 12 av
+323 67 mv
+es
+bs
+bs
+-113 0 mv
+-67 0 lv
+es
+-90 0 mv
+-90 362 (V) 24 12 av
+bs
+-113 362 mv
+-67 362 lv
+es
+-90 0 (V) 24 12 av
+-90 181 mv
+es
+es
+stroke end showpage
+%%EndDocument
+ @endspecial 1303 993 a(X)932 1360 y(O)1179 1370 y Fl(\014)1205
+1377 y Fn(2)1225 1224 y Fr(j)p Fl(\014)1264 1231 y Fn(1)1282
+1224 y Ft(+)p Fl(\014)1343 1231 y Fn(3)1361 1224 y Fr(j)719
+1150 y(j)p Fl(\014)758 1157 y Fn(1)776 1150 y Fr(\000)p
+Fl(\014)837 1157 y Fn(3)856 1150 y Fr(j)120 1919 y Fq(\\centertexdraw{)
+120 1971 y(\\arrowheadtype)22 b(t:V)h(\\arrowheadsize)f(l:0.08)h
+(w:0.04)120 2022 y(\\linewd)g(0.01)120 2074 y(\\setunitscale)f(1.5)286
+b(\045)24 b(circle)f(will)g(have)g(radius)g(1.5)h(inches)120
+2178 y(\\def\\Btext)e(#1{\\bsegment)502 2230 y(\\textref)h(h:C)g(v:T)g
+(\\htext)h(\(0)f(-0.04\){#1})454 2282 y(\\esegment})120
+2334 y(\\def\\Ttext)f(#1{\\bsegment)502 2386 y(\\textref)h(h:C)g(v:B)g
+(\\htext)h(\(0)f(+0.04\){#1})454 2438 y(\\esegment})120
+2489 y(\\def\\Ltext)f(#1{\\bsegment)502 2541 y(\\textref)h(h:R)g(v:C)g
+(\\htext)h(\(-0.04)f(0\){#1})454 2593 y(\\esegment})120
+2645 y(\\def\\bdot)g({\\fcir)g(f:0)g(r:0.0133)g(})p eop
+%%Page: 45 47
+45 46 bop 0 -83 a Ft(App)q(endix)17 b(C:)e(Examples)1445
+b(45)120 158 y Fq(\\def\\vtick)22 b({\\bsegment)454 210
+y(\\move)h(\(0)h(-0.05\))f(\\lvec)g(\(0)h(+0.05\))406
+262 y(\\esegment})120 314 y(\\def\\htick)e({\\bsegment)454
+366 y(\\move)h(\(-0.05)g(0\))h(\\lvec)f(\(+0.05)g(0\))406
+418 y(\\esegment})120 470 y(\\def\\Hlen)g(#1#2{\\bsegment)526
+522 y(\\vtick)g(\\avec)g(\({#1})g(0\))h(\\vtick)f(\\avec)g(\(0)g(0\))
+526 573 y(\\relsegscale)f(0.5)526 625 y(\\move)h(\({#1})g(0\))h
+(\\Ttext)f({#2})478 677 y(\\esegment})120 729 y(\\def\\Vlen)g
+(#1#2{\\bsegment)526 781 y(\\htick)g(\\avec)g(\(0)g({#1}\))h(\\htick)f
+(\\avec)g(\(0)g(0\))526 833 y(\\relsegscale)f(0.5)526
+885 y(\\move)h(\(0)g({#1}\))h(\\Ltext)f({#2})478 937
+y(\\esegment})120 1040 y(\\lcir)g(r:1)596 b(\045)24 b(circle)120
+1092 y(\\move)f(\(-1.05)g(0\))h(\\lvec)f(\()h(1.05)f(0\))71
+b(\045)24 b(axes)120 1144 y(\\move)f(\(0)h(-1.05\))f(\\lvec)g(\(0)47
+b(1.05\))120 1248 y(\\move)23 b(\(0)h(0\))f(\\lvec)h(\(0.707)f(0.707\))
+g(\\bdot)120 1300 y(\\rmove)g(\(0.02)g(0.02\))g(\\textref)g(h:L)h(v:B)f
+(\\htext)g({X})120 1352 y(\\move)g(\(0.707)g(-0.707\))g(\\bdot)120
+1404 y(\\textref)g(h:R)g(v:T)h(\\htext\(-0.02)e(-0.02\){O})120
+1507 y(\\move)h(\(0.5)g(0\))501 b(\045)24 b(center)f(of)h(ellipse)120
+1559 y(\\bsegment)168 1611 y(\\lellip)f(rx:0.435)f(ry:0.804)168
+1663 y(\\bdot)h(\\Btext)g({$\\beta_2$})168 1715 y(\\move)g(\(0)g
+(0.15\))h(\\Hlen)f({0.435}{$|\\beta_1{+}\\beta)o(_3|$})168
+1767 y(\\move)g(\(-0.7)g(0\))h(\\Vlen)f({0.804}{$|\\beta_1{-}\\beta)o
+(_3|$})120 1819 y(\\esegment)120 1871 y(})p eop
+%%Page: 46 48
+46 47 bop 0 -83 a Ft(46)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)p eop
+%%Page: 47 49
+47 48 bop 0 -83 a Ft(App)q(endix)17 b(D:)e(Alphab)q(etic)i(listing)g
+(of)e(commands)1003 b(47)0 158 y Fp(App)r(endix)13 b(D)41
+b(Alphab)r(etic)14 b(listing)f(of)j(commands)0 401 y
+Fq(\\arrowheadsize)d(l:)p Fo(length)j Fq(w:)p Fo(width)240
+463 y Ft(Set)j(the)h(arro)o(whead)e(size)i(to)f(b)q(e)h
+Fo(length)g Ft(units)g(long)g(and)f Fo(width)h Ft(units)g(wide.)33
+b(The)20 b(width)f(is)240 525 y(measured)d(across)e(the)i(\\base")f(of)
+g(the)h(arro)o(whead.)j(The)d(initial)i(arro)o(whead)c(size)j(has)e(a)g
+Fo(length)240 587 y Ft(of)g(0.16)f(inc)o(hes)i(and)f(a)g
+Fo(width)h Ft(of)f(0.08)f(inc)o(hes.)0 689 y Fq(\\arrowheadtype)f(t:)p
+Fo(t)o(yp)q(e)240 751 y Ft(Set)k(the)h(arro)o(whead)e(t)o(yp)q(e)h(to)g
+Fo(t)o(yp)q(e)p Ft(,)g(where)h Fo(t)o(yp)q(e)i Ft(is)d(one)h(of)f
+Fq(F)p Ft(,)g Fq(T)p Ft(,)g Fq(W)p Ft(,)g Fq(V)p Ft(,)g(or)g
+Fq(H)p Ft(.)26 b(There)17 b(are)g(t)o(w)o(o)240 814 y(kinds)i(of)e
+(arro)o(wheads.)27 b(The)18 b(\014rst)f(kind)i(is)f(a)f(triangle.)29
+b(There)18 b(are)f(3)g(v)m(arian)o(ts:)25 b(t)o(yp)q(e)18
+b Fq(T)g Ft(is)g(an)240 876 y(empt)o(y)e(triangle,)h(t)o(yp)q(e)g
+Fq(F)f Ft(is)h(a)f(\014lled)j(triangle)e(\(using)g(the)g(curren)o(t)f
+(gra)o(y)f(lev)o(el)j(for)e(lines\),)i(t)o(yp)q(e)240
+938 y Fq(W)e Ft(is)g(a)g(triangle)h(\014lled)h(with)e(white.)23
+b(The)17 b(second)f(kind)h(of)f(arro)o(whead)f(is)i(an)f(op)q(en)g
+(ended)i(V)l(ee.)240 1000 y(There)c(are)f(2)h(v)m(arian)o(ts:)19
+b(t)o(yp)q(e)13 b Fq(V)h Ft(has)f(the)h(stem)f(con)o(tin)o(ue)i(to)e
+(the)g(tip,)i(t)o(yp)q(e)e Fq(H)h Ft(has)f(the)h(stem)f(stop)240
+1063 y(at)i(the)g(base)g(of)g(the)g(arro)o(whead.)k(The)c(initial)j
+(arro)o(whead)c(t)o(yp)q(e)h(is)h Fq(T)p Ft(.)0 1164
+y Fq(\\avec)e(\()p Fo(x)19 b(y)t Fq(\))240 1226 y Ft(Dra)o(w)c(a)i
+(line)h(with)f(an)g(arro)o(whead)e(from)h(the)h(curren)o(t)g(p)q
+(osition)g(to)f Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)24 b(The)17
+b(new)g(curren)o(t)240 1289 y(p)q(osition)f(is)g Fq(\()p
+Fo(x)i(y)t Fq(\))p Ft(.)i(The)15 b(arro)o(whead)f(is)i(aligned)h(with)e
+(the)g(line,)i(with)e(the)h(tip)f(at)g Fq(\()p Fo(x)j(y)t
+Fq(\))p Ft(.)0 1390 y Fq(\\begin{texdraw})240 1452 y
+Ft(Start)f(a)h(T)425 1462 y(E)450 1452 y(Xdra)o(w)f(dra)o(wing.)28
+b(The)18 b(dra)o(wing)g(is)h(terminated)f(with)g(an)g
+Fq(\\end{texdraw})e Ft(com-)240 1515 y(mand.)k(This)c(command)f(is)h
+(for)e(use)i(with)f(LaT)1068 1525 y(E)1094 1515 y(X.)0
+1616 y Fq(\\bsegment)240 1679 y Ft(Start)22 b(a)g(dra)o(wing)h(segmen)o
+(t.)42 b(The)23 b(co)q(ordinate)g(system)f(is)i(shifted)f(suc)o(h)g
+(that)f(the)h(curren)o(t)240 1741 y(p)q(osition)d(corresp)q(onds)g(to)f
+(the)g(co)q(ordinate)h Fq(\(0)15 b(0\))p Ft(.)32 b(Changes)19
+b(to)f(scaling,)j(p)q(osition)g(and)e(line)240 1803 y(parameters)14
+b(sta)o(y)h(lo)q(cal)h(to)e(the)i(dra)o(wing)f(segmen)o(t.)0
+1905 y Fq(\\btexdraw)240 1967 y Ft(Start)f(a)h(T)419
+1977 y(E)445 1967 y(Xdra)o(w)f(dra)o(wing.)20 b(The)15
+b(dra)o(wing)h(is)f(terminated)h(with)f(an)g Fq(\\etexdraw)f
+Ft(command.)0 2068 y Fq(\\centertexdraw)f({)i(...)g(})240
+2131 y Ft(Cen)o(ter)j(a)g(T)457 2140 y(E)482 2131 y(Xdra)o(w)g(b)q(o)o
+(x.)29 b(The)18 b(argumen)o(t)f(con)o(tains)i(T)1255
+2140 y(E)1280 2131 y(Xdra)o(w)f(commands.)28 b(The)19
+b(resulting)240 2193 y(b)q(o)o(x)c(has)g(the)g(horizon)o(tal)h(size)g
+Fq(\\hsize)e Ft(and)i(heigh)o(t)f(equal)h(to)f(the)g(heigh)o(t)h(of)f
+(the)g(dra)o(wing.)0 2294 y Fq(\\clvec)f(\()p Fo(x1)19
+b(y1)t Fq(\)\()p Fo(x2)e(y2)t Fq(\)\()p Fo(x3)h(y3)t
+Fq(\))240 2357 y Ft(Dra)o(w)9 b(a)i(Bezier)h(curv)o(e)f(from)f(the)g
+(curren)o(t)h(p)q(osition)h(to)e(the)g(co)q(ordinate)i
+Fq(\()p Fo(x3)18 b(y3)t Fq(\))10 b Ft(whic)o(h)h(b)q(ecomes)240
+2419 y(the)h(new)g(curren)o(t)g(p)q(osition.)20 b(The)13
+b(co)q(ordinates)f Fq(\()p Fo(x1)18 b(y1)t Fq(\))11 b
+Ft(and)i Fq(\()p Fo(x2)18 b(y2)t Fq(\))11 b Ft(serv)o(e)h(as)g(con)o
+(trol)g(p)q(oin)o(ts)240 2481 y(for)h(the)h(curv)o(e.)20
+b(Only)15 b(the)f(last)g(co)q(ordinate)g(giv)o(en)h(is)f(used)h(to)e
+(up)q(date)i(the)f(size)h(of)e(the)h(dra)o(wing.)0 2583
+y Fq(\\drawbb)72 b Ft(Dra)o(w)16 b(a)i(ruled)h(b)q(o)o(x)e(around)h
+(the)g(e\013ectiv)o(e)g(size)h(of)e(a)g(dra)o(wing)h(pro)q(duced)h(b)o
+(y)e(T)1679 2593 y(E)1705 2583 y(Xdra)o(w)g(com-)240
+2645 y(mands.)p eop
+%%Page: 48 50
+48 49 bop 0 -83 a Ft(48)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fq(\\drawdim)14 b Fo(dim)240 221 y
+Ft(Set)j(the)h(units)g(to)e Fo(dim)p Ft(.)27 b(The)18
+b(argumen)o(t)e Fo(dim)i Ft(can)g(b)q(e)g(an)o(y)f(v)m(alid)i(T)1458
+230 y(E)1483 221 y(X)f(dimension)h(unit.)27 b(The)240
+283 y(units)16 b(are)g(used)g(to)f(in)o(terpret)h(co)q(ordinate)g(v)m
+(alues.)23 b(Examples)16 b(of)f(v)m(alid)j(units:)j Fq(cm)p
+Ft(,)15 b Fq(mm)p Ft(,)h Fq(in)p Ft(,)f Fq(pt)p Ft(,)240
+345 y(and)g Fq(bp)p Ft(.)0 434 y Fq(\\end{texdraw})240
+496 y Ft(End)k(a)g(T)407 506 y(E)433 496 y(Xdra)o(w)f(dra)o(wing)h
+(started)f(with)i(a)e Fq(\\begin{texdraw})f Ft(command.)32
+b(The)19 b(resulting)240 558 y(T)265 568 y(E)291 558
+y(Xdra)o(w)12 b(dra)o(wing)h(is)g(placed)i(in)f(a)e(b)q(o)o(x)h(with)h
+(heigh)o(t)f(equal)h(to)e(the)i(heigh)o(t)f(of)g(the)g(dra)o(wing)g
+(and)240 620 y(width)i(equal)f(to)g(the)g(width)h(of)e(the)h(dra)o
+(wing.)20 b(The)14 b(depth)h(of)e(the)i(b)q(o)o(x)e(is)i(zero.)k(This)c
+(command)240 683 y(is)h(for)e(use)i(with)f(LaT)613 692
+y(E)639 683 y(X.)0 771 y Fq(\\esegment)240 833 y Ft(End)25
+b(a)f(dra)o(wing)g(segmen)o(t.)47 b(The)25 b(curren)o(t)f(p)q(osition)h
+(in)h(e\013ect)e(b)q(efore)h(the)f(corresp)q(onding)240
+896 y Fq(\\bsegment)d Ft(command)h(is)h(restored.)41
+b(The)23 b(scaling)g(and)g(line)h(parameter)d(v)m(alues)j(rev)o(ert)e
+(to)240 958 y(those)15 b(in)h(e\013ect)f(b)q(efore)g(the)h(corresp)q
+(onding)g Fq(\\bsegment)e Ft(w)o(as)g(in)o(v)o(ok)o(ed.)0
+1046 y Fq(\\etexdraw)240 1108 y Ft(End)h(a)f(T)398 1118
+y(E)423 1108 y(Xdra)o(w)g(dra)o(wing)h(started)e(with)i(a)f
+Fq(\\btexdraw)f Ft(command.)20 b(The)15 b(resulting)g(T)1793
+1118 y(E)1819 1108 y(Xdra)o(w)240 1171 y(dra)o(wing)i(is)h(placed)h(in)
+f(a)f(b)q(o)o(x)g(with)h(heigh)o(t)f(equal)h(to)f(the)h(heigh)o(t)f(of)
+g(the)h(dra)o(wing)f(and)g(width)240 1233 y(equal)f(to)f(the)g(width)h
+(of)e(the)i(dra)o(wing.)j(The)d(depth)g(of)e(the)i(b)q(o)o(x)f(is)h
+(zero.)0 1321 y Fq(\\everytexdraw)d({)i(...)g(})240 1384
+y Ft(Sp)q(ecify)d(T)418 1393 y(E)444 1384 y(Xdra)o(w)d(commands)i(to)e
+(b)q(e)j(executed)f(at)f(the)g(b)q(eginning)j(of)d(ev)o(ery)g(T)1612
+1393 y(E)1638 1384 y(Xdra)o(w)f(dra)o(wing.)0 1472 y
+Fq(\\fcir)14 b(f:)p Fo(lev)o(el)19 b Fq(r:)p Fo(radius)240
+1534 y Ft(Dra)o(w)h(a)g(\014lled)j(circle)g(with)e(cen)o(ter)g(at)f
+(the)h(curren)o(t)g(p)q(osition.)38 b(The)21 b(radius)h(is)f(sp)q
+(eci\014ed)i(b)o(y)240 1597 y Fo(radius)p Ft(.)28 b(The)18
+b(circle)i(is)e(pain)o(ted)h(with)f(the)g(gra)o(y)e(lev)o(el)j(sp)q
+(eci\014ed)h(b)o(y)e Fo(lev)o(el)p Ft(.)29 b(A)18 b(gra)o(y)f(lev)o(el)
+i(of)e(1)240 1659 y(corresp)q(onds)g(to)f(white,)h(with)g(decreasing)g
+(v)m(alues)h(getting)e(dark)o(er.)23 b(The)17 b(lev)o(el)h(0)e(is)h
+(full)h(blac)o(k.)240 1721 y(This)k(command)f(do)q(es)h(not)f(dra)o(w)f
+(a)i(line)h(along)e(the)g(circumference.)40 b(The)22
+b(dra)o(wing)f(size)h(is)240 1783 y(increased)16 b(if)g(necessary)f(to)
+g(con)o(tain)g(the)h(circle.)0 1872 y Fq(\\fellip)e(f:)p
+Fo(lev)o(el)k Fq(rx:)p Fo(x-radius)g Fq(ry:)p Fo(y-radius)240
+1934 y Ft(Dra)o(w)c(a)h(\014lled)i(ellipse)h(with)e(cen)o(ter)f(at)g
+(the)g(curren)o(t)h(p)q(osition.)21 b(The)16 b(radius)g(in)g(the)f
+Fo(x)k Ft(direction)240 1996 y(is)g(sp)q(eci\014ed)i(b)o(y)e
+Fo(x-radius)p Ft(.)32 b(The)19 b(radius)g(in)h(the)f
+Fo(y)k Ft(direction)d(is)f(sp)q(eci\014ed)i(b)o(y)e Fo(y-radius)p
+Ft(.)32 b(The)240 2059 y(ellipse)16 b(is)e(pain)o(ted)h(with)f(the)g
+(gra)o(y)e(lev)o(el)j(sp)q(eci\014ed)h(b)o(y)e Fo(lev)o(el)p
+Ft(.)20 b(A)14 b(gra)o(y)f(lev)o(el)i(of)e(1)h(corresp)q(onds)g(to)240
+2121 y(white,)i(with)g(decreasing)h(v)m(alues)g(getting)e(dark)o(er.)21
+b(The)16 b(lev)o(el)h(0)f(is)g(full)h(blac)o(k.)22 b(This)16
+b(command)240 2183 y(do)q(es)h(not)f(dra)o(w)g(a)g(line)i(along)e(the)h
+(b)q(oundary)g(of)f(the)g(ellipse.)26 b(The)17 b(dra)o(wing)f(size)i
+(is)f(increased)240 2245 y(if)f(necessary)f(to)g(con)o(tain)g(the)g
+(ellipse.)0 2334 y Fq(\\htext)f(\()p Fo(x)k(y)t Fq(\){)p
+Fo(text)q Fq(})0 2396 y(\\htext)c({)p Fo(text)q Fq(})240
+2458 y Ft(The)19 b(\014rst)g(form)f(of)h(this)g(command)g(places)h(the)
+f(T)1150 2468 y(E)1176 2458 y(X)g(text)f Fo(text)i Ft(horizon)o(tally)g
+(with)f(the)g(text)240 2521 y(reference)12 b(p)q(oin)o(t)f(at)g(the)g
+(co)q(ordinate)h Fq(\()p Fo(x)18 b(y)t Fq(\))p Ft(.)g(The)11
+b(new)h(curren)o(t)f(p)q(osition)h(is)g Fq(\()p Fo(x)18
+b(y)t Fq(\))p Ft(.)g(The)11 b(second)240 2583 y(form)f(of)f(this)i
+(command)f(places)i(the)e(T)903 2593 y(E)928 2583 y(X)h(text)f
+Fo(text)g Ft(horizon)o(tally)i(with)e(the)h(text)e(reference)i(p)q(oin)
+o(t)240 2645 y(at)k(the)g(curren)o(t)g(p)q(osition.)21
+b(The)15 b(text)g(reference)h(p)q(oin)o(t)g(is)f(set)g(with)h(the)f
+Fq(\\textref)f Ft(command.)p eop
+%%Page: 49 51
+49 50 bop 0 -83 a Ft(App)q(endix)17 b(D:)e(Alphab)q(etic)i(listing)g
+(of)e(commands)1003 b(49)0 158 y Fq(\\ifill)14 b(f:)p
+Fo(lev)o(el)240 221 y Ft(Close)j(the)g(curren)o(t)g(path)f(and)h(pain)o
+(t)g(the)g(in)o(terior)g(of)g(the)g(region)g(with)g(gra)o(y)f(lev)o(el)
+i Fo(lev)o(el)p Ft(.)26 b(The)240 283 y(line)18 b(around)d(the)h(path)g
+(is)h(not)e(dra)o(wn.)22 b(Gra)o(y)15 b(lev)o(els)i(are)e(real)i(v)m
+(alues)g(from)e(0)h(\(blac)o(k\))f(through)240 345 y(in)o(termediate)h
+(v)m(alues)g(\(gra)o(ys\))e(to)g(1)h(\(white\).)0 454
+y Fq(\\larc)f(r:)p Fo(radius)k Fq(sd:)p Fo(start-angle)f
+Fq(ed:)p Fo(end-angle)240 516 y Ft(Dra)o(w)9 b(a)h(coun)o(terclo)q(c)o
+(kwise)h(arc.)18 b(The)11 b(cen)o(ter)f(of)g(the)g(arc)g(is)h(at)e(the)
+i(curren)o(t)f(p)q(osition.)19 b(The)10 b(radius)240
+578 y(is)j(sp)q(eci\014ed)i(b)o(y)e Fo(radius)p Ft(.)19
+b(The)13 b(start)f(and)h(end)g(angles)h(\(in)f(degrees\))f(are)h(sp)q
+(eci\014ed)i(b)o(y)d Fo(start-angle)240 640 y Ft(and)j
+Fo(end-angle)p Ft(.)22 b(This)15 b(command)g(do)q(es)h(not)f(a\013ect)f
+(the)i(limits)g(\(size\))g(of)e(the)i(dra)o(wing.)0 749
+y Fq(\\lcir)e(r:)p Fo(radius)240 811 y Ft(Dra)o(w)j(a)h(circle)j(with)d
+(cen)o(ter)h(at)f(the)h(curren)o(t)f(p)q(osition.)31
+b(The)19 b(radius)g(is)g(sp)q(eci\014ed)h(b)o(y)f Fo(radius)p
+Ft(.)240 873 y(This)d(command)g(dra)o(ws)f(a)g(line)j(along)e(the)f
+(circumference)j(of)d(the)h(circle.)23 b(The)16 b(dra)o(wing)g(size)g
+(is)240 936 y(increased)g(if)g(necessary)f(to)g(con)o(tain)g(the)h
+(circle.)0 1044 y Fq(\\lellip)e(rx:)p Fo(x-radius)k Fq(ry:)p
+Fo(y-radius)240 1106 y Ft(Dra)o(w)i(an)g(ellipse)j(with)e(cen)o(ter)g
+(at)f(the)h(curren)o(t)g(p)q(osition.)37 b(The)21 b(radius)g(in)h(the)f
+Fo(x)j Ft(direction)240 1169 y(is)19 b(sp)q(eci\014ed)i(b)o(y)e
+Fo(x-radius)p Ft(.)32 b(The)19 b(radius)g(in)h(the)f
+Fo(y)k Ft(direction)d(is)f(sp)q(eci\014ed)i(b)o(y)e Fo(y-radius)p
+Ft(.)32 b(The)240 1231 y(dra)o(wing)15 b(size)h(is)g(increased)g(if)g
+(necessary)f(to)g(con)o(tain)g(the)h(ellipse.)0 1339
+y Fq(\\lfill)e(f:)p Fo(lev)o(el)240 1402 y Ft(Close)i(the)f(curren)o(t)
+h(path,)f(dra)o(w)g(the)g(line)j(around)d(the)h(path)f(using)h(the)g
+(curren)o(t)f(grey)h(lev)o(el)h(for)240 1464 y(lines)f(and)e(pain)o(t)h
+(the)f(in)o(terior)h(of)e(the)i(region)f(with)h(sp)q(eci\014ed)h(gra)o
+(y)d(lev)o(el)j Fo(lev)o(el)p Ft(.)21 b(Gra)o(y)13 b(lev)o(els)i(are)
+240 1526 y(real)h(v)m(alues)g(from)e(0)h(\(blac)o(k\))g(through)g(in)o
+(termediate)h(v)m(alues)g(\(gra)o(ys\))e(to)g(1)h(\(white\).)0
+1635 y Fq(\\linewd)f Fo(width)240 1697 y Ft(Set)19 b(the)g(line)h
+(width)g(to)e Fo(width)h Ft(units.)31 b(Initially)22
+b Fo(width)d Ft(is)g(0.01)f(inc)o(hes)i(\(corresp)q(onding)f(to)f(3)240
+1759 y(pixels)f(at)d(300)h(pixels)h(to)f(the)g(inc)o(h\).)0
+1868 y Fq(\\lpatt)f(\()p Fo(pattern)p Fq(\))240 1930
+y Ft(Set)21 b(lines)h(to)e(ha)o(v)o(e)h(the)f(pattern)h
+Fq(\()p Fo(pattern)p Fq(\))p Ft(.)36 b(A)20 b(pattern)h(is)g(a)f
+(sequence)i(of)f(on/o\013)e(lengths)240 1992 y(separated)e(b)o(y)g
+(blanks)g(and)h(enclosed)g(in)g(paren)o(theses.)25 b(The)17
+b(lengths)h(alternately)g(sp)q(ecify)g(the)240 2055 y(length)g(of)f(a)h
+(dash)f(and)h(the)g(length)g(of)f(a)g(gap)h(b)q(et)o(w)o(een)f(dashes.)
+28 b(Eac)o(h)17 b(length)h(is)g(in)o(terpreted)240 2117
+y(using)c(the)g(curren)o(t)f(scaling)i(and)e(dra)o(wing)h(units.)20
+b(The)13 b(pattern)g(is)h(used)g(cyclically)l(.)23 b(The)13
+b(empt)o(y)240 2179 y(pattern)k(signi\014es)i(a)e(solid)i(line.)28
+b(The)18 b(initial)i(line)f(pattern)e(is)h(a)f(solid)i(line,)g(corresp)
+q(onding)g(to)240 2241 y(the)c(empt)o(y)g(pattern)g Fq(\\lpatt)f(\(\))p
+Ft(.)0 2350 y Fq(\\lvec)g(\()p Fo(x)19 b(y)t Fq(\))240
+2412 y Ft(Dra)o(w)c(a)h(line)i(from)d(the)h(curren)o(t)g(p)q(osition)h
+(to)f(co)q(ordinate)h Fq(\()p Fo(x)h(y)t Fq(\))p Ft(.)k(The)16
+b(new)h(curren)o(t)f(p)q(osition)240 2474 y(is)g Fq(\()p
+Fo(x)i(y)t Fq(\))p Ft(.)0 2583 y Fq(\\move)c(\()p Fo(x)19
+b(y)t Fq(\))240 2645 y Ft(Mo)o(v)o(e)14 b(to)h(co)q(ordinate)g
+Fq(\()p Fo(x)k(y)t Fq(\))p Ft(.)g(The)d(new)f(curren)o(t)g(p)q(osition)
+h(is)g Fq(\()p Fo(x)i(y)t Fq(\))p Ft(.)p eop
+%%Page: 50 52
+50 51 bop 0 -83 a Ft(50)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fq(\\ravec)14 b(\()p Fo(dx)19 b(dy)t
+Fq(\))240 221 y Ft(Dra)o(w)c(a)h(line)i(with)f(an)f(arro)o(whead)f
+(from)h(the)g(curren)o(t)h(p)q(osition,)g Fo(dx)j Ft(units)d(in)g(the)f
+Fo(x)k Ft(direction)240 283 y(and)e Fo(y)j Ft(units)d(in)g(the)f
+Fo(y)k Ft(direction.)28 b(The)18 b(\014nal)g(p)q(osition)g(b)q(ecomes)g
+(the)g(new)f(curren)o(t)g(p)q(osition.)240 345 y(The)e(arro)o(whead)g
+(is)g(aligned)i(with)e(the)h(line,)g(with)g(the)f(tip)h(at)e(the)i(new)
+f(curren)o(t)g(p)q(osition.)0 454 y Fq(\\relsegscale)f
+Fo(v)m(alue)240 516 y Ft(Adjust)i(the)g(segmen)o(t)f(scale)h(factor)f
+(b)o(y)h(m)o(ultiplying)i(b)o(y)e Fo(v)m(alue)p Ft(.)22
+b(This)17 b(has)e(the)h(e\013ect)g(of)f(m)o(ulti-)240
+578 y(plying)i(the)e(curren)o(t)g(o)o(v)o(erall)g(scale)h(factor)e(b)o
+(y)h(the)h(same)e(factor.)19 b(The)d(o)o(v)o(erall)f(scaling)h(factor)e
+(is)240 640 y(the)h(pro)q(duct)h(of)f(the)g(unit)h(scale)g(factor)e
+(and)h(the)h(segmen)o(t)e(scale)i(factor.)0 749 y Fq(\\relunitscale)d
+Fo(v)m(alue)240 811 y Ft(Adjust)h(the)g(unit)g(scale)h(factor)e(b)o(y)g
+(m)o(ultiplying)j(b)o(y)e Fo(v)m(alue)p Ft(.)21 b(This)14
+b(has)g(the)g(e\013ect)f(of)h(m)o(ultiplying)240 873
+y(the)h(o)o(v)o(erall)g(scale)g(factor)f(b)o(y)h(the)g(same)f(factor.)
+19 b(The)c(o)o(v)o(erall)g(scaling)h(factor)e(is)h(the)g(pro)q(duct)g
+(of)240 936 y(the)g(unit)h(scale)g(factor)e(and)i(the)f(segmen)o(t)g
+(scale)h(factor.)0 1044 y Fq(\\rlvec)e(\()p Fo(dx)19
+b(dy)t Fq(\))240 1106 y Ft(Dra)o(w)14 b(a)h(line)i(from)e(the)g(curren)
+o(t)h(p)q(osition,)g Fo(dx)j Ft(units)d(in)g(the)f Fo(x)k
+Ft(direction)d(and)g Fo(dy)k Ft(units)c(in)g(the)240
+1169 y Fo(y)j Ft(direction.)i(The)16 b(\014nal)g(p)q(osition)g(b)q
+(ecomes)g(the)f(new)g(curren)o(t)h(p)q(osition.)0 1277
+y Fq(\\rmove)e(\()p Fo(dx)19 b(dy)t Fq(\))240 1339 y
+Ft(Mo)o(v)o(e)h(from)g(the)g(curren)o(t)h(p)q(osition,)i
+Fo(dx)h Ft(units)d(in)g(the)g Fo(x)j Ft(direction)e(and)f
+Fo(dy)j Ft(units)e(in)f(the)g Fo(y)240 1402 y Ft(direction.)g(The)16
+b(\014nal)g(p)q(osition)g(b)q(ecomes)g(the)f(new)g(curren)o(t)g(p)q
+(osition.)0 1510 y Fq(\\rtext)f(td:)p Fo(angle)k Fq(\(x)d(y\){)p
+Fo(text)q Fq(})0 1572 y(\\rtext)f(td:)p Fo(angle)k Fq({)p
+Fo(text)q Fq(})240 1635 y Ft(The)i(\014rst)f(form)f(of)h(this)h
+(command)f(places)h(the)g(T)1153 1645 y(E)1178 1635 y(X)g(text)f
+Fo(text)g Ft(at)g(an)g(angle)h(with)g(the)f(text)240
+1697 y(reference)j(p)q(oin)o(t)g(at)f(the)g(co)q(ordinate)h
+Fq(\()p Fo(x)c(y)t Fq(\))p Ft(.)38 b(The)22 b(new)g(curren)o(t)f(p)q
+(osition)h(is)g Fq(\()p Fo(x)d(y)t Fq(\))p Ft(.)38 b(The)240
+1759 y(second)23 b(form)e(of)h(this)h(command)f(places)i(the)e(T)1129
+1769 y(E)1155 1759 y(X)g(text)g Fo(text)h Ft(at)e(an)i(angle)f(with)h
+(the)f(text)240 1822 y(reference)f(p)q(oin)o(t)g(at)f(the)h(curren)o(t)
+f(p)q(osition.)37 b(In)21 b(b)q(oth)f(cases,)i(the)e(T)1491
+1831 y(E)1517 1822 y(X)g(text)g(is)h(placed)h(in)f(a)240
+1884 y(b)q(o)o(x)15 b(and)g(the)g(b)q(o)o(x)f(is)i(rotated)e(coun)o
+(terclo)q(c)o(kwise)i(b)o(y)e Fo(angle)k Ft(degrees)d(ab)q(out)g(the)g
+(text)f(reference)240 1946 y(p)q(oin)o(t.)20 b(The)c(text)e(reference)i
+(p)q(oin)o(t)g(is)g(set)f(with)g(the)h Fq(\\textref)e
+Ft(command.)0 2055 y Fq(\\savecurrpos)g(\(*)p Fo(p)o(x)k
+Fq(*)p Fo(p)o(y)t Fq(\))240 2117 y Ft(Sa)o(v)o(e)d(the)g(curren)o(t)g
+(p)q(osition)h(as)f(the)g(absolute)h(p)q(osition)g(referenced)g(b)o(y)g
+Fq(\(*)p Fo(p)o(x)i Fq(*)p Fo(p)o(y)t Fq(\))p Ft(.)0
+2225 y Fq(\\savepos)c(\()p Fo(x)k(y)t Fq(\)\(*)p Fo(p)o(x)g
+Fq(*)p Fo(p)o(y)t Fq(\))240 2288 y Ft(Sa)o(v)o(e)d(the)h(co)q(ordinate)
+g(p)q(osition)h Fq(\()p Fo(x)h(y)t Fq(\))d Ft(as)g(the)h(absolute)g(p)q
+(osition)h(referenced)f(b)o(y)g Fq(\(*)p Fo(p)o(x)i Fq(*)p
+Fo(p)o(y)t Fq(\))p Ft(.)240 2350 y(The)f(co)q(ordinate)g
+Fq(\()p Fo(x)h(y)t Fq(\))f Ft(is)g(in)o(terpreted)g(in)h(the)f(normal)f
+(fashion)h(as)g(a)f(co)q(ordinate)h(relativ)o(e)h(to)240
+2412 y(the)d(curren)o(t)g(segmen)o(t,)g(using)h(the)f(curren)o(t)g
+(scaling)h(factors)e(and)i(dra)o(wing)f(unit.)0 2521
+y Fq(\\setgray)f Fo(lev)o(el)240 2583 y Ft(Set)h(the)h(gra)o(y)e(lev)o
+(el)j(of)e(lines.)22 b(Gra)o(y)14 b(lev)o(els)j(are)e(real)h(v)m(alues)
+g(from)f(0)g(\(blac)o(k\))g(through)g(in)o(terme-)240
+2645 y(diate)h(v)m(alues)g(\(gra)o(y\))d(to)i(1)g(\(white\).)20
+b(The)15 b(initial)i(gra)o(y)e(lev)o(el)h(is)g(0)f(corresp)q(onding)h
+(to)e(blac)o(k.)p eop
+%%Page: 51 53
+51 52 bop 0 -83 a Ft(App)q(endix)17 b(D:)e(Alphab)q(etic)i(listing)g
+(of)e(commands)1003 b(51)0 158 y Fq(\\setsegscale)14
+b Fo(scale)240 221 y Ft(Set)19 b(the)f(segmen)o(t)g(scale)h(factor.)29
+b(The)18 b(argumen)o(t)g Fo(scale)k Ft(is)d(a)f(real)h(n)o(um)o(b)q(er)
+f(whic)o(h)i(is)f(used)g(to)240 283 y(scale)d(co)q(ordinate)g(v)m
+(alues.)21 b(The)16 b(o)o(v)o(erall)f(scale)h(factor)f(is)g(the)h(pro)q
+(duct)g(of)e(the)i(unit)g(scale)g(factor)240 345 y(and)f(the)h(segmen)o
+(t)e(scale)i(factor.)0 432 y Fq(\\setunitscale)d Fo(scale)240
+495 y Ft(Set)f(the)h(unit)g(scaling)g(to)e Fo(scale)p
+Ft(.)20 b(The)12 b(argumen)o(t)g Fo(scale)j Ft(is)e(a)f(real)h(n)o(um)o
+(b)q(er)f(whic)o(h)h(is)g(used)g(to)e(scale)240 557 y(co)q(ordinate)j
+(v)m(alues.)21 b(The)14 b(o)o(v)o(erall)g(scaling)h(factor)e(is)h(the)g
+(pro)q(duct)g(of)g(the)g(unit)g(scale)h(factor)e(and)240
+619 y(the)i(segmen)o(t)g(scale)h(factor.)0 706 y Fq(\\texdrawbox)e({)h
+(...)f(})240 769 y Ft(Create)21 b(a)f(T)461 778 y(E)487
+769 y(Xdra)o(w)g(b)q(o)o(x.)38 b(The)22 b(argumen)o(t)e(con)o(tains)h
+(T)1280 778 y(E)1306 769 y(Xdra)o(w)f(commands.)38 b(This)22
+b(macro)240 831 y(returns)16 b(a)g(T)462 841 y(E)487
+831 y(X)g(b)q(o)o(x)h(with)f(heigh)o(t)h(equal)f(to)g(the)g(heigh)o(t)h
+(of)e(the)i(dra)o(wing)f(and)g(width)h(equal)g(to)240
+893 y(the)e(width)h(of)f(the)g(dra)o(wing.)20 b(The)15
+b(depth)h(of)f(the)g(b)q(o)o(x)g(is)h(zero.)0 980 y Fq(\\textref)e(h:)p
+Fo(h-ref)24 b Fq(v:)p Fo(v-ref)240 1043 y Ft(Set)17 b(the)h(text)e
+(reference)i(p)q(oin)o(t)g(for)f(subsequen)o(t)h(text)e(commands.)26
+b(The)18 b(horizon)o(tal)f(reference)240 1105 y(p)q(oin)o(t)f
+Fo(h-ref)25 b Ft(is)16 b(one)f(of)h Fq(L)p Ft(,)f Fq(C)g
+Ft(or)g Fq(R)g Ft(\(left,)h(cen)o(ter)f(or)g(righ)o(t\).)21
+b(The)16 b(v)o(ertical)g(reference)g(p)q(oin)o(t)g Fo(v-ref)240
+1167 y Ft(is)k(one)f(of)g Fq(T)p Ft(,)h Fq(C)f Ft(or)f
+Fq(B)h Ft(\(top,)h(cen)o(ter)f(or)f(b)q(ottom\).)31 b(F)l(or)19
+b(rotated)f(text,)h(the)h(reference)g(p)q(oin)o(t)f(is)240
+1229 y(determined)f(b)q(efore)f(rotation.)24 b(The)17
+b(initial)i(text)d(reference)i(p)q(oin)o(t)f(corresp)q(onds)g(to)f
+Fq(\\textref)240 1292 y(h:L)f(v:B)p Ft(.)0 1379 y Fq(\\vtext)f(\(x)h
+(y\){)p Fo(text)q Fq(})0 1441 y(\\vtext)f({)p Fo(text)q
+Fq(})240 1503 y Ft(The)23 b(\014rst)f(form)g(of)h(this)g(command)f
+(places)i(the)f(T)1180 1513 y(E)1205 1503 y(X)g(text)f
+Fo(text)i Ft(v)o(ertically)g(with)f(the)f(text)240 1566
+y(reference)g(p)q(oin)o(t)g(at)f(the)g(co)q(ordinate)h
+Fq(\()p Fo(x)c(y)t Fq(\))p Ft(.)38 b(The)22 b(new)g(curren)o(t)f(p)q
+(osition)h(is)g Fq(\()p Fo(x)d(y)t Fq(\))p Ft(.)38 b(The)240
+1628 y(second)13 b(form)e(of)g(this)i(command)f(places)h(the)f(T)1057
+1638 y(E)1082 1628 y(X)g(text)g Fo(text)g Ft(v)o(ertically)h(with)g
+(the)f(text)f(reference)240 1690 y(p)q(oin)o(t)17 b(at)f(the)h(curren)o
+(t)f(p)q(osition.)26 b(In)17 b(b)q(oth)g(cases,)f(the)h(T)1252
+1700 y(E)1278 1690 y(X)f(text)h(is)g(placed)h(in)f(a)f(b)q(o)o(x)h(and)
+g(the)240 1752 y(b)q(o)o(x)d(is)g(rotated)f(coun)o(terclo)q(c)o(kwise)j
+(b)o(y)d(90)h(degrees)g(ab)q(out)g(the)g(text)g(reference)g(p)q(oin)o
+(t.)20 b(The)14 b(text)240 1815 y(reference)i(p)q(oin)o(t)g(is)f(set)g
+(with)h(the)f Fq(\\textref)f Ft(command.)p eop
+%%Page: 52 54
+52 53 bop 0 -83 a Ft(52)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)p eop
+%%Page: 53 55
+53 54 bop 0 -83 a Ft(Command)15 b(Index)1575 b(53)0 158
+y Fp(Command)16 b(Index)0 399 y Ff(\\)0 466 y Fe(\\arc)t
+Fd(.)5 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(13)0 524 y Fe(\\arrowhead)o(si)o(ze)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b
+Fc(9)0 582 y Fe(\\arrowhead)o(ty)o(pe)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(9)0
+640 y Fe(\\avec)t Fd(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
+b Fc(8)0 698 y Fe(\\begin{tex)o(dr)o(aw})8 b Fd(.)s(.)e(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(5)0
+756 y Fe(\\bsegment)6 b Fd(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b
+Fc(17)0 814 y Fe(\\btexdraw)7 b Fd(.)s(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(5)0 872 y Fe(\\centertex)o(dr)o(aw)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b
+Fc(5)0 930 y Fe(\\clvec)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23
+b Fc(14)0 989 y Fe(\\cossin)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(35)0 1047 y Fe(\\currentpo)o(s)t Fd(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
+b Fc(35)0 1105 y Fe(\\drawbb)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(21)0 1163 y Fe(\\drawdim)9 b Fd(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)21
+b Fc(7)0 1221 y Fe(\\end{texdr)o(aw)o(})8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24
+b Fc(5)0 1279 y Fe(\\esegment)6 b Fd(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19
+b Fc(17)0 1337 y Fe(\\etexdraw)7 b Fd(.)s(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(5)0 1395 y Fe(\\everytexd)o(ra)o(w)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24
+b Fc(5)0 1453 y Fe(\\fcir)s Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)16 b Fc(13)0 1512 y Fe(\\fellip)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)22 b Fc(13)0 1570 y Fe(\\getpos)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)22 b Fc(35)0 1628 y Fe(\\htext)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)23 b Fc(10)0 1686 y Fe(\\ifill)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)23 b Fc(15)0 1744 y Fe(\\lcir)s Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)16 b Fc(12)0 1802 y Fe(\\lellip)9 b Fd(.)s(.)e(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)22 b Fc(13)0 1860 y Fe(\\lfill)8 b Fd(.)e(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)23 b Fc(15)0 1918 y Fe(\\linewd)7 b Fd(.)g(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)23 b Fc(8)0 1977 y Fe(\\lvec)t Fd(.)t(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Fc(8)0 2035
+y Fe(\\move)t Fd(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
+b Fc(8)0 2093 y Fe(\\PSarc)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23
+b Fc(32)0 2151 y Fe(\\PSarcn)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(32)0 2209 y Fe(\\PSclosepa)o(th)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b
+Fc(31)0 2267 y Fe(\\PSfill)9 b Fd(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(31)0 2325 y Fe(\\PSlineto)6 b Fd(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19
+b Fc(32)0 2383 y Fe(\\PSmoveto)6 b Fd(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19
+b Fc(32)0 2441 y Fe(\\PSnewpath)t Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)18
+b Fc(31)0 2500 y Fe(\\PSsetline)o(ca)o(p)7 b Fd(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b
+Fc(31)0 2558 y Fe(\\PSsetline)o(jo)o(in)8 b Fd(.)s(.)e(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(31)0
+2616 y Fe(\\PSstroke)6 b Fd(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b
+Fc(31)1015 399 y Fe(\\ravec)10 b Fd(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)25 b Fc(8)1015 457 y Fe(\\realadd)8 b Fd(.)s(.)e(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21
+b Fc(36)1015 515 y Fe(\\realdiv)8 b Fd(.)s(.)e(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21
+b Fc(36)1015 573 y Fe(\\realmult)7 b Fd(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20
+b Fc(36)1015 632 y Fe(\\relsegscal)o(e)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)25
+b Fc(20)1015 690 y Fe(\\relunitsca)o(le)6 b Fd(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b
+Fc(20)1015 748 y Fe(\\rlvec)10 b Fd(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)25 b Fc(8)1015 806 y Fe(\\rmove)10 b Fd(.)c(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)25 b Fc(8)1015 864 y Fe(\\rtext)9 b Fd(.)d(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)24 b Fc(10)1015 922 y Fe(\\savecurrpo)o(s)8
+b Fd(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)25 b Fc(18)1015 980 y Fe(\\savepos)8 b Fd(.)s(.)e(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)21 b Fc(18)1015 1038 y Fe(\\setgray)9 b Fd(.)s(.)d(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)22 b Fc(8)1015 1096 y Fe(\\setsegscal)o(e)8
+b Fd(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)25 b Fc(20)1015 1155 y Fe(\\setunitsca)o(le)6
+b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)23 b Fc(19)1015 1213 y Fe(\\textref)8 b Fd(.)s(.)e(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)21 b Fc(11)1015 1271 y Fe(\\vectlen)8 b Fd(.)s(.)e(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)21 b Fc(35)1015 1329 y Fe(\\vtext)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)24 b Fc(10)1015 1387 y Fe(\\writeps)8 b Fd(.)s(.)e(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)21 b Fc(32)1015 1522 y Fs(A)1015 1588 y Fe(arc)6
+b Fd(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19
+b Fc(32)1015 1647 y Fe(arcn)t Fd(.)5 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)18 b Fc(32)1015 1781 y Fs(C)1015 1848 y Fe(closepath)7
+b Fd(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Fc(31)1015 1983 y Fs(F)1015
+2049 y Fe(fill)t Fd(.)5 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18
+b Fc(31)1015 2184 y Fs(L)1015 2251 y Fe(lineto)9 b Fd(.)d(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)24 b Fc(32)1015 2386 y Fs(M)1015 2452
+y Fe(moveto)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24
+b Fc(32)1015 2587 y Fs(N)1015 2653 y Fe(newpath)9 b Fd(.)t(.)d(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)22 b Fc(31)p eop
+%%Page: 54 56
+54 55 bop 0 -83 a Ft(54)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fs(S)0 225 y Fe(setlinecap)t Fd(.)s(.)7
+b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)18 b Fc(31)1015 158 y Fe(setlinejoin)s Fd(.)s(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)17 b Fc(31)1015 216 y Fe(stroke)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)24 b Fc(31)p eop
+%%Page: 55 57
+55 56 bop 0 -83 a Ft(Concept)15 b(Index)1616 b(55)0 158
+y Fp(Concept)16 b(Index)0 414 y Fs(A)0 481 y Fc(accessing)f(T)187
+489 y(E)207 481 y(Xdra)o(w)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)21 b Fc(3,)13 b(23)0 539 y(angle)h(of)f(a)g(v)o(ector)7
+b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)20 b Fc(35)0 597 y(arcs)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18
+b Fc(12,)13 b(32)0 655 y(arro)o(whead)h(parameters)s
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16
+b Fc(8)0 713 y(arro)o(ws)7 b Fd(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)19 b Fc(7)0 827 y Fs(B)0 893 y Fc(Bezier)14 b(curv)o(es)c
+Fd(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)22 b Fc(14)0 1007 y Fs(C)0 1073 y Fc(circles)11
+b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)22 b Fc(12)0
+1132 y(command)14 b(syn)o(tax)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(5)0 1190
+y(co)q(ordinate)e(parsing)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(35)0 1248 y(co)q(ordinate)15
+b(sp)q(eci\014cation)d Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+22 b Fc(6)0 1306 y(co)q(ordinate,)15 b(sym)o(b)q(olic)7
+b Fd(.)h(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20
+b Fc(18)0 1364 y(co)q(ordinates)9 b Fd(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21
+b Fc(6)0 1422 y(cosine)14 b(of)f(a)g(v)o(ector)g(direction)6
+b Fd(.)i(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Fc(35)0 1480 y(curren)o(t)c(p)q
+(osition)f Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)25
+b Fc(7,)12 b(21,)h(35)0 1538 y(curren)o(t)h(p)q(osition)h(in)f(P)o
+(ostScript)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Fc(31)0 1597
+y(curv)o(es)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)21
+b Fc(14)0 1710 y Fs(D)0 1777 y Fc(dashed)14 b(lines)f
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)24 b Fc(8)0 1835 y(direction)15
+b(of)e(a)g(line)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)20 b Fc(35)0 1893 y(distribution)7 b
+Fd(.)i(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)19 b Fc(1)0 1951 y(dotted)14
+b(lines)6 b Fd(.)i(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Fc(8)0 2009
+y(dra)o(wing)14 b(segmen)o(ts)6 b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Fc(17)0 2067 y Fe(dvi2ps)10
+b Fc(prin)o(ter)15 b(driv)o(er)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)h(.)23 b Fc(23)0 2125 y Fe(dvialw)10 b Fc(prin)o(ter)15
+b(driv)o(er)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)23
+b Fc(23)0 2184 y Fe(dvilaser)10 b Fc(prin)o(ter)k(driv)o(er)8
+b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(23)0
+2242 y Fe(dvips)11 b Fc(prin)o(ter)j(driv)o(er)e Fd(.)6
+b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(1,)12 b(23,)h(28)0
+2300 y Fe(dvipsone)d Fc(prin)o(ter)k(driv)o(er)8 b Fd(.)f(.)f(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(23)0 2358 y Fe(dvitops)10
+b Fc(prin)o(ter)k(driv)o(er)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)22 b Fc(23)0 2416 y Fe(dviwindo)10 b Fc(prin)o(ter)k(driv)o(er)
+8 b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(23)0
+2530 y Fs(E)0 2596 y Fc(ellipses)13 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)23 b Fc(12)0 2654 y(Encapsulated)16 b(P)o(ostScript)e(File)t
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)17 b Fc(28)1015 414 y(errors)d(while)g(using)h
+(T)1348 422 y(E)1368 414 y(Xdra)o(w)8 b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21
+b Fc(25)1015 472 y(example,)15 b(arro)o(w)d(curv)o(e)f
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23
+b Fc(36)1015 530 y(example,)15 b(blo)q(c)o(k)f(diagram)6
+b Fd(.)i(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(39)1015
+588 y(example,)c(circle)f(and)g(ellipse)s Fd(.)9 b(.)d(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)17 b Fc(44)1015 647 y(example,)e(graph)9 b Fd(.)e(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22
+b Fc(42)1015 759 y Fs(F)1015 825 y Fc(\014ll)15 b(op)q(erations,)g(in)o
+(teraction)g(with)e(dra)o(wing)h(segmen)o(ts)t Fd(.)7
+b(.)f(.)17 b Fc(17)1015 884 y(\014lled)e(circles)5 b
+Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)18 b Fc(12)1015 942 y(\014lling)e(regions)d
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)25
+b Fc(15,)13 b(31)1015 1054 y Fs(G)1015 1121 y Fe(graphics)d
+Fc(pac)o(k)n(age)e Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20
+b Fc(1,)13 b(3,)g(23,)g(28)1015 1179 y(graphics)i(placemen)o(t)e
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24
+b Fc(28)1015 1237 y(gra)o(y)14 b(lev)o(els)h(for)d(lines)s
+Fd(.)d(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16
+b Fc(8)1015 1349 y Fs(I)1015 1416 y Fc(implemen)o(tatio)q(n)7
+b Fd(.)i(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)20 b Fc(26)1015 1474 y(initial)c(curren)o(t)e(p)q(osition)8
+b Fd(.)h(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b
+Fc(21)1015 1532 y(in)o(v)o(oking)16 b(T)1191 1540 y(E)1212
+1532 y(Xdra)o(w)5 b Fd(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)18 b Fc(3,)13 b(23)1015 1644 y Fs(L)1015 1711 y Fc(LaT)1080
+1719 y(E)1101 1711 y(X)s Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b
+Fc(1,)d(3,)g(23)1015 1769 y(length)i(of)e(a)g(v)o(ector)7
+b Fd(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)20
+b Fc(35)1015 1827 y(line)15 b(cap)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)17 b Fc(31)1015 1885 y(line)e(join)c Fd(.)6 b(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)23 b Fc(31)1015 1943 y(line)15 b(width)s Fd(.)7
+b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)16 b Fc(8)1015 2001 y(lines)d
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(7,)13
+b(32)1015 2060 y(listing)j(of)d(commands)s Fd(.)7 b(.)f(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Fc(47)1015 2172
+y Fs(M)1015 2238 y Fc(mo)o(v)o(es)6 b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+19 b Fc(7,)13 b(32)1015 2351 y Fs(O)1015 2417 y Fe(oztex)e
+Fc(prin)o(ter)j(driv)o(er)s Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)17 b Fc(23)1015 2530 y Fs(P)1015 2596
+y Fc(pain)o(ting)f(regions)s Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Fc(15)1015 2654
+y(paths)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Fc(15,)c(17,)g(31)p
+eop
+%%Page: 56 58
+56 57 bop 0 -83 a Ft(56)1722 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 158 y Fe(pctexps)10 b Fc(prin)o(ter)k(driv)o(er)d
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b
+Fc(23)0 216 y Fe(pctexwin)10 b Fc(prin)o(ter)k(driv)o(er)8
+b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(23)0
+275 y(placemen)o(t)14 b(of)f(graphics)i(and)f(text)6
+b Fd(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)18 b Fc(28)0 333 y(plain)d(T)118 341
+y(E)139 333 y(X)t Fd(.)5 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)16
+b Fc(3)0 391 y(p)q(osition)f(sp)q(eci\014cation)6 b Fd(.)i(.)f(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Fc(6)0 449
+y(p)q(ositions,)d(sa)o(ving)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Fc(18)0 507 y(P)o(ostScript)14
+b(commands)6 b Fd(.)i(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)19
+b Fc(31)0 565 y(P)o(ostScript)14 b(prin)o(ter)h(driv)o(ers)s
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)16 b Fc(23,)d(28)0 623 y(prin)o(ter)h(driv)o
+(ers)s Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)16 b Fc(23,)d(28)0 681 y(problems)i(while)f(using)g(T)387
+689 y(E)408 681 y(Xdra)o(w)6 b Fd(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Fc(25)0
+739 y Fe(psprint)10 b Fc(driv)o(er)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)17 b
+Fc(23)0 847 y Fs(R)0 914 y Fc(relativ)o(e)e(p)q(ositioning)t
+Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)16
+b Fc(8)0 972 y(relativ)o(e)f(scaling)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b
+Fc(19)0 1030 y(resolution)t Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
+b Fc(27)0 1088 y(rotated)c(text)t Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)17 b Fc(10,)12 b(23,)h(27,)g(28)0 1196 y
+Fs(S)0 1263 y Fc(sa)o(ving)i(p)q(ositions)t Fd(.)9 b(.)d(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(18)0 1321 y(scaling)t Fd(.)8 b(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
+b Fc(26)0 1379 y(scaling)e(co)q(ordinates)t Fd(.)9 b(.)d(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(19)0 1437
+y(segmen)o(t)c(scale)7 b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Fc(19)0 1495
+y(segmen)o(ts)12 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b
+Fc(17)0 1553 y(sine)14 b(of)f(a)g(v)o(ector)g(direction)7
+b Fd(.)h(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Fc(35)1015
+158 y(size)14 b(of)f(the)g(dra)o(wing)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(21)1015 216
+y(stroking)d(lines)s Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(17,)d(31)1015 275 y(sym)o(b)q(olic)j
+(co)q(ordinate)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)17 b Fc(18)1015 333 y(syn)o(tax)d(of)f(commands)e
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22
+b Fc(5)1015 452 y Fs(T)1015 519 y Fe(texdraw)11 b Fc(pac)o(k)n(age)5
+b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b
+Fc(3,)13 b(23,)g(28)1015 577 y(text)h(commands)9 b Fd(.)e(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(10)1015 635 y(text)14 b(placemen)o(t)t Fd(.)7 b(.)f(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17
+b Fc(28)1015 693 y(text)d(rotation)6 b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)19 b Fc(10,)13 b(23,)g(27,)g(28)1015 751
+y Fe(textures)d Fc(prin)o(ter)k(driv)o(er)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)21 b Fc(23)1015 871 y Fs(U)1015 937
+y Fc(unit)15 b(scale)6 b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)19
+b Fc(19)1015 1057 y Fs(V)1015 1123 y Fc(v)o(ectors)13
+b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)25 b Fc(7)1015
+1181 y(v)o(ertical)15 b(text)10 b Fd(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23
+b Fc(10)1015 1301 y Fs(W)1015 1367 y Fc(width)14 b(of)f(lines)8
+b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)21 b Fc(8)1015 1487 y Fs(X)1015 1553
+y Fe(xdvi)12 b Fc(driv)o(er)d Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
+b Fc(23)p eop
+%%Page: -1 59
+-1 58 bop 1937 -83 a Ft(i)0 158 y Fp(T)-7 b(able)15 b(of)g(Con)n(ten)n
+(ts)0 333 y Fs(1)67 b(In)n(tro)r(duction)9 b Fb(.)i(.)f(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
+g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)31
+b Fs(1)149 411 y Ft(1.1)45 b(Distribution)16 b(information)9
+b Fa(.)f(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)23 b Ft(1)0 535 y Fs(2)67 b(Using)22
+b(the)h(T)444 548 y(E)479 535 y(Xdra)n(w)f(Commands)11
+b Fb(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)f(.)h(.)33 b Fs(3)149 613 y Ft(2.1)45 b(Accessing)16
+b(T)484 623 y(E)510 613 y(Xdra)o(w)5 b Fa(.)i(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)20 b Ft(3)149 675 y(2.2)45 b(Command)15 b(syn)o(tax)e
+Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 b Ft(5)149
+737 y(2.3)45 b(T)278 747 y(E)303 737 y(Xdra)o(w)15 b(co)q(ordinates)9
+b Fa(.)f(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)24 b Ft(6)149 800
+y(2.4)45 b(Co)q(ordinate)15 b(sp)q(eci\014cation)g Fa(.)8
+b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)28 b Ft(6)149 862 y(2.5)45 b(Line)17
+b(v)o(ectors)c Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)29 b Ft(7)149 924 y(2.6)45 b(T)278 934 y(E)303
+924 y(X)16 b(text)c Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)28 b Ft(10)149 986 y(2.7)45 b(Circles,)16
+b(ellipses)i(and)d(arcs)c Fa(.)c(.)g(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26 b Ft(12)149
+1049 y(2.8)45 b(Bezier)16 b(curv)o(es)e Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)29 b Ft(14)149 1111 y(2.9)45
+b(Fill)17 b(commands)10 b Fa(.)d(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)25 b Ft(15)0 1236 y Fs(3)67 b(Dra)n(wing)22 b(Segmen)n(ts)g
+(and)h(Scaling)17 b Fb(.)10 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)39 b Fs(17)149 1313 y
+Ft(3.1)45 b(Dra)o(wing)15 b(segmen)o(ts)8 b Fa(.)e(.)i(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)23 b Ft(17)149 1376 y(3.2)45 b(Dra)o(wing)15
+b(paths)10 b Fa(.)d(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)25
+b Ft(17)149 1438 y(3.3)45 b(Sa)o(ving)15 b(p)q(ositions)5
+b Fa(.)k(.)f(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)20
+b Ft(18)149 1500 y(3.4)45 b(Scaling)17 b(co)q(ordinates)7
+b Fa(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23 b Ft(19)149
+1562 y(3.5)45 b(Dra)o(wing)15 b(size)8 b Fa(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23 b Ft(21)149 1625 y(3.6)45
+b(Initial)17 b(curren)o(t)e(p)q(osition)6 b Fa(.)i(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21
+b Ft(21)0 1749 y Fs(4)67 b(Using)22 b(T)327 1763 y(E)362
+1749 y(Xdra)n(w)h(with)g(LaT)842 1763 y(E)877 1749 y(X)14
+b Fb(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)f(.)h(.)g(.)37 b Fs(23)149 1827 y Ft(4.1)45 b(P)o(ostScript)15
+b(prin)o(ter)g(driv)o(ers)10 b Fa(.)e(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)25 b Ft(23)0
+1952 y Fs(5)67 b(More)22 b(Details)13 b Fb(.)d(.)g(.)g(.)g(.)g(.)f(.)h
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)36
+b Fs(25)149 2029 y Ft(5.1)45 b(Errors)14 b(while)j(using)f(T)656
+2039 y(E)681 2029 y(Xdra)o(w)5 b Fa(.)i(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)20 b Ft(25)149 2092
+y(5.2)45 b(Extending)16 b(T)497 2101 y(E)523 2092 y(Xdra)o(w)9
+b Fa(.)e(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)24 b Ft(26)299 2154
+y(5.2.1)44 b(Scaling)15 b Fa(.)8 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)29 b Ft(26)299 2216 y(5.2.2)44 b(Resolution)13 b Fa(.)8
+b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 b Ft(27)299 2279 y(5.2.3)44
+b(T)l(ext)15 b(placemen)o(t)7 b Fa(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)22 b
+Ft(27)299 2341 y(5.2.4)44 b(The)15 b(in)o(termediate)h(P)o(ostScript)f
+(\014le)g Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 b Ft(28)149 2403
+y(5.3)45 b(Ho)o(w)15 b(T)382 2413 y(E)407 2403 y(Xdra)o(w)g(merges)f
+(graphics)i(and)g(text)d Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)29
+b Ft(28)0 2528 y Fs(App)r(endix)24 b(A)67 b(P)n(ostScript)24
+b(Commands)5 b Fb(.)10 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
+h(.)g(.)g(.)g(.)28 b Fs(31)p eop
+%%Page: -2 60
+-2 59 bop 0 -83 a Ft(ii)1744 b(T)1793 -73 y(E)1819 -83
+y(Xdra)o(w)0 17 y Fs(App)r(endix)24 b(B)67 b(T)460 30
+y(E)496 17 y(Xdra)n(w)22 b(T)-6 b(o)r(olb)r(o)n(x)19
+b Fb(.)9 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)f(.)41 b Fs(35)149 94 y Ft(B.1)k(Co)q(ordinate)16
+b(parsing)f Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 b Ft(35)149
+157 y(B.2)45 b(Real)17 b(arithmetic)7 b Fa(.)h(.)g(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)23 b Ft(36)149 219 y(B.3)45 b(Arro)o(w)15
+b(curv)o(e)7 b Fa(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)22 b Ft(36)0 344 y Fs(App)r(endix)i(C)67 b(Examples)13
+b Fb(.)e(.)f(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
+h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)36
+b Fs(39)149 421 y Ft(C.1)45 b(Blo)q(c)o(k)16 b(diagram)f(of)g(a)g
+(lattice)g(\014lter)10 b Fa(.)e(.)g(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)25 b Ft(39)149 484 y(C.2)45 b(Filter)16 b(resp)q(onse)g
+(graph)e Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 b Ft(42)149 546
+y(C.3)45 b(Geometric)15 b(construction)t Fa(.)8 b(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)19
+b Ft(44)0 670 y Fs(App)r(endix)24 b(D)67 b(Alphab)r(etic)24
+b(listing)g(of)e(commands)7 b Fb(.)j(.)f(.)h(.)g(.)g(.)g(.)30
+b Fs(47)0 811 y(Command)22 b(Index)10 b Fb(.)h(.)f(.)g(.)g(.)g(.)g(.)f
+(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)33
+b Fs(53)0 951 y(Concept)22 b(Index)11 b Fb(.)g(.)f(.)g(.)g(.)g(.)g(.)g
+(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
+g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)34
+b Fs(55)p eop
+%%Trailer
+end
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_1.html b/Master/texmf-dist/doc/support/texdraw/texdraw_1.html
deleted file mode 100644
index 0865cde28b5..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_1.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - 1. Introduction</TITLE>
-</HEAD>
-<BODY>
-Go to the first, previous, <A HREF="texdraw_2.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="SEC1" HREF="texdraw_toc.html#TOC1">1. Introduction</A></H1>
-
-<P>
-TeX is a powerful typesetting program which allows for complex text
-layouts but by itself lacks a general graphics capability. However,
-when coupled with an appropriate printer driver program, external
-graphics files can be inserted into the printed document. In this mode,
-TeX is instructed to leave space for a drawing. The drawing is
-inserted by the printer driver program. The TeXdraw macros described
-here generate the external graphics file from within TeX and generate
-the instructions to the the print driver program to position the
-graphics at the appropriate position on the page.
-
-
-<P>
-TeXdraw consists of a set of TeX macros that create line drawings
-and other figures. The drawing primitives include solid lines,
-patterned lines, Bezier curves, circles and arrows. Other commands
-allow for the filling of a region with a gray level. The drawing
-commands generate PostScript code. This limits TeXdraw to systems
-which use PostScript printers. TeXdraw also provides commands to
-position TeX text, including mathematics, on the drawing. The final
-drawing, with text and graphics, can be positioned on the page like any
-other TeX box.
-
-
-<P>
-<A NAME="IDX1"></A>
-<A NAME="IDX2"></A>
-<A NAME="IDX3"></A>
-The basic TeXdraw macros for TeX use the <CODE>\special</CODE> syntax
-recognized by the printer driver program <CODE>dvips</CODE>. However, when
-invoked as a LaTeX2e package, the TeXdraw macros can be used with
-any of the PostScript printer driver programs supported by the standard
-<CODE>graphics</CODE> package for LaTeX2e.
-
-
-<P>
-The basic TeXdraw macros provide only simple drawing commands.
-However, TeXdraw provides a drawing segment environment which allows
-parameter changes and coordinate scaling changes to be kept local to the
-drawing segment. This facility, together with TeX's macro
-capabilities allows one to modularize drawing units and extend
-TeXdraw by building more complex graphics entities from simpler
-elements.
-
-
-
-<UL>
-<LI><A HREF="texdraw_1.html#SEC2">Distribution</A>
-</UL>
-
-
-
-<H2><A NAME="SEC2" HREF="texdraw_toc.html#TOC2">1.1 Distribution information</A></H2>
-<P>
-<A NAME="IDX4"></A>
-
-
-<P>
-The TeXdraw routines are provided free of charge without warranty of
-any kind. Note that the TeXdraw routines are copyrighted. They may
-be distributed freely provided that the recipients also acquire the
-right to distribute them freely. The notices to this effect must be
-preserved when the source files are distributed.
-
-
-<P><HR><P>
-Go to the first, previous, <A HREF="texdraw_2.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_10.html b/Master/texmf-dist/doc/support/texdraw/texdraw_10.html
deleted file mode 100644
index faa705634dd..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_10.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - Command Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_9.html">previous</A>, <A HREF="texdraw_11.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="SEC40" HREF="texdraw_toc.html#TOC40">Command Index</A></H1>
-<P>
-Jump to:
-<A HREF="#findex_\">\</A>
--
-<A HREF="#findex_a">a</A>
--
-<A HREF="#findex_c">c</A>
--
-<A HREF="#findex_f">f</A>
--
-<A HREF="#findex_l">l</A>
--
-<A HREF="#findex_m">m</A>
--
-<A HREF="#findex_n">n</A>
--
-<A HREF="#findex_s">s</A>
-<P>
-<H2><A NAME="findex_\">\</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX63">\arc</A>
-<LI><A HREF="texdraw_2.html#IDX44">\arrowheadsize</A>
-<LI><A HREF="texdraw_2.html#IDX43">\arrowheadtype</A>
-<LI><A HREF="texdraw_2.html#IDX30">\avec</A>
-<LI><A HREF="texdraw_2.html#IDX13">\begin{texdraw}</A>
-<LI><A HREF="texdraw_3.html#IDX74">\bsegment</A>
-<LI><A HREF="texdraw_2.html#IDX11">\btexdraw</A>
-<LI><A HREF="texdraw_2.html#IDX15">\centertexdraw</A>
-<LI><A HREF="texdraw_2.html#IDX66">\clvec</A>
-<LI><A HREF="texdraw_7.html#IDX177">\cossin</A>
-<LI><A HREF="texdraw_7.html#IDX176">\currentpos</A>
-<LI><A HREF="texdraw_3.html#IDX94">\drawbb</A>
-<LI><A HREF="texdraw_2.html#IDX22">\drawdim</A>
-<LI><A HREF="texdraw_2.html#IDX14">\end{texdraw}</A>
-<LI><A HREF="texdraw_3.html#IDX75">\esegment</A>
-<LI><A HREF="texdraw_2.html#IDX12">\etexdraw</A>
-<LI><A HREF="texdraw_2.html#IDX16">\everytexdraw</A>
-<LI><A HREF="texdraw_2.html#IDX60">\fcir</A>
-<LI><A HREF="texdraw_2.html#IDX62">\fellip</A>
-<LI><A HREF="texdraw_7.html#IDX175">\getpos</A>
-<LI><A HREF="texdraw_2.html#IDX46">\htext</A>
-<LI><A HREF="texdraw_2.html#IDX71">\ifill</A>
-<LI><A HREF="texdraw_2.html#IDX59">\lcir</A>
-<LI><A HREF="texdraw_2.html#IDX61">\lellip</A>
-<LI><A HREF="texdraw_2.html#IDX70">\lfill</A>
-<LI><A HREF="texdraw_2.html#IDX41">\linewd</A>
-<LI><A HREF="texdraw_2.html#IDX29">\lvec</A>
-<LI><A HREF="texdraw_2.html#IDX28">\move</A>
-<LI><A HREF="texdraw_6.html#IDX164">\PSarc</A>
-<LI><A HREF="texdraw_6.html#IDX166">\PSarcn</A>
-<LI><A HREF="texdraw_6.html#IDX153">\PSclosepath</A>
-<LI><A HREF="texdraw_6.html#IDX155">\PSfill</A>
-<LI><A HREF="texdraw_6.html#IDX159">\PSlineto</A>
-<LI><A HREF="texdraw_6.html#IDX161">\PSmoveto</A>
-<LI><A HREF="texdraw_6.html#IDX151">\PSnewpath</A>
-<LI><A HREF="texdraw_6.html#IDX141">\PSsetlinecap</A>
-<LI><A HREF="texdraw_6.html#IDX143">\PSsetlinejoin</A>
-<LI><A HREF="texdraw_6.html#IDX149">\PSstroke</A>
-<LI><A HREF="texdraw_2.html#IDX34">\ravec</A>
-<LI><A HREF="texdraw_7.html#IDX179">\realadd</A>
-<LI><A HREF="texdraw_7.html#IDX181">\realdiv</A>
-<LI><A HREF="texdraw_7.html#IDX180">\realmult</A>
-<LI><A HREF="texdraw_3.html#IDX92">\relsegscale</A>
-<LI><A HREF="texdraw_3.html#IDX90">\relunitscale</A>
-<LI><A HREF="texdraw_2.html#IDX33">\rlvec</A>
-<LI><A HREF="texdraw_2.html#IDX32">\rmove</A>
-<LI><A HREF="texdraw_2.html#IDX53">\rtext</A>
-<LI><A HREF="texdraw_3.html#IDX83">\savecurrpos</A>
-<LI><A HREF="texdraw_3.html#IDX84">\savepos</A>
-<LI><A HREF="texdraw_2.html#IDX42">\setgray</A>
-<LI><A HREF="texdraw_3.html#IDX91">\setsegscale</A>
-<LI><A HREF="texdraw_3.html#IDX89">\setunitscale</A>
-<LI><A HREF="texdraw_2.html#IDX54">\textref</A>
-<LI><A HREF="texdraw_7.html#IDX178">\vectlen</A>
-<LI><A HREF="texdraw_2.html#IDX50">\vtext</A>
-<LI><A HREF="texdraw_6.html#IDX167">\writeps</A>
-</DIR>
-<H2><A NAME="findex_a">a</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX163">arc</A>
-<LI><A HREF="texdraw_6.html#IDX165">arcn</A>
-</DIR>
-<H2><A NAME="findex_c">c</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX152">closepath</A>
-</DIR>
-<H2><A NAME="findex_f">f</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX154">fill</A>
-</DIR>
-<H2><A NAME="findex_l">l</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX158">lineto</A>
-</DIR>
-<H2><A NAME="findex_m">m</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX160">moveto</A>
-</DIR>
-<H2><A NAME="findex_n">n</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX150">newpath</A>
-</DIR>
-<H2><A NAME="findex_s">s</A></H2>
-<DIR>
-<LI><A HREF="texdraw_6.html#IDX140">setlinecap</A>
-<LI><A HREF="texdraw_6.html#IDX142">setlinejoin</A>
-<LI><A HREF="texdraw_6.html#IDX148">stroke</A>
-</DIR>
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_9.html">previous</A>, <A HREF="texdraw_11.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_11.html b/Master/texmf-dist/doc/support/texdraw/texdraw_11.html
deleted file mode 100644
index cafff98a536..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_11.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - Concept Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_10.html">previous</A>, next, last section, <A HREF="texdraw_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC41" HREF="texdraw_toc.html#TOC41">Concept Index</A></H1>
-<P>
-Jump to:
-<A HREF="#cindex_a">a</A>
--
-<A HREF="#cindex_b">b</A>
--
-<A HREF="#cindex_c">c</A>
--
-<A HREF="#cindex_d">d</A>
--
-<A HREF="#cindex_e">e</A>
--
-<A HREF="#cindex_f">f</A>
--
-<A HREF="#cindex_g">g</A>
--
-<A HREF="#cindex_i">i</A>
--
-<A HREF="#cindex_l">l</A>
--
-<A HREF="#cindex_m">m</A>
--
-<A HREF="#cindex_o">o</A>
--
-<A HREF="#cindex_p">p</A>
--
-<A HREF="#cindex_r">r</A>
--
-<A HREF="#cindex_s">s</A>
--
-<A HREF="#cindex_t">t</A>
--
-<A HREF="#cindex_u">u</A>
--
-<A HREF="#cindex_v">v</A>
--
-<A HREF="#cindex_w">w</A>
--
-<A HREF="#cindex_x">x</A>
-<P>
-<H2><A NAME="cindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX5">accessing TeXdraw</A>, <A HREF="texdraw_4.html#IDX97">accessing TeXdraw</A>
-<LI><A HREF="texdraw_7.html#IDX170">angle of a vector</A>
-<LI><A HREF="texdraw_2.html#IDX58">arcs</A>, <A HREF="texdraw_6.html#IDX162">arcs</A>
-<LI><A HREF="texdraw_2.html#IDX40">arrowhead parameters</A>
-<LI><A HREF="texdraw_2.html#IDX25">arrows</A>
-</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX64">Bezier curves</A>
-</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX55">circles</A>
-<LI><A HREF="texdraw_2.html#IDX17">command syntax</A>
-<LI><A HREF="texdraw_7.html#IDX168">coordinate parsing</A>
-<LI><A HREF="texdraw_2.html#IDX20">coordinate specification</A>
-<LI><A HREF="texdraw_3.html#IDX81">coordinate, symbolic</A>
-<LI><A HREF="texdraw_2.html#IDX19">coordinates</A>
-<LI><A HREF="texdraw_7.html#IDX172">cosine of a vector direction</A>
-<LI><A HREF="texdraw_2.html#IDX27">current position</A>, <A HREF="texdraw_3.html#IDX95">current position</A>, <A HREF="texdraw_7.html#IDX169">current position</A>
-<LI><A HREF="texdraw_6.html#IDX147">current position in PostScript</A>
-<LI><A HREF="texdraw_2.html#IDX65">curves</A>
-</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX37">dashed lines</A>
-<LI><A HREF="texdraw_7.html#IDX171">direction of a line</A>
-<LI><A HREF="texdraw_1.html#IDX4">distribution</A>
-<LI><A HREF="texdraw_2.html#IDX38">dotted lines</A>
-<LI><A HREF="texdraw_3.html#IDX73">drawing segments</A>
-<LI><A HREF="texdraw_4.html#IDX106"><CODE>dvi2ps</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX107"><CODE>dvialw</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX108"><CODE>dvilaser</CODE> printer driver</A>
-<LI><A HREF="texdraw_1.html#IDX1"><CODE>dvips</CODE> printer driver</A>, <A HREF="texdraw_4.html#IDX104"><CODE>dvips</CODE> printer driver</A>, <A HREF="texdraw_5.html#IDX134"><CODE>dvips</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX109"><CODE>dvipsone</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX111"><CODE>dvitops</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX110"><CODE>dviwindo</CODE> printer driver</A>
-</DIR>
-<H2><A NAME="cindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX57">ellipses</A>
-<LI><A HREF="texdraw_5.html#IDX126">Encapsulated PostScript File</A>
-<LI><A HREF="texdraw_5.html#IDX120">errors while using TeXdraw</A>
-<LI><A HREF="texdraw_7.html#IDX182">example, arrow curve</A>
-<LI><A HREF="texdraw_8.html#IDX183">example, block diagram</A>
-<LI><A HREF="texdraw_8.html#IDX185">example, circle and ellipse</A>
-<LI><A HREF="texdraw_8.html#IDX184">example, graph</A>
-</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="texdraw_3.html#IDX76">fill operations, interaction with drawing segments</A>
-<LI><A HREF="texdraw_2.html#IDX56">filled circles</A>
-<LI><A HREF="texdraw_2.html#IDX67">filling regions</A>, <A HREF="texdraw_6.html#IDX145">filling regions</A>
-</DIR>
-<H2><A NAME="cindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="texdraw_1.html#IDX3"><CODE>graphics</CODE> package</A>, <A HREF="texdraw_2.html#IDX10"><CODE>graphics</CODE> package</A>, <A HREF="texdraw_4.html#IDX103"><CODE>graphics</CODE> package</A>, <A HREF="texdraw_5.html#IDX131"><CODE>graphics</CODE> package</A>
-<LI><A HREF="texdraw_5.html#IDX127">graphics placement</A>
-<LI><A HREF="texdraw_2.html#IDX39">gray levels for lines</A>
-</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="texdraw_5.html#IDX121">implementation</A>
-<LI><A HREF="texdraw_3.html#IDX96">initial current position</A>
-<LI><A HREF="texdraw_2.html#IDX6">invoking TeXdraw</A>, <A HREF="texdraw_4.html#IDX98">invoking TeXdraw</A>
-</DIR>
-<H2><A NAME="cindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="texdraw_1.html#IDX2">LaTeX</A>, <A HREF="texdraw_2.html#IDX8">LaTeX</A>, <A HREF="texdraw_4.html#IDX99">LaTeX</A>
-<LI><A HREF="texdraw_7.html#IDX174">length of a vector</A>
-<LI><A HREF="texdraw_6.html#IDX138">line cap</A>
-<LI><A HREF="texdraw_6.html#IDX139">line join</A>
-<LI><A HREF="texdraw_2.html#IDX35">line width</A>
-<LI><A HREF="texdraw_2.html#IDX23">lines</A>, <A HREF="texdraw_6.html#IDX156">lines</A>
-<LI><A HREF="texdraw_9.html#IDX186">listing of commands</A>
-</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX26">moves</A>, <A HREF="texdraw_6.html#IDX157">moves</A>
-</DIR>
-<H2><A NAME="cindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="texdraw_4.html#IDX112"><CODE>oztex</CODE> printer driver</A>
-</DIR>
-<H2><A NAME="cindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX68">painting regions</A>
-<LI><A HREF="texdraw_2.html#IDX69">paths</A>, <A HREF="texdraw_3.html#IDX77">paths</A>, <A HREF="texdraw_6.html#IDX146">paths</A>
-<LI><A HREF="texdraw_4.html#IDX115"><CODE>pctexps</CODE> printer driver</A>
-<LI><A HREF="texdraw_4.html#IDX116"><CODE>pctexwin</CODE> printer driver</A>
-<LI><A HREF="texdraw_5.html#IDX129">placement of graphics and text</A>
-<LI><A HREF="texdraw_2.html#IDX7">plain TeX</A>
-<LI><A HREF="texdraw_2.html#IDX21">position specification</A>
-<LI><A HREF="texdraw_3.html#IDX80">positions, saving</A>
-<LI><A HREF="texdraw_6.html#IDX137">PostScript commands</A>
-<LI><A HREF="texdraw_4.html#IDX102">PostScript printer drivers</A>, <A HREF="texdraw_5.html#IDX132">PostScript printer drivers</A>
-<LI><A HREF="texdraw_4.html#IDX101">printer drivers</A>, <A HREF="texdraw_5.html#IDX133">printer drivers</A>
-<LI><A HREF="texdraw_5.html#IDX119">problems while using TeXdraw</A>
-<LI><A HREF="texdraw_4.html#IDX113"><CODE>psprint</CODE> driver</A>
-</DIR>
-<H2><A NAME="cindex_r">r</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX31">relative positioning</A>
-<LI><A HREF="texdraw_3.html#IDX86">relative scaling</A>
-<LI><A HREF="texdraw_5.html#IDX123">resolution</A>
-<LI><A HREF="texdraw_2.html#IDX48">rotated text</A>, <A HREF="texdraw_2.html#IDX51">rotated text</A>, <A HREF="texdraw_4.html#IDX117">rotated text</A>, <A HREF="texdraw_5.html#IDX124">rotated text</A>, <A HREF="texdraw_5.html#IDX135">rotated text</A>
-</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="texdraw_3.html#IDX79">saving positions</A>
-<LI><A HREF="texdraw_5.html#IDX122">scaling</A>
-<LI><A HREF="texdraw_3.html#IDX85">scaling coordinates</A>
-<LI><A HREF="texdraw_3.html#IDX87">segment scale</A>
-<LI><A HREF="texdraw_3.html#IDX72">segments</A>
-<LI><A HREF="texdraw_7.html#IDX173">sine of a vector direction</A>
-<LI><A HREF="texdraw_3.html#IDX93">size of the drawing</A>
-<LI><A HREF="texdraw_3.html#IDX78">stroking lines</A>, <A HREF="texdraw_6.html#IDX144">stroking lines</A>
-<LI><A HREF="texdraw_3.html#IDX82">symbolic coordinate</A>
-<LI><A HREF="texdraw_2.html#IDX18">syntax of commands</A>
-</DIR>
-<H2><A NAME="cindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX9"><CODE>texdraw</CODE> package</A>, <A HREF="texdraw_4.html#IDX100"><CODE>texdraw</CODE> package</A>, <A HREF="texdraw_5.html#IDX130"><CODE>texdraw</CODE> package</A>
-<LI><A HREF="texdraw_2.html#IDX45">text commands</A>
-<LI><A HREF="texdraw_5.html#IDX128">text placement</A>
-<LI><A HREF="texdraw_2.html#IDX49">text rotation</A>, <A HREF="texdraw_2.html#IDX52">text rotation</A>, <A HREF="texdraw_4.html#IDX118">text rotation</A>, <A HREF="texdraw_5.html#IDX125">text rotation</A>, <A HREF="texdraw_5.html#IDX136">text rotation</A>
-<LI><A HREF="texdraw_4.html#IDX114"><CODE>textures</CODE> printer driver</A>
-</DIR>
-<H2><A NAME="cindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="texdraw_3.html#IDX88">unit scale</A>
-</DIR>
-<H2><A NAME="cindex_v">v</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX24">vectors</A>
-<LI><A HREF="texdraw_2.html#IDX47">vertical text</A>
-</DIR>
-<H2><A NAME="cindex_w">w</A></H2>
-<DIR>
-<LI><A HREF="texdraw_2.html#IDX36">width of lines</A>
-</DIR>
-<H2><A NAME="cindex_x">x</A></H2>
-<DIR>
-<LI><A HREF="texdraw_4.html#IDX105"><CODE>xdvi</CODE> driver</A>
-</DIR>
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_10.html">previous</A>, next, last section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
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>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_3.html b/Master/texmf-dist/doc/support/texdraw/texdraw_3.html
deleted file mode 100644
index 52193c720b2..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_3.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - 3. Drawing Segments and Scaling</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_2.html">previous</A>, <A HREF="texdraw_4.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="SEC13" HREF="texdraw_toc.html#TOC13">3. Drawing Segments and Scaling</A></H1>
-
-<P>
-TeXdraw provides individually scaled segments which can be used to
-create relocatable drawing modules.
-
-
-
-<UL>
-<LI><A HREF="texdraw_3.html#SEC14">Drawing segments</A>
-<LI><A HREF="texdraw_3.html#SEC15">Drawing paths</A>
-<LI><A HREF="texdraw_3.html#SEC16">Saving positions</A>
-<LI><A HREF="texdraw_3.html#SEC17">Scaling coordinates</A>
-<LI><A HREF="texdraw_3.html#SEC18">Drawing size</A>
-<LI><A HREF="texdraw_3.html#SEC19">Initial current position</A>
-</UL>
-
-
-
-<H2><A NAME="SEC14" HREF="texdraw_toc.html#TOC14">3.1 Drawing segments</A></H2>
-<P>
-<A NAME="IDX72"></A>
-<A NAME="IDX73"></A>
-
-
-<P>
-A TeXdraw drawing segment allows for local modifications of
-parameters and relative positioning. A TeXdraw segment is delimited
-by a <CODE>\bsegment</CODE> command and an <CODE>\esegment</CODE> command. Inside
-the segment, the initial current position is <CODE>(0 0)</CODE>. Any changes
-to parameters such as the gray level and the line width, remain local to
-the segment. Segments are implemented in TeX using a
-<CODE>\begingroup</CODE> and <CODE>\endgroup</CODE>. Segments can be nested.
-
-
-<DL COMPACT>
-
-<DT><CODE>\bsegment</CODE>
-<DD>
-<A NAME="IDX74"></A>
-
-Start a drawing segment. The coordinate system is shifted such that the
-current position corresponds to the coordinate <CODE>(0 0)</CODE>. Changes to
-scaling, position and line parameters stay local to the drawing segment.
-<A NAME="IDX75"></A>
-<DT><CODE>\esegment</CODE>
-<DD>
-End a drawing segment. The current position in effect before the
-corresponding <CODE>\bsegment</CODE> command is restored. The scaling and
-line parameter values revert to those in effect before the corresponding
-<CODE>\bsegment</CODE> command was invoked.
-</DL>
-
-
-
-<H2><A NAME="SEC15" HREF="texdraw_toc.html#TOC15">3.2 Drawing paths</A></H2>
-<P>
-<A NAME="IDX76"></A>
-<A NAME="IDX77"></A>
-<A NAME="IDX78"></A>
-Certain subtle interactions occur between drawing segments and fill
-operations. In PostScript, lines are drawn by first defining a path,
-then later stroking the path to draw the line. In TeXdraw, this
-stroking occurs when the line is terminated, say by a <CODE>\move</CODE>
-command. PostScript paths are interrupted by, but continue after a
-drawing segment. This means that a path started before a segment may
-not be stroked (drawn) until after the segment ends. Consider the
-following example.
-
-<PRE>
-\move (0 0)
-\lvec (1 1)
-\bsegment
- \move (-0.25 -0.25)
- \fcir f:0.8 r:0.5
-\esegment
-\move (0 0)
-</PRE>
-
-<P>
-A PostScript path is started at <CODE>(0 0)</CODE> and continues with a line
-to <CODE>(1 1)</CODE>. This path is interrupted by the segment. The filled
-circle is drawn next. After the segment, the path continues and is not
-stroked until the <CODE>\move (0 0)</CODE> command after the end of the
-segment. This means that the line appears on top of the filled region.
-
-
-<P>
-If the fill operation is to cover the line, the path must be stroked
-before the fill operation. From TeXdraw, the move commands
-<CODE>\move</CODE> and <CODE>\rmove</CODE>, and the end TeXdraw command
-<CODE>\etexdraw</CODE> terminate a path and cause it to be stroked. Within a
-segment, the end segment command <CODE>\esegment</CODE> also terminates and
-strokes a path. In the example above, the line can be stroked by
-inserting a move command (such as a <CODE>\rmove (0 0)</CODE> which does not
-affect the position), before the start of the segment.
-
-
-
-
-<H2><A NAME="SEC16" HREF="texdraw_toc.html#TOC16">3.3 Saving positions</A></H2>
-<P>
-<A NAME="IDX79"></A>
-<A NAME="IDX80"></A>
-<A NAME="IDX81"></A>
-<A NAME="IDX82"></A>
-
-
-<P>
-The <CODE>\savecurrpos</CODE> command saves the current position. The saved
-position is an absolute position, not one relative to a segment. The
-position saving mechanism is global; the position can be saved within a
-nested segment and then used outside of the segment. The <VAR>x</VAR> and
-<VAR>y</VAR> coordinates of the position are saved separately as named
-coordinates. The names are of the form <CODE>*<VAR>name</VAR></CODE>, with the
-leading <CODE>*</CODE> being obligatory. A companion command,
-<CODE>\savepos</CODE>, saves a given coordinate (relative to the current
-segment) as an absolute symbolic position.
-
-
-<DL COMPACT>
-
-<DT><CODE>\savecurrpos (*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>
-<DD>
-<A NAME="IDX83"></A>
-
-Save the current position as the absolute position referenced by
-<CODE>(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>.
-<A NAME="IDX84"></A>
-<DT><CODE>\savepos (<VAR>x</VAR> <VAR>y</VAR>)(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>
-<DD>
-Save the coordinate position <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE> as the absolute
-position referenced by <CODE>(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>. The coordinate
-<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE> is interpreted in the normal fashion as a
-coordinate relative to the current segment, using the current scaling
-factors and drawing unit.
-</DL>
-
-<P>
-The symbolic names used to specify a saved position can consist of any
-characters that are not special to TeX, but must start with a
-<CODE>*</CODE> character. The symbolic names can be used as the <VAR>x</VAR>
-and/or <VAR>y</VAR> coordinate in any command that needs a coordinate.
-Symbolic coordinates are not normally used with relative motion commands
-such as <CODE>\rlvec</CODE> or <CODE>\rmove</CODE>. If used with relative motion,
-the corresponding displacement is equal to the symbolic coordinate
-value.
-
-
-<P>
-On exit from a segment, the position and graphics state on entry is
-restored. Any changes to line types, scaling and position are
-discarded. However, it is sometimes useful alter the position on exit
-from a segment. The <CODE>\savepos</CODE> command allows for the saving of a
-position within the segment. This position can be restored after the
-<CODE>\esegment</CODE> with a <CODE>\move</CODE> command using the saved symbolic
-position. This approach can be used to build modules which operate in a
-manner analogous to the basic relative motion line vector commands.
-
-
-<P>
-The following example defines a macro which draws a box 0.75 inches wide
-by 0.5 inches high containing centered text. On leaving the macro the
-position will be set at a point on the righthand side of the box.
-
-<PRE>
-\def\tbox #1{\bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-</PRE>
-
-<P>
-With this definition, we can treat <CODE>\tbox</CODE> in the same way as the
-basic vector commands, stringing them together to form a block diagram
-as in this example.
-
-<PRE>
-\centertexdraw{
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-}
-</PRE>
-
-
-
-<H2><A NAME="SEC17" HREF="texdraw_toc.html#TOC17">3.4 Scaling coordinates</A></H2>
-<P>
-<A NAME="IDX85"></A>
-<A NAME="IDX86"></A>
-<A NAME="IDX87"></A>
-<A NAME="IDX88"></A>
-
-
-<P>
-There are two scale factors available, the unit scale factor and the
-segment scale factor. The overall scale factor is the product of these
-two. There are absolute and relative versions of commands to change
-these scale factors.
-
-
-<P>
-The unit scale factor is normally used to affect global scale changes.
-Changes to the unit scale factor remains local to a segment, but
-propagate to inferior segments. The default value is unity.
-
-
-<P>
-The segment scale factor is used for local scale changes. It remains
-local to a segment. The segment scale factor is reset to unity on entry
-into each segment. This means that changes to the segment scale factor
-do not propagate to inferior segments.
-
-
-<DL COMPACT>
-
-<DT><CODE>\setunitscale <VAR>scale</VAR></CODE>
-<DD>
-<A NAME="IDX89"></A>
-
-Set the unit scaling to <VAR>scale</VAR>. The argument <VAR>scale</VAR> is a real
-number which is used to scale coordinate values. The overall scaling
-factor is the product of the unit scale factor and the segment scale
-factor.
-<A NAME="IDX90"></A>
-<DT><CODE>\relunitscale <VAR>value</VAR></CODE>
-<DD>
-Adjust the unit scale factor by multiplying by <VAR>value</VAR>. This has
-the effect of multiplying the overall scale factor by the same factor.
-The overall scaling factor is the product of the unit scale factor and
-the segment scale factor.
-<A NAME="IDX91"></A>
-<DT><CODE>\setsegscale <VAR>scale</VAR></CODE>
-<DD>
-Set the segment scale factor. The argument <VAR>scale</VAR> is a real number
-which is used to scale coordinate values. The overall scale factor is
-the product of the unit scale factor and the segment scale factor.
-<A NAME="IDX92"></A>
-<DT><CODE>\relsegscale <VAR>value</VAR></CODE>
-<DD>
-Adjust the segment scale factor by multiplying by <VAR>value</VAR>. This has
-the effect of multiplying the current overall scale factor by the same
-factor. The overall scaling factor is the product of the unit scale
-factor and the segment scale factor.
-</DL>
-
-<P>
-In addition to the unit scale factor and the segment scale factor, the
-scaling can be controlled by the choice of drawing units with the
-command <CODE>\drawdim</CODE> (see section <A HREF="texdraw_2.html#SEC7">2.4 Coordinate specification</A>).
-
-
-<DL COMPACT>
-
-<DT><CODE>\drawdim cm \setunitscale 2.54</CODE>
-<DD>
-Set the units to centimetres scaled by 2.54. Together these commands
-are effectively the same as <CODE>\drawdim in</CODE>.
-</DL>
-
-<P>
-The segment scale can be used to allow scale changes in segments so that
-values are in more convenient units. For example suppose dimensions in
-a segment are multiples of one third of an inch. The segment scale can
-be set once to make 1 drawing unit equal 0.3333 inches. From that point
-on, coordinates can be specified with integer values.
-
-
-<P>
-The following example defines a macro to draw a rectangular box which is
-twice as wide as it is high. The width is specified as an argument.
-
-<PRE>
-\def\mybox #1{\bsegment
- \setsegscale #1
- \lvec (0 +0.25) \lvec (1 +0.25) \lvec (1 -0.25)
- \lvec (0 -0.25) \lvec (0 0)
- \esegment}
-</PRE>
-
-
-
-<H2><A NAME="SEC18" HREF="texdraw_toc.html#TOC18">3.5 Drawing size</A></H2>
-<P>
-<A NAME="IDX93"></A>
-
-
-<P>
-The effective size of the drawing is determined by the maximum
-excursions of the coordinates supplied to TeXdraw commands. The
-minimum and maximum scaled <VAR>x</VAR> and <VAR>y</VAR> coordinates are tallied.
-Note that <CODE>\move</CODE> commands contribute to the determination of the
-calculated size of the drawing, even though they do not generate visible
-lines. The circle and ellipse commands add a compensation for the radii
-of circles and ellipses. The final TeXdraw drawing is placed in a
-TeX box with lower lefthand corner corresponding to
-<CODE>(</CODE><VAR>x</VAR>-min <VAR>y</VAR>-min<CODE>)</CODE> and upper righthand corner at
-<CODE>(</CODE><VAR>x</VAR>-max <VAR>y</VAR>-max<CODE>)</CODE>.
-
-
-<P>
-Text generated by <CODE>\htext</CODE>, <CODE>\vtext</CODE> or <CODE>\rtext</CODE> can
-spill outside the box as determined above. Only the text reference
-point is guaranteed to be in the drawing box. Arcs can also spill
-outside the drawing box. Note also that the widths of lines, and the
-sizes of arrowheads do not affect the size of the drawing. The
-calculated size of the drawing will never be larger than the actual size
-of the drawing. In extreme cases in which text or lines extend far
-outside the drawing, extra <CODE>\move</CODE> commands should be used to
-establish the size of the drawing so that the TeXdraw box includes
-all of the drawing.
-
-
-<P>
-TeXdraw provides the <CODE>\drawbb</CODE> command to draw a box which
-indicates the effective size of the drawing. Whenever <CODE>\drawbb</CODE> is
-invoked, a ruled box is drawn around the drawing as it has been sized up
-to that point. Normally <CODE>\drawbb</CODE> is invoked just before the end
-of a drawing to indicate the effective size of the final drawing.
-
-
-<DL COMPACT>
-
-<DT><CODE>\drawbb</CODE>
-<DD>
-<A NAME="IDX94"></A>
-
-Draw a ruled box around the effective size of a drawing produced by
-TeXdraw commands.
-</DL>
-
-
-
-<H2><A NAME="SEC19" HREF="texdraw_toc.html#TOC19">3.6 Initial current position</A></H2>
-<P>
-<A NAME="IDX95"></A>
-<A NAME="IDX96"></A>
-
-
-<P>
-The first operation in a drawing should be a move to establish the
-current position. The current position can be established explicitly
-through a <CODE>\move</CODE> command or a text positioning command such as
-<CODE>\htext</CODE> with a coordinate. However, if an attempt is made to use
-a drawing command which needs a current position and none has been
-established, TeXdraw implicitly sets the initial current position to
-<CODE>(0 0)</CODE>. The size of the TeXdraw figure is normally determined
-from the sequence of coordinates specified, but will include the
-implicit initial position in case another initial position has not been
-explicitly specified.
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_2.html">previous</A>, <A HREF="texdraw_4.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_4.html b/Master/texmf-dist/doc/support/texdraw/texdraw_4.html
deleted file mode 100644
index d766d721409..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_4.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - 4. Using TeXdraw with LaTeX</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_3.html">previous</A>, <A HREF="texdraw_5.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="SEC20" HREF="texdraw_toc.html#TOC20">4. Using TeXdraw with LaTeX</A></H1>
-<P>
-<A NAME="IDX97"></A>
-<A NAME="IDX98"></A>
-<A NAME="IDX99"></A>
-<A NAME="IDX100"></A>
-
-
-<P>
-The LaTeX typesetting system uses a structured approach to declaring
-typesetting environments. For LaTeX2e, the <CODE>texdraw</CODE> package
-defines the <CODE>texdraw</CODE> environment. The TeXdraw environment is
-started with a <CODE>\begin{texdraw}</CODE> command and terminated with an
-<CODE>\end{texdraw}</CODE> command. All of the basic TeXdraw commands
-can be used within the <CODE>texdraw</CODE> environment.
-
-
-<P>
-As an example, a LaTeX2e variant of an earlier example can be
-constructed as follows.
-
-<PRE>
-\documentclass{article}
-\usepackage{texdraw}
- ...
-\begin{document}
- ...
-\newcommand{\tbox}[1]{%
- \bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\begin{center}
-\begin{texdraw}
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-\end{texdraw}
-\end{center}
- ...
-\end{document}
-</PRE>
-
-<P>
-This example illustrates the use of the LaTeX command
-<CODE>\newcommand</CODE> as an alternative to the plain TeX command
-<CODE>\def</CODE>. Instead of the basic TeXdraw command
-<CODE>\centertexdraw</CODE>, a nested combination of the LaTeX centering
-environment and the TeXdraw environment is used.
-
-
-
-<UL>
-<LI><A HREF="texdraw_4.html#SEC21">PostScript printer drivers</A>
-</UL>
-
-
-
-<H2><A NAME="SEC21" HREF="texdraw_toc.html#TOC21">4.1 PostScript printer drivers</A></H2>
-<P>
-<A NAME="IDX101"></A>
-<A NAME="IDX102"></A>
-
-
-<P>
-<A NAME="IDX103"></A>
-The <CODE>texdraw</CODE> package uses the printer driver interface provided by
-the standard LaTeX2e <CODE>graphics</CODE> package. Any options to the
-<CODE>texdraw</CODE> package are passed to the <CODE>graphics</CODE> package.
-Specifically, the name of the PostScript driver to be used can be
-specified as an option to the <CODE>texdraw</CODE> package. With no explicit
-printer driver option, the default printer driver associated with the
-<CODE>graphics</CODE> package is used.
-
-
-<P>
-<A NAME="IDX104"></A>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
-<A NAME="IDX107"></A>
-<A NAME="IDX108"></A>
-<A NAME="IDX109"></A>
-<A NAME="IDX110"></A>
-<A NAME="IDX111"></A>
-<A NAME="IDX112"></A>
-<A NAME="IDX113"></A>
-<A NAME="IDX114"></A>
-<A NAME="IDX115"></A>
-<A NAME="IDX116"></A>
-<A NAME="IDX117"></A>
-<A NAME="IDX118"></A>
-The <CODE>texdraw</CODE> package can be used with any of the printer drivers
-supported by the <CODE>graphics</CODE> package that allow for the importation
-of PostScript graphics files, viz., <CODE>dvips</CODE>, <CODE>xdvi</CODE>,
-<CODE>dvi2ps</CODE>, <CODE>dvialw</CODE>, <CODE>dvilaser</CODE>, <CODE>dvipsone</CODE>,
-<CODE>dviwindo</CODE>, <CODE>dvitops</CODE>, <CODE>oztex</CODE>, <CODE>psprint</CODE>,
-<CODE>textures</CODE>, <CODE>pctexps</CODE>, and <CODE>pctexwin</CODE>. Not all of these
-drivers support the text rotation needed for the TeXdraw commands
-<CODE>\vtext</CODE> and <CODE>\rtext</CODE>. Of the drivers listed above, only the
-following support support text rotation: <CODE>dvips</CODE>, <CODE>xdvi</CODE>,
-<CODE>dvi2ps</CODE>, <CODE>dvitops</CODE>, <CODE>textures</CODE>, and <CODE>pctexps</CODE>.
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_3.html">previous</A>, <A HREF="texdraw_5.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_5.html b/Master/texmf-dist/doc/support/texdraw/texdraw_5.html
deleted file mode 100644
index c880d21341d..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_5.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - 5. More Details</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_4.html">previous</A>, <A HREF="texdraw_6.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="SEC22" HREF="texdraw_toc.html#TOC22">5. More Details</A></H1>
-
-<P>
-The first part of this chapter offers some suggestions for strategies to
-isolate errors in TeX and TeXdraw input. The second part of this
-chapter discusses implementational issues. An awareness of these issues
-is useful if TeXdraw is to be extended.
-
-
-
-<UL>
-<LI><A HREF="texdraw_5.html#SEC23">Errors while using TeXdraw</A>
-<LI><A HREF="texdraw_5.html#SEC24">Extending TeXdraw</A>
-<LI><A HREF="texdraw_5.html#SEC29">How TeXdraw merges graphics and text</A>
-</UL>
-
-
-
-<H2><A NAME="SEC23" HREF="texdraw_toc.html#TOC23">5.1 Errors while using TeXdraw</A></H2>
-<P>
-<A NAME="IDX119"></A>
-<A NAME="IDX120"></A>
-
-
-<P>
-TeX input is notoriously difficult to debug. If TeX reports
-errors, so much the better. If the cause is not immediately obvious,
-consider using a binary search strategy, removing sections of code with
-the premature insertion of the <CODE>\bye</CODE> (or <CODE>\end{document}</CODE>
-for LaTeX) command (with the appropriate closing of any open groups
-and the like). Other strategies include the insertion of
-<CODE>\message{I am here}</CODE> at appropriate places. Try using
-<CODE>\tracingmacros=1</CODE>. Many problems turn out to be due to an
-incorrect number of macro arguments or incorrectly delimited macro
-arguments. The <CODE>\tracingmacros=1</CODE> option writes the macro
-arguments and macro expansions to the TeX log file.
-
-
-<P>
-Certain errors may not manifest themselves until well after the
-offending command. For instance, if a closing parenthesis is missing
-from a TeXdraw coordinate, TeX continues searching for the
-parenthesis. If one is found, perhaps many lines later, the TeXdraw
-error message <CODE>invalid coordinate</CODE> will be printed at this later
-point.
-
-
-<P>
-All input in the TeXdraw environment should be intended for
-interpretation by TeXdraw commands. TeXdraw places text inside a
-zero size box (the text itself extends outside the box). Extraneous
-input manifests itself as a non-zero size TeXdraw text box. This
-causes the TeXdraw text and the PostScript graphics to be displaced
-from one another. An error message is issued if a non-zero width
-TeXdraw text box is detected. If this error message appears, look
-for unintended character sequences amongst the commands to TeXdraw.
-
-
-<P>
-Several TeXdraw commands pass their arguments "raw" to the
-PostScript file. That means that invalid arguments can generate
-PostScript errors when the document is printed. For instance the
-argument of the <CODE>\setgray</CODE> command is passed straight through to
-the PostScript file. If this argument is non-numeric, a PostScript
-error results. Not all PostScript printers report errors back to the
-user. The print may just stop prematurely. One approach to debugging
-is to use a PostScript previewer on a workstation. That way, one can
-determine at which point in the drawing the PostScript error occurs.
-
-
-
-
-<H2><A NAME="SEC24" HREF="texdraw_toc.html#TOC24">5.2 Extending TeXdraw</A></H2>
-<P>
-<A NAME="IDX121"></A>
-
-
-<P>
-TeXdraw is implemented using a combination of TeX commands and
-PostScript code. This section discusses some of the implementational
-issues as they relate to extending TeXdraw.
-
-
-<P>
-TeXdraw as implemented, offers a basic set of drawing features.
-These are adequate for certain tasks such as producing block diagrams.
-There are different approaches to extending TeXdraw to include other
-functions. In some cases, the desired functionality can be achieved by
-writing a TeX macro which builds on top of the existing TeXdraw
-commands. As these extensions become more complex, the limitations of
-TeX for computations become increasingly evident. In other cases,
-access to different features of PostScript is desired. The appropriate
-approach would be to write new PostScript procedures which can be
-accessed by TeX macros.
-
-
-<P>
-Included with TeXdraw is a set of macros for directly accessing
-PostScript functions. These are described in an appendix
-(see section <A HREF="texdraw_6.html#SEC30">A. PostScript Commands</A>).
-
-
-<P>
-TeXdraw also comes with a toolbox of routines for handling much of
-the user interface, converting between different coordinate
-representations and the like. The macros for coordinate decoding and
-for computations involving coordinates are described in an appendix
-(see section <A HREF="texdraw_7.html#SEC31">B. TeXdraw Toolbox</A>).
-
-
-
-<UL>
-<LI><A HREF="texdraw_5.html#SEC25">Scaling</A>
-<LI><A HREF="texdraw_5.html#SEC26">Resolution</A>
-<LI><A HREF="texdraw_5.html#SEC27">Text placement</A>
-<LI><A HREF="texdraw_5.html#SEC28">Intermediate PostScript file</A>
-</UL>
-
-
-
-<H3><A NAME="SEC25" HREF="texdraw_toc.html#TOC25">5.2.1 Scaling</A></H3>
-<P>
-<A NAME="IDX122"></A>
-
-
-<P>
-The scaling commands provided in TeXdraw are designed to affect only
-the coordinate values specified in commands. For instance, changing the
-<CODE>\setunitscale</CODE> value changes the interpretation of the coordinate
-in an <CODE>\avec (<VAR>x</VAR> <VAR>y</VAR>)</CODE> command, but does not change the
-line width or arrowhead sizes in effect. None of the TeXdraw scaling
-commands affect the size of TeX text produced by, for instance, the
-<CODE>\htext</CODE> command. Scale changes will however affect the
-positioning of text for subsequent commands.
-
-
-<P>
-The line parameters are changed only if the corresponding commands to
-change them are issued. If the <CODE>\linewd</CODE> command is given, the
-current coordinate scaling is used to determine the line width. To
-achieve a behaviour more like a global scaling, whenever the scale
-factor is changed, the line parameters should be set again.
-
-
-
-
-<H3><A NAME="SEC26" HREF="texdraw_toc.html#TOC26">5.2.2 Resolution</A></H3>
-<P>
-<A NAME="IDX123"></A>
-
-
-<P>
-TeXdraw scales coordinates before passing them to PostScript.
-Keeping track of the coordinate scaling is necessary, in any event, to
-allow TeXdraw to compute the maximum excursions of the coordinates.
-TeXdraw uses pixel units in its PostScript code. One pixel unit is
-equal to 1/300 of an inch. TeXdraw issues PostScript commands with
-integer valued pixel coordinates. This sets the positioning resolution
-for TeXdraw. The passing of integer valued coordinates which
-correspond to the device resolution keeps lines aligned with the device
-grid; parallel lines of the same width will be rendered with the same
-width.
-
-
-<P>
-The position saving mechanism in TeXdraw (see section <A HREF="texdraw_3.html#SEC16">3.3 Saving positions</A>)
-associates the pixel coordinates of a position with the specified name.
-
-
-<P>
-TeXdraw uses the limited real number representation provided by
-TeX. These operations are based on the representation of dimensions
-as real-valued numbers of points. Internally in TeX, dimensions are
-stored 32-bit values, normalized so that 1 pt corresponds to the scaled
-point (sp) value of 65536. Dimensions with magnitudes between 0.000015
-pt and 32767 pt can be represented. This is also the dynamic range of
-the TeXdraw pixel coordinates passed to PostScript. TeXdraw must
-convert from user supplied coordinates using the scaling factor (which
-itself consists of two components, the unit scale and the segment scale)
-and a pixel conversion factor. The use of limited precision real
-numbers in these computations can cause accumulation of error when
-relative scaling is used repeatedly.
-
-
-
-
-<H3><A NAME="SEC27" HREF="texdraw_toc.html#TOC27">5.2.3 Text placement</A></H3>
-
-<P>
-While in the TeXdraw environment, TeX text is placed in a TeX
-box while PostScript code is written to the intermediate file. At the
-end of the TeXdraw environment, the size of the drawing is
-determined. A TeX box of this size is created. The TeX
-<CODE>\special</CODE> mechanism is used to instruct the PostScript driver
-program to position the PostScript drawing from the intermediate file in
-this area. Next, the text generated by TeXdraw is positioned and
-placed in the box. Note that when the document is printed, the
-PostScript drawing is placed on the page before the TeX text; TeX
-text will appear on top of graphics.
-
-
-<P>
-<A NAME="IDX124"></A>
-<A NAME="IDX125"></A>
-The rotation of text is carried out with in-line PostScript code which
-does not appear in the intermediate PostScript file. This code is sent
-to the PostScript driver with a <CODE>\special</CODE> command. This
-PostScript code is embedded in the dvi (device independent) file that
-TeX produces.
-
-
-
-
-<H3><A NAME="SEC28" HREF="texdraw_toc.html#TOC28">5.2.4 The intermediate PostScript file</A></H3>
-<P>
-<A NAME="IDX126"></A>
-
-
-<P>
-The intermediate PostScript file consists of a header, a body and a
-trailer following Encapsulated PostScript File (EPSF) standards. The
-header sets up PostScript definitions and default parameter values. The
-trailer includes the <CODE>BoundingBox</CODE> information which gives the
-coordinates in default PostScript units (72 per inch) for the lower
-lefthand corner and the upper righthand corner of the drawing. The body
-of the intermediate PostScript file contains the PostScript commands
-generated by TeXdraw.
-
-
-<P>
-Many moves in TeXdraw serve only to position text or to reset saved
-positions. TeXdraw buffers move commands in order to be able to
-collapse runs of moves. Only the last move of a run of moves is
-actually written to the PostScript file. However the intermediate moves
-still affect the size of the drawing. The expunging of moves means that
-the PostScript file <CODE>BoundingBox</CODE> information may indicate a drawing size
-larger than the PostScript commands themselves would warrant.
-
-
-<P>
-Drawing segments in TeXdraw show up in the PostScript file as saves
-and restores of the PostScript graphics state. Segment starts are
-buffered and only written out if necessary. This way "empty" segments
-do not generate output to the PostScript file. These empty segments
-arise if a segment contains only moves and text commands. The moves
-inside the segment are not needed since they are local to the segment,
-and the text commands do not generate output to the PostScript file.
-
-
-<P>
-If TeXdraw is used only for moves and text, no intermediate
-PostScript file will be created.
-
-
-
-
-<H2><A NAME="SEC29" HREF="texdraw_toc.html#TOC29">5.3 How TeXdraw merges graphics and text</A></H2>
-<P>
-<A NAME="IDX127"></A>
-<A NAME="IDX128"></A>
-<A NAME="IDX129"></A>
-
-
-<P>
-TeXdraw creates a box which is the same size as the graphic. The
-printer driver will place the PostScript graphic into this space. Any
-TeX text generated by the TeXdraw commands will be superimposed on
-this graphic.
-
-
-<P>
-<A NAME="IDX130"></A>
-<A NAME="IDX131"></A>
-The LaTeX2e front-end for TeXdraw is enabled by including the
-<CODE>texdraw</CODE> package. The <CODE>texdraw</CODE> package automatically
-invokes the standard <CODE>graphics</CODE> package distributed with
-LaTeX2e. The <CODE>graphics</CODE> package has support for a number of
-different printer drivers, including a number for PostScript printers.
-Any options to the <CODE>texdraw</CODE> package are passed on to the
-<CODE>graphics</CODE> package. Such an option can be used to select a driver
-other than the default one.
-
-
-<P>
-<A NAME="IDX132"></A>
-<A NAME="IDX133"></A>
-<A NAME="IDX134"></A>
-<A NAME="IDX135"></A>
-<A NAME="IDX136"></A>
-Within the <CODE>graphics</CODE> package, the driver option is used to select
-definitions for the low-level macros which generate the <CODE>\special</CODE>
-commands needed to request insertion of a graphics file and to rotate
-text.<A NAME="DOCF2" HREF="texdraw_foot.html#FOOT2">(2)</A>
-TeXdraw uses the user-level macros defined by the <CODE>graphics</CODE>
-package (see section <A HREF="texdraw_4.html#SEC21">4.1 PostScript printer drivers</A>). When not used with the
-LaTeX2e front-end, TeXdraw defines versions of these macros that
-are suitable for use with the <CODE>dvips</CODE> printer driver.
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_4.html">previous</A>, <A HREF="texdraw_6.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_6.html b/Master/texmf-dist/doc/support/texdraw/texdraw_6.html
deleted file mode 100644
index 9686e350ae8..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_6.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - A. PostScript Commands</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_5.html">previous</A>, <A HREF="texdraw_7.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="SEC30" HREF="texdraw_toc.html#TOC30">A. PostScript Commands</A></H1>
-<P>
-<A NAME="IDX137"></A>
-
-
-<P>
-This appendix describes a set of macros for accessing some of the
-PostScript builtin functions. Each of these macros issues a single
-PostScript command. The extra services provided by TeXdraw are the
-interpretation of coordinates in user units relative to the current
-drawing segment and the writing of a pending TeXdraw move to the
-PostScript file. This last operation establishes the current point in
-PostScript. The user of these commands should be familiar with the
-concepts of path construction and filling in PostScript. Further
-details on the PostScript functions used can found in the
-<CITE>PostScript Language Reference Manual, Second Edition</CITE>, Adobe
-Systems, Addison-Wesley, 1990.
-
-
-<P>
-These macros are distributed in file <TT>`txdps.tex'</TT>.
-
-
-<P>
-The <CODE>\PSsetlinecap</CODE> and <CODE>\PSsetlinejoin</CODE> commands control the
-way line ends and line joins are rendered. The default values set by
-TeXdraw (round caps and round join) are appropriate for most
-drawings. Changes to these parameters apply to the current and
-subsequent paths.
-
-
-<P>
-<A NAME="IDX138"></A>
-<A NAME="IDX139"></A>
-<DL COMPACT>
-
-<DT><CODE>\PSsetlinecap <VAR>type</VAR></CODE>
-<DD>
-<A NAME="IDX140"></A>
- <A NAME="IDX141"></A>
-
-Set the line cap parameter. The value <CODE>0</CODE> gives a butt cap;
-<CODE>1</CODE> gives a round cap; and <CODE>2</CODE> gives a projecting square cap.
-The initial value is corresponds to a round cap.
-<A NAME="IDX142"></A>
-<A NAME="IDX143"></A>
-<DT><CODE>\PSsetlinejoin <VAR>type</VAR></CODE>
-<DD>
-Set the line join parameter. The value <CODE>0</CODE> gives a miter join;
-<CODE>1</CODE> gives a round join; and <CODE>2</CODE> gives a bevel join. The
-initial value corresponds to a round join.
-</DL>
-
-<P>
-<A NAME="IDX144"></A>
-<A NAME="IDX145"></A>
-<A NAME="IDX146"></A>
-<A NAME="IDX147"></A>
-PostScript paths and fill operations can be controlled by a number of
-functions. By design, TeXdraw always maintains a defined PostScript
-current point. Some of the following macros cause the PostScript
-current point to become undefined. The PostScript current point must be
-set again (say with a <CODE>\PSmoveto</CODE> command) before invoking basic
-TeXdraw commands.
-<DL COMPACT>
-
-<DT><CODE>\PSstroke</CODE>
-<DD>
-<A NAME="IDX148"></A>
- <A NAME="IDX149"></A>
-
-Stroke a PostScript path. The current path is stroked with the current
-gray level (set with <CODE>\setgray</CODE>) and the current line pattern (set
-with <CODE>\lpatt</CODE>). The PostScript current point becomes undefined.
-<A NAME="IDX150"></A>
-<A NAME="IDX151"></A>
-<DT><CODE>\PSnewpath</CODE>
-<DD>
-Establish a new path. The PostScript current point becomes undefined.
-<A NAME="IDX152"></A>
-<A NAME="IDX153"></A>
-<DT><CODE>\PSclosepath</CODE>
-<DD>
-Close a subpath. A new subpath is started.
-<A NAME="IDX154"></A>
-<A NAME="IDX155"></A>
-<DT><CODE>\PSfill</CODE>
-<DD>
-Fill a region defined by a path. Each subpath is closed and the
-enclosed regions painted with the current gray level. The PostScript
-current point becomes undefined. The gray level can be set with the
-TeXdraw command <CODE>\setgray</CODE>.
-</DL>
-
-<P>
-The following line commands interpret coordinates relative to the
-current TeXdraw scaling and drawing segment. The specified
-coordinate affects the drawing size as determined by TeXdraw.
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-<DL COMPACT>
-
-<DT><CODE>\PSlineto (<VAR>x</VAR> <VAR>y</VAR>)</CODE>
-<DD>
-<A NAME="IDX158"></A>
- <A NAME="IDX159"></A>
-
-Add a line segment to the current path. This command is identical to
-the TeXdraw command <CODE>\lvec</CODE>. The PostScript current point must
-be defined before this command is issued.
-<A NAME="IDX160"></A>
-<A NAME="IDX161"></A>
-<DT><CODE>\PSmoveto (<VAR>x</VAR> <VAR>y</VAR>)</CODE>
-<DD>
-Move to the coordinate specified by <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The
-PostScript current point becomes defined.
-</DL>
-
-<P>
-The following macros provide access to the general arc commands in
-PostScript. The coordinates are interpreted relative to the current
-TeXdraw scaling and drawing segment. The specified coordinate
-affects the drawing size as determined by TeXdraw.
-<A NAME="IDX162"></A>
-<DL COMPACT>
-
-<DT><CODE>\PSarc r:<VAR>radius</VAR> sd:<VAR>start-angle</VAR> ed:<VAR>end-angle</VAR> (<VAR>x</VAR> <VAR>y</VAR>)</CODE>
-<DD>
-<A NAME="IDX163"></A>
- <A NAME="IDX164"></A>
-
-Draw a counterclockwise arc. The center of the arc is at the given
-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>. If the PostScript current point is defined, this
-command also draws the line from the current point to the beginning of
-the arc. The line and arc become part of the current path. The current
-point becomes defined.
-<A NAME="IDX165"></A>
-<A NAME="IDX166"></A>
-<DT><CODE>\PSarcn r:<VAR>radius</VAR> sd:<VAR>start-angle</VAR> ed:<VAR>end-angle</VAR> (<VAR>x</VAR> <VAR>y</VAR>)</CODE>
-<DD>
-Draw a clockwise arc. The center of the arc is at the given 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>. If the
-PostScript current point is defined, this command also draws the line
-from the current point to the beginning of the arc. The line and arc
-become part of the current path. The current point becomes defined.
-</DL>
-
-<P>
-The macro <CODE>\writeps</CODE> provides the general facility to write
-arbitrary PostScript commands to the PostScript file. This macro is
-used by the preceding commands and by the TeXdraw commands
-themselves. This facility has to be used with care since changes in
-position or scaling resulting from the PostScript commands are not known
-to TeXdraw.
-<DL COMPACT>
-
-<DT><CODE>\writeps {<VAR>&#60;ps-commands&#62;</VAR>}</CODE>
-<DD>
-<A NAME="IDX167"></A>
-
-Write PostScript commands to the intermediate PostScript file. Before
-the commands are inserted, any pending TeXdraw move is written to the
-PostScript file. The PostScript scaling gives 300 units/inch.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_5.html">previous</A>, <A HREF="texdraw_7.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_7.html b/Master/texmf-dist/doc/support/texdraw/texdraw_7.html
deleted file mode 100644
index 1905d68c0fe..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_7.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - B. TeXdraw Toolbox</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_6.html">previous</A>, <A HREF="texdraw_8.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="SEC31" HREF="texdraw_toc.html#TOC31">B. TeXdraw Toolbox</A></H1>
-
-<P>
-This appendix describes some of the macros supplied with TeXdraw
-which can be used to define additional commands for creating drawings.
-The macros described here work in the user specified coordinate system.
-Some of these toolbox macros are used by the TeXdraw commands
-themselves, others are supplied in an auxiliary file
-<TT>`txdtools.tex'</TT>.
-
-
-
-<UL>
-<LI><A HREF="texdraw_7.html#SEC32">Coordinate parsing</A>
-<LI><A HREF="texdraw_7.html#SEC33">Real arithmetic</A>
-<LI><A HREF="texdraw_7.html#SEC34">Arrow curve</A>
-</UL>
-
-
-
-<H2><A NAME="SEC32" HREF="texdraw_toc.html#TOC32">B.1 Coordinate parsing</A></H2>
-
-<P>
-The coordinate parsing macro <CODE>\getpos</CODE> is useful for creating new
-commands. This macro takes care of stripping leading and trailing
-blanks from coordinates specified between parentheses. In addition,
-symbolic coordinates are translated to the corresponding relative
-coordinate using the segment offset and scaling in effect.
-
-
-<P>
-The macro <CODE>\currentpos</CODE> returns the relative coordinates of the
-current position. The returned values are relative to the current
-segment and the current scaling. The macro <CODE>\cossin</CODE> returns the
-real-valued cosine and sine of the direction of the line joining two
-points. The macro <CODE>\vectlen</CODE> returns the length of a vector. The
-results appear as the value of user supplied macro names.
-
-
-<P>
-<A NAME="IDX168"></A>
-<A NAME="IDX169"></A>
-<A NAME="IDX170"></A>
-<A NAME="IDX171"></A>
-<A NAME="IDX172"></A>
-<A NAME="IDX173"></A>
-<A NAME="IDX174"></A>
-<DL COMPACT>
-
-<DT><CODE>\getpos (<VAR>x</VAR> <VAR>y</VAR>)\<VAR>mx</VAR>\<VAR>my</VAR></CODE>
-<DD>
-<A NAME="IDX175"></A>
-
-Decode coordinate values. The coordinates specified by <CODE>(<VAR>x</VAR>
-<VAR>y</VAR>)</CODE> are decoded. Symbolic coordinates are translated to the
-corresponding relative coordinate using the current segment offset and
-scaling. The resulting character strings representing the real-valued
-coordinates are assigned to the macros specified by <CODE>\<VAR>mx</VAR></CODE> and
-<CODE>\<VAR>my</VAR></CODE>.
-<A NAME="IDX176"></A>
-<DT><CODE>\currentpos \<VAR>mx</VAR>\<VAR>my</VAR></CODE>
-<DD>
-Return the coordinates of the current position. The coordinates are
-relative to the current segment offset and scaling. The resulting
-character strings representing the real-valued coordinates are assigned
-to the macros specified by <CODE>\<VAR>mx</VAR></CODE> and <CODE>\<VAR>my</VAR></CODE>.
-<A NAME="IDX177"></A>
-<DT><CODE>\cossin (<VAR>x1</VAR> <VAR>y1</VAR>)(<VAR>x2</VAR> <VAR>y2</VAR>)\<VAR>cosa</VAR>\<VAR>sina</VAR></CODE>
-<DD>
-Return the cosine and sine of the direction of a vector joining two
-points. The cosine and sine of the angle of the vector which goes from
-<CODE>(<VAR>x1</VAR> <VAR>y1</VAR>)</CODE> to <CODE>(<VAR>x2</VAR> <VAR>y2</VAR>)</CODE>. The character
-strings representing these real-valued quantities are assigned to the
-macros specified by <CODE>\<VAR>cosa</VAR></CODE> and <CODE>\<VAR>sina</VAR></CODE>.
-<A NAME="IDX178"></A>
-<DT><CODE>\vectlen (<VAR>x1</VAR> <VAR>y1</VAR>)(<VAR>x2</VAR> <VAR>y2</VAR>)\<VAR>len</VAR></CODE>
-<DD>
-Return the length of a vector joining two points. The length of the
-vector is relative to the current scaling. The character string
-representing the real-valued length is assigned to the macro specified
-by <CODE>\<VAR>len</VAR></CODE>.
-</DL>
-
-
-
-<H2><A NAME="SEC33" HREF="texdraw_toc.html#TOC33">B.2 Real arithmetic</A></H2>
-
-<P>
-The TeXdraw toolbox supplies macros to perform real arithmetic on
-coordinate values. The result appears as the value of a user supplied
-macro name.
-<DL COMPACT>
-
-<DT><CODE>\realadd {<VAR>value1</VAR>} {<VAR>value2</VAR>} \<VAR>sum</VAR></CODE>
-<DD>
-<A NAME="IDX179"></A>
-
-Add two real quantities, assigning the resultant character string
-representing the sum to the macro <CODE>\<VAR>sum</VAR></CODE>.
-<A NAME="IDX180"></A>
-<DT><CODE>\realmult {<VAR>value1</VAR>} {<VAR>value2</VAR>} \<VAR>prod</VAR></CODE>
-<DD>
-Multiply two real quantities, assigning the resultant character string
-representing the product to the macro <CODE>\<VAR>prod</VAR></CODE>.
-<A NAME="IDX181"></A>
-<DT><CODE>\realdiv {<VAR>value1</VAR>} {<VAR>value2</VAR>} \<VAR>result</VAR></CODE>
-<DD>
-Divide two real quantities, assigning the resultant character string
-representing the result of <VAR>value1</VAR>/<VAR>value2</VAR> to the macro
-<CODE>\<VAR>result</VAR></CODE>.
-</DL>
-
-
-
-<H2><A NAME="SEC34" HREF="texdraw_toc.html#TOC34">B.3 Arrow curve</A></H2>
-<P>
-<A NAME="IDX182"></A>
-
-
-<P>
-This example illustrates the use of the TeXdraw toolbox routines to
-do computations with the coordinates. The problem will be tackled in
-two parts. First, we will produce a macro to place an arrowhead on a
-Bezier curve. Then given this macro, we will produce a macro which can
-draw a "wiggly" line from the current position to a given coordinate.
-
-
-<P>
-The first macro, <CODE>\cavec</CODE>, uses the <CODE>\cossin</CODE> command to
-determine the the cosine and sine of the angle of the line joining the
-second control point to the end point of the Bezier curve. Recall that
-the Bezier curve is tangent to this line at the end point. After
-drawing the Bezier curve, the scaling is set locally to absolute units
-of 0.05 inches. We go back down the line from the end point by 0.05
-inches and draw an arrow vector to the end point from there. This arrow
-vector is mostly arrowhead, with little or no tail.
-
-
-
-<PRE>
-\def\cavec (#1 #2)(#3 #4)(#5 #6){
- \clvec (#1 #2)(#3 #4)(#5 #6)
- \cossin (#3 #4)(#5 #6)\cosa\sina
- \rmove (0 0)
- \bsegment
- \drawdim in \setsegscale 0.05
- \move ({-\cosa} -\sina) \avec (0 0)
- \esegment}
-</PRE>
-
-<P>
-Note the use of macros as arguments to a <CODE>\move</CODE> command. Minus
-signs are put in front of the macros. However, the value of the macro
-<CODE>\cosa</CODE> or <CODE>\sina</CODE> could be negative. Fortunately, TeX
-accepts two minus signs in a row and interprets the result as positive.
-Note that the <CODE>\rmove (0 0)</CODE> command before the beginning of the
-segment ensures that the Bezier curve is stroked before the arrowhead is
-drawn.
-
-
-<P>
-The second macro <CODE>\caw</CODE> builds on <CODE>\cavec</CODE>. The goal is to
-produce a wiggly vector that can be used as a pointer in a drawing.
-Consider the following symmetrical normalized Bezier curve.
-
-<PRE>
-\centertexdraw{ \move (0 0) \cavec (1.4 0.1)(-0.4 -0.1)(1 0) }
-</PRE>
-
-<P>
-This curve has the appropriate wiggle. Now we want to be able to draw
-this curve, appropriately scaled and rotated. The macro <CODE>\caw</CODE>
-needs to do computations on the coordinates. First, <CODE>\caw</CODE> uses
-the macros <CODE>\getpos</CODE> and <CODE>\currentpos</CODE> to get the positions of
-the end and start of the curve. Next, the length of the vector is
-calculated using the macro <CODE>\vectlen</CODE>. A local macro
-<CODE>\rotatecoord</CODE> is used to rotate a coordinate pair about the
-origin, using the cosine and sine of the rotation angle. The vector
-length is used to scale the normalized curve. The remaining code draws
-the rotated, normalized curve.
-
-
-
-<PRE>
-\def\caw (#1 #2){
- \currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
-
-% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
-% Find the rotated offset (dx dy) -&#62; (du dv)
- \rotatecoord (0.4 0.1)\cosa\sina \du\dv
-
-% calculate the length of the vector
- \vectlen ({\xa} \ya)(#1 #2)\len
-
-% draw the curve in normalized units
- \bsegment
- \setsegscale {\len}
- \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
- \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
- \esegment
- \move (#1 #2)}
-
-% rotate a coordinate (x y)
-% arguments: (x y) cosa sina x' y'
-% x' = cosa * x - sina * y; y' = sina * x + cosa * y
-\def\rotatecoord (#1 #2)#3#4#5#6{
- \getpos (#1 #2)\xarg\yarg
- \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
- \realadd \tmpa {-\tmpb} #5
- \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
- \realadd \tmpa \tmpb #6}
-</PRE>
-
-<P>
-Finally, the new macro can be used as follows.
-
-<PRE>
-\centertexdraw{
- \arrowheadtype t:W
- \move (0 0)
- \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
- \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
- \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
- \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
-
-}
-</PRE>
-
-<P>
-Note that the Bezier curve in the macro <CODE>\cavec</CODE> lies below the
-arrowhead. The example then draws an arrowhead of type <CODE>W</CODE> to
-erase the part of the line below the arrowhead.
-
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_6.html">previous</A>, <A HREF="texdraw_8.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_8.html b/Master/texmf-dist/doc/support/texdraw/texdraw_8.html
deleted file mode 100644
index 09ee5d14520..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_8.html
+++ /dev/null
@@ -1,342 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - C. Examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_7.html">previous</A>, <A HREF="texdraw_9.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="SEC35" HREF="texdraw_toc.html#TOC35">C. Examples</A></H1>
-<P>
-<A NAME="IDX183"></A>
-
-
-<P>
-This appendix shows examples of the use of TeXdraw.
-
-
-
-<UL>
-<LI><A HREF="texdraw_8.html#SEC36">Block diagram</A>
-<LI><A HREF="texdraw_8.html#SEC37">Filter response graph</A>
-<LI><A HREF="texdraw_8.html#SEC38">Geometric construction</A>
-</UL>
-
-
-
-<H2><A NAME="SEC36" HREF="texdraw_toc.html#TOC36">C.1 Block diagram of a lattice filter</A></H2>
-
-<P>
-The block diagram of a lattice filter uses a library of extended
-commands built from the basic TeXdraw commands.
-
-
-<P>
-The block diagram uses a "delay" block. This is defined as a segment
-which leaves the current position at the end of this block. A second
-macro, <CODE>\bdot</CODE>, draws a "big" dot which is used to mark junctions
-of lines. The <CODE>\Ttext</CODE> command centers text above a given point.
-The offset to position the text is local to a segment, resulting in no
-change to the current point. Similar macros to position text below a
-point (<CODE>\Btext</CODE>), to the left of a point (<CODE>\Ltext</CODE>) and to the
-right of a point (<CODE>\Rtext</CODE>) are used in the final drawing.
-
-<PRE>
-\def\delay {\bsegment
- \setsegscale 0.3
- \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
- \lvec (0 -0.5) \lvec (0 0)
- \textref h:C v:C \htext (0.5 0){$z^{-1}$}
- \savepos (1 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\def\bdot {\fcir f:0 r:0.02 }
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
-</PRE>
-
-<P>
-Several of the block diagram elements scale with the size of the summing
-nodes. The radius of the circles for the summing nodes is defined as
-the macro <CODE>\cradius</CODE>. The summing nodes will have enclosed plus
-signs, appropriately scaled. The plus sign is drawn by the macro
-<CODE>\pluss</CODE>. The macro <CODE>\pcir</CODE> draws both the circle and the
-plus sign. The incoming lines to a summing node will be labelled with
-plus or minus signs (characters this time), placed at the appropriate
-position with respect to the center of the summing node. These
-positions are given in terms of compass directions. The macro
-<CODE>\putwnw</CODE> places text west by north-west relative to the center of
-the summing node.
-
-<PRE>
-\def\cradius {0.08}
-\def\pluss {\bsegment
- \setsegscale {\cradius}
- \move (-0.5 0) \lvec (+0.5 0)
- \move (0 -0.5) \lvec (0 +0.5)
- \esegment}
-\def\pcir {\lcir r:{\cradius} \pluss}
-\def\puttext (#1 #2)#3{\bsegment
- \setsegscale {\cradius}
- \textref h:C v:C \htext (#1 #2){#3}
- \esegment}
-\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
-</PRE>
-
-<P>
-The block diagram has vectors arriving and departing from the summing
-nodes (circles). One could calculate the points of intersection of the
-lines with the circles, and then enter the values into the TeXdraw
-code. However, in this example, we implement an automated procedure.
-Two macros are needed, an arrow vector to a circle (<CODE>\avectoc</CODE>) and
-an arrow vector leaving from a circle (<CODE>\avecfrc</CODE>). The macros
-will calculate the point of intersection with the circle and start or
-end the vector at the intersection point.
-
-
-<P>
-The arrow macros use scaling and relative positioning inside of a
-drawing segment. In the case of the macro <CODE>\avectoc</CODE>, a move is
-made to the final point (center of the circle), then within a drawing
-segment, a scaled move is made back towards the initial point to
-determine the intersection point with the circle.
-
-
-
-<PRE>
-\def\avectoc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \savepos (#1 #2)(*tx *ty)
- \bsegment
- \move (*tx *ty)
- \setsegscale {\cradius}
- \rmove ({-\cosa} -\sina)
- \savecurrpos (*ex *ey)
- \esegment
- \avec (*ex *ey)
- \move (#1 #2)}
-\def\avecfrc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \bsegment
- \setsegscale {\cradius}
- \move ({\cosa} \sina)
- \savecurrpos (*ex *ey)
- \esegment
- \move (*ex *ey)
- \avec (#1 #2)}
-</PRE>
-
-<P>
-Having defined these macros, we are ready to draw the block diagram.
-The first and last sections of the lattice filter are very similar,
-differing mainly in the text labels. With more effort, code could be
-shared between the commands used to draw these blocks.
-
-<PRE>
-\centertexdraw{
-\drawdim in
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
-
-\move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size
-
-% Input to the first stage
-\bsegment
- \Ltext{$x(n)$}
- \lvec (0.3 0) \bdot \lvec (0.3 +0.4) \move (0.3 0) \lvec (0.3 -0.4)
- \savepos (0.3 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% first lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.1 +0.4)
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_0(n)$}
- \move (2.0 +0.42) \Ttext {$f_1(n)$}
- \move (0.1 -0.4) \Btext {$b_0(n)$}
- \move (2.0 -0.4) \Btext {$b_1(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_1$}
- \textref h:L v:T \htext (1.15 -0.2){$K_1$}
- \savepos (2.1 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% center section
-\bsegment
- \textref h:C v:C \htext (0.3 +0.4){$\cdots$}
- \htext (0.3 -0.4){$\cdots$}
- \savepos (0.6 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% last lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
- \move (2.0 +0.42) \Ttext {$f_P(n)$}
- \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
- \move (2.0 -0.4) \Btext {$b_P(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_P$}
- \textref h:L v:T \htext (1.15 -0.2){$K_P$}
-\esegment
-}
-</PRE>
-
-<P>
-The macros used in this example are similar to the block diagram macros
-defined in the file <TT>`blockdiagram.tex'</TT>.
-
-
-
-
-<H2><A NAME="SEC37" HREF="texdraw_toc.html#TOC37">C.2 Filter response graph</A></H2>
-<P>
-<A NAME="IDX184"></A>
-
-
-<P>
-This example shows the response of a canonical filter. TeXdraw is
-not well suited for general purpose graphing -- it has no coordinate
-translation facility nor does it have separate <VAR>x</VAR> and <VAR>y</VAR>
-scaling. Nonetheless, for certain simple graphs, TeXdraw is
-adequate.
-
-
-<P>
-In this example, macro <CODE>\ticklab</CODE> places a labelled axis tick at a
-given position. The data is specified in a straightforward manner,
-having been scaled beforehand to give the desired aspect ratio for the
-graph.
-
-
-
-<PRE>
-\centertexdraw{
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\ds {\displaystyle}
-\def\ticklab (#1 #2)#3{\move(#1 #2)
- \bsegment
- \lvec (0 0.05)
- \textref h:C v:T \htext (0 -0.05){#3}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
-
-\move (2.4 -0.3) % move to set the size
-
-\move (0 0)
-% Axes
-\avec (0 +1.4)
-\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
-\ticklab (0 0) {0}
-\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
-\ticklab (1.2 0) {$\omega_s$}
-\ticklab (1.6 0) {$\ds {\pi \over N} $}
-
-\linewd 0.025
-\move (0 1)
-\lvec (0.4 1)
-\lvec (0.44 0.998)
-\lvec (0.48 0.988)
-\lvec (0.52 0.973)
-\lvec (0.56 0.951)
- ...
-\lvec (1.08 0.233)
-\lvec (1.12 0.156)
-\lvec (1.16 0.078)
-\lvec (1.20 0)
-\lvec (1.9 0)
-}
-</PRE>
-
-
-
-<H2><A NAME="SEC38" HREF="texdraw_toc.html#TOC38">C.3 Geometric construction</A></H2>
-<P>
-<A NAME="IDX185"></A>
-
-
-<P>
-This example shows a geometric construction which places an ellipse
-tangent to an enclosing circle. The size of the ellipse is determined
-from geometric considerations. Macros are used to modularize the code.
-The example alters the unit scale factor. This allows the drawing to be
-carried out in units normalized to the radius of the circle.
-
-
-
-<PRE>
-\centertexdraw{
-\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
-\linewd 0.01
-\setunitscale 1.5 % circle will have radius 1.5 inches
-
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.04){#1}
- \esegment}
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.04){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.04 0){#1}
- \esegment}
-\def\bdot {\fcir f:0 r:0.0133 }
-\def\vtick {\bsegment
- \move (0 -0.05) \lvec (0 +0.05)
- \esegment}
-\def\htick {\bsegment
- \move (-0.05 0) \lvec (+0.05 0)
- \esegment}
-\def\Hlen #1#2{\bsegment
- \vtick \avec ({#1} 0) \vtick \avec (0 0)
- \relsegscale 0.5
- \move ({#1} 0) \Ttext {#2}
- \esegment}
-\def\Vlen #1#2{\bsegment
- \htick \avec (0 {#1}) \htick \avec (0 0)
- \relsegscale 0.5
- \move (0 {#1}) \Ltext {#2}
- \esegment}
-
-\lcir r:1 % circle
-\move (-1.05 0) \lvec ( 1.05 0) % axes
-\move (0 -1.05) \lvec (0 1.05)
-
-\move (0 0) \lvec (0.707 0.707) \bdot
-\rmove (0.02 0.02) \textref h:L v:B \htext {X}
-\move (0.707 -0.707) \bdot
-\textref h:R v:T \htext(-0.02 -0.02){O}
-
-\move (0.5 0) % center of ellipse
-\bsegment
- \lellip rx:0.435 ry:0.804
- \bdot \Btext {$\beta_2$}
- \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
- \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
-\esegment
-}
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_7.html">previous</A>, <A HREF="texdraw_9.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_9.html b/Master/texmf-dist/doc/support/texdraw/texdraw_9.html
deleted file mode 100644
index 6a96d49c59d..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_9.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - D. Alphabetic listing of commands</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_8.html">previous</A>, <A HREF="texdraw_10.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="SEC39" HREF="texdraw_toc.html#TOC39">D. Alphabetic listing of commands</A></H1>
-<P>
-<A NAME="IDX186"></A>
-
-
-<DL COMPACT>
-
-<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.
-
-<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>.
-
-<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>.
-
-<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.
-
-<DT><CODE>\bsegment</CODE>
-<DD>
-Start a drawing segment. The coordinate system is shifted such that the
-current position corresponds to the coordinate <CODE>(0 0)</CODE>. Changes to
-scaling, position and line parameters stay local to the drawing segment.
-
-<DT><CODE>\btexdraw</CODE>
-<DD>
-Start a TeXdraw drawing. The drawing is terminated with an
-<CODE>\etexdraw</CODE> command.
-
-<DT><CODE>\centertexdraw { ... }</CODE>
-<DD>
-Center a TeXdraw box. The argument contains TeXdraw commands.
-The resulting box has the horizontal size <CODE>\hsize</CODE> and height equal
-to the height of the drawing.
-
-<DT><CODE>\clvec (<VAR>x1</VAR> <VAR>y1</VAR>)(<VAR>x2</VAR> <VAR>y2</VAR>)(<VAR>x3</VAR> <VAR>y3</VAR>)</CODE>
-<DD>
-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.
-
-<DT><CODE>\drawbb</CODE>
-<DD>
-Draw a ruled box around the effective size of a drawing produced by
-TeXdraw commands.
-
-<DT><CODE>\drawdim <VAR>dim</VAR></CODE>
-<DD>
-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>.
-
-<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.
-
-<DT><CODE>\esegment</CODE>
-<DD>
-End a drawing segment. The current position in effect before the
-corresponding <CODE>\bsegment</CODE> command is restored. The scaling and
-line parameter values revert to those in effect before the corresponding
-<CODE>\bsegment</CODE> was invoked.
-
-<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.
-
-<DT><CODE>\everytexdraw { ... }</CODE>
-<DD>
-Specify TeXdraw commands to be executed at the beginning of every
-TeXdraw drawing.
-
-<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.
-
-<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.
-
-<DT><CODE>\htext (<VAR>x</VAR> <VAR>y</VAR>){<VAR>text</VAR>}</CODE>
-<DD>
-<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.
-
-<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).
-
-<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.
-
-<DT><CODE>\lcir r:<VAR>radius</VAR></CODE>
-<DD>
-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.
-
-<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.
-
-<DT><CODE>\lfill f:<VAR>level</VAR></CODE>
-<DD>
-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).
-
-<DT><CODE>\linewd <VAR>width</VAR></CODE>
-<DD>
-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>.
-
-<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>.
-
-<DT><CODE>\move (<VAR>x</VAR> <VAR>y</VAR>)</CODE>
-<DD>
-Move to coordinate <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>. The new current position
-is <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE>.
-
-<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.
-
-<DT><CODE>\relsegscale <VAR>value</VAR></CODE>
-<DD>
-Adjust the segment scale factor by multiplying by <VAR>value</VAR>. This has
-the effect of multiplying the current overall scale factor by the same
-factor. The overall scaling factor is the product of the unit scale
-factor and the segment scale factor.
-
-<DT><CODE>\relunitscale <VAR>value</VAR></CODE>
-<DD>
-Adjust the unit scale factor by multiplying by <VAR>value</VAR>. This has
-the effect of multiplying the overall scale factor by the same factor.
-The overall scaling factor is the product of the unit scale factor and
-the segment scale factor.
-
-<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.
-
-<DT><CODE>\rmove (<VAR>dx</VAR> <VAR>dy</VAR>)</CODE>
-<DD>
-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.
-
-<DT><CODE>\rtext td:<VAR>angle</VAR> (x y){<VAR>text</VAR>}</CODE>
-<DD>
-<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.
-
-<DT><CODE>\savecurrpos (*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>
-<DD>
-Save the current position as the absolute position referenced by
-<CODE>(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>.
-
-<DT><CODE>\savepos (<VAR>x</VAR> <VAR>y</VAR>)(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>
-<DD>
-Save the coordinate position <CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE> as the absolute
-position referenced by <CODE>(*<VAR>px</VAR> *<VAR>py</VAR>)</CODE>. The coordinate
-<CODE>(<VAR>x</VAR> <VAR>y</VAR>)</CODE> is interpreted in the normal fashion as a
-coordinate relative to the current segment, using the current scaling
-factors and drawing unit.
-
-<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.
-
-<DT><CODE>\setsegscale <VAR>scale</VAR></CODE>
-<DD>
-Set the segment scale factor. The argument <VAR>scale</VAR> is a real number
-which is used to scale coordinate values. The overall scale factor is
-the product of the unit scale factor and the segment scale factor.
-
-<DT><CODE>\setunitscale <VAR>scale</VAR></CODE>
-<DD>
-Set the unit scaling to <VAR>scale</VAR>. The argument <VAR>scale</VAR> is a real
-number which is used to scale coordinate values. The overall scaling
-factor is the product of the unit scale factor and the segment scale
-factor.
-
-<DT><CODE>\texdrawbox { ... }</CODE>
-<DD>
-Create a TeXdraw box. The argument contains TeXdraw commands.
-This macro returns a TeX 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.
-
-<DT><CODE>\textref h:<VAR>h-ref</VAR> v:<VAR>v-ref</VAR></CODE>
-<DD>
-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>.
-
-<DT><CODE>\vtext (x y){<VAR>text</VAR>}</CODE>
-<DD>
-<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><HR><P>
-Go to the <A HREF="texdraw_1.html">first</A>, <A HREF="texdraw_8.html">previous</A>, <A HREF="texdraw_10.html">next</A>, <A HREF="texdraw_11.html">last</A> section, <A HREF="texdraw_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_foot.html b/Master/texmf-dist/doc/support/texdraw/texdraw_foot.html
deleted file mode 100644
index b45e6c36d32..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_foot.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - Footnotes</TITLE>
-</HEAD>
-<BODY>
-<H1>TeXdraw</H1>
-<H2>PostScript Drawings from TeX</H2>
-<H2>Edition 2.0</H2>
-<H2>December 1995</H2>
-<ADDRESS>Peter Kabal</ADDRESS>
-<P>
-<P><HR><P>
-<H3><A NAME="FOOT1" HREF="texdraw_2.html#DOCF1">(1)</A></H3>
-<P>After the ninth PostScript file, the name of the
-intermediate PostScript file takes the form <TT>`<VAR>name</VAR>.p10'</TT>, with
-the number increasing from 10 with each file.
-<H3><A NAME="FOOT2" HREF="texdraw_5.html#DOCF2">(2)</A></H3>
-<P>Not all PostScript drivers support text rotation.
-<P><HR><P>
-This document was generated on 10 March 2004 using
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw_toc.html b/Master/texmf-dist/doc/support/texdraw/texdraw_toc.html
deleted file mode 100644
index fdf24359723..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texdraw_toc.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<HTML>
-<HEAD>
-<!-- Created by texi2html 1.56k from texdraw.texi on 10 March 2004 -->
-
-<TITLE>TeXdraw - Table of Contents</TITLE>
-</HEAD>
-<BODY>
-<H1>TeXdraw</H1>
-<H2>PostScript Drawings from TeX</H2>
-<H2>Edition 2.0</H2>
-<H2>December 1995</H2>
-<ADDRESS>Peter Kabal</ADDRESS>
-<P>
-<P><HR><P>
-<UL>
-<LI><A NAME="TOC1" HREF="texdraw_1.html#SEC1">1. Introduction</A>
-<UL>
-<LI><A NAME="TOC2" HREF="texdraw_1.html#SEC2">1.1 Distribution information</A>
-</UL>
-<LI><A NAME="TOC3" HREF="texdraw_2.html#SEC3">2. Using the TeXdraw Commands</A>
-<UL>
-<LI><A NAME="TOC4" HREF="texdraw_2.html#SEC4">2.1 Accessing TeXdraw</A>
-<LI><A NAME="TOC5" HREF="texdraw_2.html#SEC5">2.2 Command syntax</A>
-<LI><A NAME="TOC6" HREF="texdraw_2.html#SEC6">2.3 TeXdraw coordinates</A>
-<LI><A NAME="TOC7" HREF="texdraw_2.html#SEC7">2.4 Coordinate specification</A>
-<LI><A NAME="TOC8" HREF="texdraw_2.html#SEC8">2.5 Line vectors</A>
-<LI><A NAME="TOC9" HREF="texdraw_2.html#SEC9">2.6 TeX text</A>
-<LI><A NAME="TOC10" HREF="texdraw_2.html#SEC10">2.7 Circles, ellipses and arcs</A>
-<LI><A NAME="TOC11" HREF="texdraw_2.html#SEC11">2.8 Bezier curves</A>
-<LI><A NAME="TOC12" HREF="texdraw_2.html#SEC12">2.9 Fill commands</A>
-</UL>
-<LI><A NAME="TOC13" HREF="texdraw_3.html#SEC13">3. Drawing Segments and Scaling</A>
-<UL>
-<LI><A NAME="TOC14" HREF="texdraw_3.html#SEC14">3.1 Drawing segments</A>
-<LI><A NAME="TOC15" HREF="texdraw_3.html#SEC15">3.2 Drawing paths</A>
-<LI><A NAME="TOC16" HREF="texdraw_3.html#SEC16">3.3 Saving positions</A>
-<LI><A NAME="TOC17" HREF="texdraw_3.html#SEC17">3.4 Scaling coordinates</A>
-<LI><A NAME="TOC18" HREF="texdraw_3.html#SEC18">3.5 Drawing size</A>
-<LI><A NAME="TOC19" HREF="texdraw_3.html#SEC19">3.6 Initial current position</A>
-</UL>
-<LI><A NAME="TOC20" HREF="texdraw_4.html#SEC20">4. Using TeXdraw with LaTeX</A>
-<UL>
-<LI><A NAME="TOC21" HREF="texdraw_4.html#SEC21">4.1 PostScript printer drivers</A>
-</UL>
-<LI><A NAME="TOC22" HREF="texdraw_5.html#SEC22">5. More Details</A>
-<UL>
-<LI><A NAME="TOC23" HREF="texdraw_5.html#SEC23">5.1 Errors while using TeXdraw</A>
-<LI><A NAME="TOC24" HREF="texdraw_5.html#SEC24">5.2 Extending TeXdraw</A>
-<UL>
-<LI><A NAME="TOC25" HREF="texdraw_5.html#SEC25">5.2.1 Scaling</A>
-<LI><A NAME="TOC26" HREF="texdraw_5.html#SEC26">5.2.2 Resolution</A>
-<LI><A NAME="TOC27" HREF="texdraw_5.html#SEC27">5.2.3 Text placement</A>
-<LI><A NAME="TOC28" HREF="texdraw_5.html#SEC28">5.2.4 The intermediate PostScript file</A>
-</UL>
-<LI><A NAME="TOC29" HREF="texdraw_5.html#SEC29">5.3 How TeXdraw merges graphics and text</A>
-</UL>
-<LI><A NAME="TOC30" HREF="texdraw_6.html#SEC30">A. PostScript Commands</A>
-<LI><A NAME="TOC31" HREF="texdraw_7.html#SEC31">B. TeXdraw Toolbox</A>
-<UL>
-<LI><A NAME="TOC32" HREF="texdraw_7.html#SEC32">B.1 Coordinate parsing</A>
-<LI><A NAME="TOC33" HREF="texdraw_7.html#SEC33">B.2 Real arithmetic</A>
-<LI><A NAME="TOC34" HREF="texdraw_7.html#SEC34">B.3 Arrow curve</A>
-</UL>
-<LI><A NAME="TOC35" HREF="texdraw_8.html#SEC35">C. Examples</A>
-<UL>
-<LI><A NAME="TOC36" HREF="texdraw_8.html#SEC36">C.1 Block diagram of a lattice filter</A>
-<LI><A NAME="TOC37" HREF="texdraw_8.html#SEC37">C.2 Filter response graph</A>
-<LI><A NAME="TOC38" HREF="texdraw_8.html#SEC38">C.3 Geometric construction</A>
-</UL>
-<LI><A NAME="TOC39" HREF="texdraw_9.html#SEC39">D. Alphabetic listing of commands</A>
-<LI><A NAME="TOC40" HREF="texdraw_10.html#SEC40">Command Index</A>
-<LI><A NAME="TOC41" HREF="texdraw_11.html#SEC41">Concept Index</A>
-</UL>
-<P><HR><P>
-This document was generated on 10 March 2004 using
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
-</BODY>
-</HTML>
diff --git a/Master/texmf-dist/doc/support/texdraw/texi2dvi b/Master/texmf-dist/doc/support/texdraw/texi2dvi
deleted file mode 100644
index 45e92ff8e7f..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texi2dvi
+++ /dev/null
@@ -1,275 +0,0 @@
-#! /bin/sh
-# texi2dvi --- smartly produce DVI files from texinfo sources
-
-# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-
-# $Id: texi2dvi,v 1.7 1995/11/03 texdraw-V2R0 $
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, you can either send email to this
-# program's maintainer or write to: The Free Software Foundation,
-# Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.
-
-# Commentary:
-
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-
-# Please send bug reports, etc. to bug-texinfo@prep.ai.mit.edu
-# If possible, please send a copy of the output of the script called with
-# the `--debug' option when making a bug report.
-
-# In the interest of general portability, some common bourne shell
-# constructs were avoided because they weren't guaranteed to be available
-# in some earlier implementations. I've tried to make this program as
-# portable as possible. Welcome to unix, where the lowest common
-# denominator is rapidly diminishing.
-#
-# Among the more interesting lossages I noticed with some bourne shells
-# are:
-# * No shell functions.
-# * No `unset' builtin.
-# * `shift' cannot take a numeric argument, and signals an error if
-# there are no arguments to shift.
-
-# Code:
-
-# Name by which this script was invoked.
-progname=`echo "$0" | sed -e 's/[^\/]*\///g'`
-
-# This string is expanded by rcs automatically when this file is checked out.
-rcs_revision='$Revision: 1.7 $'
-version=`set - $rcs_revision; echo $2`
-
-# To prevent hairy quoting and escaping later.
-bq='`'
-eq="'"
-
-usage="Usage: $progname {options} [file1] {file2 {...}}
-(version $version)
-
-Options are:
--D, --debug Turn on shell debugging ($bq${bq}set -x$eq$eq).
--h, --help You're looking at it.
--v, --version Print version number.
-
-Arguments in brackets are required. Those in braces are optional.
-"
-
-# Initialize variables.
-# Don't use `unset' since old bourne shells don't have this command.
-# Instead, assign them an empty value.
-# Some of these, like TEX and TEXINDEX, may be inherited from the environment
-backup_extension=.bak
-debug=
-orig_pwd="`pwd`"
-verbose=
-texindex="${TEXINDEX-texindex}"
-tex="${TEX-tex}"
-
-# Save this so we can construct a new TEXINPUTS path for each file to be
-# processed.
-TEXINPUTS_orig="$TEXINPUTS"
-export TEXINPUTS
-
-# Parse command line arguments.
-# Make sure that all wildcarded options are long enough to be unambiguous.
-# It's a good idea to document the full long option name in each case.
-# Long options which take arguments will need a `*' appended to the
-# canonical name to match the value appended after the `=' character.
-while : ; do
- case $# in 0) break ;; esac
- case "$1" in
- -D | --debug | --d* )
- debug=t
- shift
- ;;
- -h | --help | --h* )
- echo "$usage" 1>&2
- exit 0
- ;;
- -v | --version | --v* )
- echo "texi2dvi version $version" 1>&2
- exit 0
- ;;
- -- ) # Stop option processing
- shift
- break
- ;;
- -* )
- case "$1" in
- --*=* ) arg=`echo "$1" | sed -e 's/=.*//'` ;;
- * ) arg="$1" ;;
- esac
- exec 1>&2
- echo "$progname: unknown or ambiguous option $bq$arg$eq"
- echo "$progname: Use $bq--help$eq for a list of options."
- exit 1
- ;;
- * )
- break
- ;;
- esac
-done
-
-# See if there are any command line args left (which will be interpreted as
-# filename arguments)
-case $# in
- 0 )
- exec 1>&2
- echo "$progname: at least one file name is required as an argument."
- echo "$progname: Use $bq--help$eq for a description of command syntax."
- exit 2
- ;;
-esac
-
-case "$debug" in t ) set -x ;; esac
-
-# Texify files
-for command_line_filename in ${1+"$@"} ; do
- # Roughly equivalent to `dirname ...`, but more portable
- directory="`echo ${command_line_filename} | sed 's/\/[^\/]*$//'`"
- filename_texi="`basename ${command_line_filename}`"
- # Strip off the last extension part (probably .texinfo or .texi)
- filename_noext="`echo ${filename_texi} | sed 's/\.[^.]*$//'`"
-
- # If directory and file are the same, then it's probably because there's
- # no pathname component. Set dirname to `.', the current directory.
- if test "z${directory}" = "z${command_line_filename}" ; then
- directory="."
- fi
-
- # Source file might @include additional texinfo sources. Put `.' and
- # directory where source file(s) reside in TEXINPUTS before anything
- # else. `.' goes first to ensure that any old .aux, .cps, etc. files in
- # ${directory} don't get used in preference to fresher files in `.'.
- TEXINPUTS=".:${directory}:${TEXINPUTS_orig}"
-
- # "Unset" variables that might have values from previous iterations and
- # which won't be completely reset later.
- definite_index_files=""
-
- # See if file exists here. If it doesn't we're in trouble since, even
- # though the user may be able to reenter a valid filename at the tex
- # prompt (assuming they're attending the terminal), this script won't be
- # able to find the right index files and so forth.
- if test ! -r "${command_line_filename}" ; then
- echo "${progname}: ${command_line_filename}: No such file or permission denied." 1>&2
- continue;
- fi
-
- # Find all files having root filename with a two-letter extension,
- # determine whether they're really index files, and save them. Foo.aux
- # is actually the cross-references file, but we need to keep track of
- # that too.
- possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
- for this_file in ${possible_index_files} ; do
- # If file is empty, forget it.
- if test ! -s "${this_file}" ; then
- continue;
- fi
-
- # Examine first character of file. If it's not a backslash or
- # single quote, then it's definitely not an index or xref file.
- first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`"
- if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then
- definite_index_files="${definite_index_files} ${this_file}"
- fi
- done
- orig_index_files="${definite_index_files}"
- orig_index_files_sans_aux="`echo ${definite_index_files} \
- | sed 's/'${filename_noext}'\.aux//;
- s/^[ ]*//;s/[ ]*$//;'`"
-
- # Now save copies of original index files so we have some means of
- # comparison later.
- for index_file_to_save in ${orig_index_files} ; do
- cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}"
- done
-
- # Run texindex on current index files. If they already exist, and
- # after running TeX a first time the index files don't change, then
- # there's no reason to run TeX again. But we won't know that if the
- # index files are out of date or nonexistent.
- if test "${orig_index_files_sans_aux}" ; then
- ${texindex} ${orig_index_files_sans_aux}
- fi
-
- if ${tex} ${command_line_filename} ; then # TeX run first time
- definite_index_files=""
- # Get list of new index files
- possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
- for this_file in ${possible_index_files} ; do
- # If file is empty, forget it.
- if test ! -s ${this_file} ; then
- continue;
- fi
-
- # Examine first character of file. If it's not a backslash or
- # single quote, then it's definitely not an index or xref file.
- first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`"
- if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then
- definite_index_files="${definite_index_files} ${this_file}"
- fi
- done
- new_index_files="${definite_index_files}"
- new_index_files_sans_aux="`echo ${definite_index_files} \
- | sed 's/'${filename_noext}'\.aux//;
- s/^[ ]*//;s/[ ]*$//;'`"
-
- # If old and new list don't at least have the same file list, then one
- # file or another has definitely changed.
- if test "${orig_index_files}" != "${new_index_files}" ; then
- index_files_changed_p=t
- else
- # File list is the same. We must compare each file until we find a
- # difference.
- index_files_changed_p=""
- for this_file in ${new_index_files} ; do
- # cmp -s will return nonzero exit status if files differ.
- cmp -s "${this_file}" "${this_file}${backup_extension}"
- if test $? -ne 0 ; then
- # We only need to keep comparing until we find *one* that
- # differs, because we'll have to run texindex & tex no
- # matter what.
- index_files_changed_p=t
- break
- fi
- done
- fi
-
- # If index files have changed since TeX has been run, or if the aux
- # file wasn't present originally, run texindex and TeX again.
- if test "${index_files_changed_p}" ; then
- retval=0
- if test "${new_index_files_sans_aux}" ; then
- ${texindex} ${new_index_files_sans_aux}
- retval=$?
- fi
- if test ${retval} -eq 0 ; then
- ${tex} "${command_line_filename}"
- fi
- fi
- fi
-
- # Generate list of files to delete, then call rm once with the entire
- # list. This is significantly faster than multiple executions of rm.
- file_list=""
- for file in ${orig_index_files} ; do
- file_list="${file_list} ${file}${backup_extension}"
- done
- if test "${file_list}" ; then
- rm -f ${file_list}
- fi
-done
-
-# texi2dvi ends here
diff --git a/Master/texmf-dist/doc/support/texdraw/texindex.c b/Master/texmf-dist/doc/support/texdraw/texindex.c
deleted file mode 100644
index a88d5169691..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/texindex.c
+++ /dev/null
@@ -1,1700 +0,0 @@
-/* Prepare TeX index dribble output into an actual index.
-
- Version 1.45
-
- Copyright (C) 1987, 1991, 1992 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-#include "getopt.h"
-
-#if defined (STDC_HEADERS)
-# include <string.h>
-# include <stdlib.h>
-# if !defined (bzero)
-# define bzero(p, n) memset((p), '\0', (n))
-# endif /* !bzero */
-#else /* !STDC_HEADERS */
-extern int errno;
-char *getenv (), *malloc (), *realloc ();
-void bzero ();
-#endif /* !STDC_HEADERS */
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#else /* !HAVE_UNISTD_H */
-long lseek ();
-#endif /* !HAVE_UNISTD_H */
-
-char *mktemp ();
-
-#if defined (VMS)
-# if !defined (VAX11C)
-# define noshare
-# endif /* !VAX11C */
-# include <perror.h>
-extern noshare int sys_nerr;
-extern noshare char *sys_errlist[];
-
-# include <file.h>
-
-# define TI_NO_ERROR ((1 << 28) | 1)
-# define TI_FATAL_ERROR ((1 << 28) | 4)
-# define unlink delete
-
-#else /* !VMS */
-
-extern int sys_nerr;
-extern char *sys_errlist[];
-
-# if defined (HAVE_SYS_FCNTL_H)
-# include <sys/types.h>
-# include <sys/fcntl.h>
-# endif /* HAVE_SYS_FCNTL_H */
-
-# if defined (_AIX) || !defined (_POSIX_VERSION)
-# include <sys/file.h>
-# else /* !AIX && _POSIX_VERSION */
-# if !defined (HAVE_SYS_FCNTL_H)
-# include <fcntl.h>
-# endif /* !HAVE_FCNTL_H */
-# endif /* !_AIX && _POSIX_VERSION */
-# define TI_NO_ERROR 0
-# define TI_FATAL_ERROR 1
-#endif /* !VMS */
-
-#if !defined (SEEK_SET)
-# define SEEK_SET 0
-# define SEEK_CUR 1
-# define SEEK_END 2
-#endif /* !SEEK_SET */
-
-/* When sorting in core, this structure describes one line
- and the position and length of its first keyfield. */
-struct lineinfo
-{
- char *text; /* The actual text of the line. */
- union {
- char *text; /* The start of the key (for textual comparison). */
- long number; /* The numeric value (for numeric comparison). */
- } key;
- long keylen; /* Length of KEY field. */
-};
-
-/* This structure describes a field to use as a sort key. */
-struct keyfield
-{
- int startwords; /* Number of words to skip. */
- int startchars; /* Number of additional chars to skip. */
- int endwords; /* Number of words to ignore at end. */
- int endchars; /* Ditto for characters of last word. */
- char ignore_blanks; /* Non-zero means ignore spaces and tabs. */
- char fold_case; /* Non-zero means case doesn't matter. */
- char reverse; /* Non-zero means compare in reverse order. */
- char numeric; /* Non-zeros means field is ASCII numeric. */
- char positional; /* Sort according to file position. */
- char braced; /* Count balanced-braced groupings as fields. */
-};
-
-/* Vector of keyfields to use. */
-struct keyfield keyfields[3];
-
-/* Number of keyfields stored in that vector. */
-int num_keyfields = 3;
-
-/* Vector of input file names, terminated with a null pointer. */
-char **infiles;
-
-/* Vector of corresponding output file names, or NULL, meaning default it
- (add an `s' to the end). */
-char **outfiles;
-
-/* Length of `infiles'. */
-int num_infiles;
-
-/* Pointer to the array of pointers to lines being sorted. */
-char **linearray;
-
-/* The allocated length of `linearray'. */
-long nlines;
-
-/* Directory to use for temporary files. On Unix, it ends with a slash. */
-char *tempdir;
-
-/* Start of filename to use for temporary files. */
-char *tempbase;
-
-/* Number of last temporary file. */
-int tempcount;
-
-/* Number of last temporary file already deleted.
- Temporary files are deleted by `flush_tempfiles' in order of creation. */
-int last_deleted_tempcount;
-
-/* During in-core sort, this points to the base of the data block
- which contains all the lines of data. */
-char *text_base;
-
-/* Additional command switches .*/
-
-/* Nonzero means do not delete tempfiles -- for debugging. */
-int keep_tempfiles;
-
-/* The name this program was run with. */
-char *program_name;
-
-/* Forward declarations of functions in this file. */
-
-void decode_command ();
-void sort_in_core ();
-void sort_offline ();
-char **parsefile ();
-char *find_field ();
-char *find_pos ();
-long find_value ();
-char *find_braced_pos ();
-char *find_braced_end ();
-void writelines ();
-int compare_field ();
-int compare_full ();
-long readline ();
-int merge_files ();
-int merge_direct ();
-void pfatal_with_name ();
-void fatal ();
-void error ();
-void *xmalloc (), *xrealloc ();
-char *concat ();
-char *maketempname ();
-void flush_tempfiles ();
-char *tempcopy ();
-
-#define MAX_IN_CORE_SORT 500000
-
-void
-main (argc, argv)
- int argc;
- char **argv;
-{
- int i;
-
- tempcount = 0;
- last_deleted_tempcount = 0;
- program_name = argv[0];
-
- /* Describe the kind of sorting to do. */
- /* The first keyfield uses the first braced field and folds case. */
- keyfields[0].braced = 1;
- keyfields[0].fold_case = 1;
- keyfields[0].endwords = -1;
- keyfields[0].endchars = -1;
-
- /* The second keyfield uses the second braced field, numerically. */
- keyfields[1].braced = 1;
- keyfields[1].numeric = 1;
- keyfields[1].startwords = 1;
- keyfields[1].endwords = -1;
- keyfields[1].endchars = -1;
-
- /* The third keyfield (which is ignored while discarding duplicates)
- compares the whole line. */
- keyfields[2].endwords = -1;
- keyfields[2].endchars = -1;
-
- decode_command (argc, argv);
-
- tempbase = mktemp (concat ("txiXXXXXX", "", ""));
-
- /* Process input files completely, one by one. */
-
- for (i = 0; i < num_infiles; i++)
- {
- int desc;
- long ptr;
- char *outfile;
-
- desc = open (infiles[i], O_RDONLY, 0);
- if (desc < 0)
- pfatal_with_name (infiles[i]);
- lseek (desc, 0L, SEEK_END);
- ptr = lseek (desc, 0L, SEEK_CUR);
-
- close (desc);
-
- outfile = outfiles[i];
- if (!outfile)
- {
- outfile = concat (infiles[i], "s", "");
- }
-
- if (ptr < MAX_IN_CORE_SORT)
- /* Sort a small amount of data. */
- sort_in_core (infiles[i], ptr, outfile);
- else
- sort_offline (infiles[i], ptr, outfile);
- }
-
- flush_tempfiles (tempcount);
- exit (TI_NO_ERROR);
-}
-
-void
-usage ()
-{
- fprintf (stderr, "\
-Usage: %s [-k] infile [-o outfile] ...\n", program_name);
- exit (1);
-}
-
-/* Decode the command line arguments to set the parameter variables
- and set up the vector of keyfields and the vector of input files. */
-
-void
-decode_command (argc, argv)
- int argc;
- char **argv;
-{
- int optc;
- char **ip;
- char **op;
-
- /* Store default values into parameter variables. */
-
- tempdir = getenv ("TMPDIR");
-#ifdef VMS
- if (tempdir == NULL)
- tempdir = "sys$scratch:";
-#else
- if (tempdir == NULL)
- tempdir = "/tmp/";
- else
- tempdir = concat (tempdir, "/", "");
-#endif
-
- keep_tempfiles = 0;
-
- /* Allocate ARGC input files, which must be enough. */
-
- infiles = (char **) xmalloc (argc * sizeof (char *));
- outfiles = (char **) xmalloc (argc * sizeof (char *));
- ip = infiles;
- op = outfiles;
-
- while ((optc = getopt (argc, argv, "-ko:")) != EOF)
- {
- switch (optc)
- {
- case 1: /* Non-option filename. */
- *ip++ = optarg;
- *op++ = NULL;
- break;
-
- case 'k':
- keep_tempfiles = 1;
- break;
-
- case 'o':
- if (op > outfiles)
- *(op - 1) = optarg;
- break;
-
- default:
- usage ();
- }
- }
-
- /* Record number of keyfields and terminate list of filenames. */
- num_infiles = ip - infiles;
- *ip = 0;
- if (num_infiles == 0)
- usage ();
-}
-
-/* Return a name for a temporary file. */
-
-char *
-maketempname (count)
- int count;
-{
- char tempsuffix[10];
- sprintf (tempsuffix, "%d", count);
- return concat (tempdir, tempbase, tempsuffix);
-}
-
-/* Delete all temporary files up to TO_COUNT. */
-
-void
-flush_tempfiles (to_count)
- int to_count;
-{
- if (keep_tempfiles)
- return;
- while (last_deleted_tempcount < to_count)
- unlink (maketempname (++last_deleted_tempcount));
-}
-
-/* Copy the input file open on IDESC into a temporary file
- and return the temporary file name. */
-
-#define BUFSIZE 1024
-
-char *
-tempcopy (idesc)
- int idesc;
-{
- char *outfile = maketempname (++tempcount);
- int odesc;
- char buffer[BUFSIZE];
-
- odesc = open (outfile, O_WRONLY | O_CREAT, 0666);
-
- if (odesc < 0)
- pfatal_with_name (outfile);
-
- while (1)
- {
- int nread = read (idesc, buffer, BUFSIZE);
- write (odesc, buffer, nread);
- if (!nread)
- break;
- }
-
- close (odesc);
-
- return outfile;
-}
-
-/* Compare LINE1 and LINE2 according to the specified set of keyfields. */
-
-int
-compare_full (line1, line2)
- char **line1, **line2;
-{
- int i;
-
- /* Compare using the first keyfield;
- if that does not distinguish the lines, try the second keyfield;
- and so on. */
-
- for (i = 0; i < num_keyfields; i++)
- {
- long length1, length2;
- char *start1 = find_field (&keyfields[i], *line1, &length1);
- char *start2 = find_field (&keyfields[i], *line2, &length2);
- int tem = compare_field (&keyfields[i], start1, length1, *line1 - text_base,
- start2, length2, *line2 - text_base);
- if (tem)
- {
- if (keyfields[i].reverse)
- return -tem;
- return tem;
- }
- }
-
- return 0; /* Lines match exactly. */
-}
-
-/* Compare LINE1 and LINE2, described by structures
- in which the first keyfield is identified in advance.
- For positional sorting, assumes that the order of the lines in core
- reflects their nominal order. */
-
-int
-compare_prepared (line1, line2)
- struct lineinfo *line1, *line2;
-{
- int i;
- int tem;
- char *text1, *text2;
-
- /* Compare using the first keyfield, which has been found for us already. */
- if (keyfields->positional)
- {
- if (line1->text - text_base > line2->text - text_base)
- tem = 1;
- else
- tem = -1;
- }
- else if (keyfields->numeric)
- tem = line1->key.number - line2->key.number;
- else
- tem = compare_field (keyfields, line1->key.text, line1->keylen, 0,
- line2->key.text, line2->keylen, 0);
- if (tem)
- {
- if (keyfields->reverse)
- return -tem;
- return tem;
- }
-
- text1 = line1->text;
- text2 = line2->text;
-
- /* Compare using the second keyfield;
- if that does not distinguish the lines, try the third keyfield;
- and so on. */
-
- for (i = 1; i < num_keyfields; i++)
- {
- long length1, length2;
- char *start1 = find_field (&keyfields[i], text1, &length1);
- char *start2 = find_field (&keyfields[i], text2, &length2);
- int tem = compare_field (&keyfields[i], start1, length1, text1 - text_base,
- start2, length2, text2 - text_base);
- if (tem)
- {
- if (keyfields[i].reverse)
- return -tem;
- return tem;
- }
- }
-
- return 0; /* Lines match exactly. */
-}
-
-/* Like compare_full but more general.
- You can pass any strings, and you can say how many keyfields to use.
- POS1 and POS2 should indicate the nominal positional ordering of
- the two lines in the input. */
-
-int
-compare_general (str1, str2, pos1, pos2, use_keyfields)
- char *str1, *str2;
- long pos1, pos2;
- int use_keyfields;
-{
- int i;
-
- /* Compare using the first keyfield;
- if that does not distinguish the lines, try the second keyfield;
- and so on. */
-
- for (i = 0; i < use_keyfields; i++)
- {
- long length1, length2;
- char *start1 = find_field (&keyfields[i], str1, &length1);
- char *start2 = find_field (&keyfields[i], str2, &length2);
- int tem = compare_field (&keyfields[i], start1, length1, pos1,
- start2, length2, pos2);
- if (tem)
- {
- if (keyfields[i].reverse)
- return -tem;
- return tem;
- }
- }
-
- return 0; /* Lines match exactly. */
-}
-
-/* Find the start and length of a field in STR according to KEYFIELD.
- A pointer to the starting character is returned, and the length
- is stored into the int that LENGTHPTR points to. */
-
-char *
-find_field (keyfield, str, lengthptr)
- struct keyfield *keyfield;
- char *str;
- long *lengthptr;
-{
- char *start;
- char *end;
- char *(*fun) ();
-
- if (keyfield->braced)
- fun = find_braced_pos;
- else
- fun = find_pos;
-
- start = (*fun) (str, keyfield->startwords, keyfield->startchars,
- keyfield->ignore_blanks);
- if (keyfield->endwords < 0)
- {
- if (keyfield->braced)
- end = find_braced_end (start);
- else
- {
- end = start;
- while (*end && *end != '\n')
- end++;
- }
- }
- else
- {
- end = (*fun) (str, keyfield->endwords, keyfield->endchars, 0);
- if (end - str < start - str)
- end = start;
- }
- *lengthptr = end - start;
- return start;
-}
-
-/* Return a pointer to a specified place within STR,
- skipping (from the beginning) WORDS words and then CHARS chars.
- If IGNORE_BLANKS is nonzero, we skip all blanks
- after finding the specified word. */
-
-char *
-find_pos (str, words, chars, ignore_blanks)
- char *str;
- int words, chars;
- int ignore_blanks;
-{
- int i;
- char *p = str;
-
- for (i = 0; i < words; i++)
- {
- char c;
- /* Find next bunch of nonblanks and skip them. */
- while ((c = *p) == ' ' || c == '\t')
- p++;
- while ((c = *p) && c != '\n' && !(c == ' ' || c == '\t'))
- p++;
- if (!*p || *p == '\n')
- return p;
- }
-
- while (*p == ' ' || *p == '\t')
- p++;
-
- for (i = 0; i < chars; i++)
- {
- if (!*p || *p == '\n')
- break;
- p++;
- }
- return p;
-}
-
-/* Like find_pos but assumes that each field is surrounded by braces
- and that braces within fields are balanced. */
-
-char *
-find_braced_pos (str, words, chars, ignore_blanks)
- char *str;
- int words, chars;
- int ignore_blanks;
-{
- int i;
- int bracelevel;
- char *p = str;
- char c;
-
- for (i = 0; i < words; i++)
- {
- bracelevel = 1;
- while ((c = *p++) != '{' && c != '\n' && c)
- /* Do nothing. */ ;
- if (c != '{')
- return p - 1;
- while (bracelevel)
- {
- c = *p++;
- if (c == '{')
- bracelevel++;
- if (c == '}')
- bracelevel--;
- if (c == 0 || c == '\n')
- return p - 1;
- }
- }
-
- while ((c = *p++) != '{' && c != '\n' && c)
- /* Do nothing. */ ;
-
- if (c != '{')
- return p - 1;
-
- if (ignore_blanks)
- while ((c = *p) == ' ' || c == '\t')
- p++;
-
- for (i = 0; i < chars; i++)
- {
- if (!*p || *p == '\n')
- break;
- p++;
- }
- return p;
-}
-
-/* Find the end of the balanced-brace field which starts at STR.
- The position returned is just before the closing brace. */
-
-char *
-find_braced_end (str)
- char *str;
-{
- int bracelevel;
- char *p = str;
- char c;
-
- bracelevel = 1;
- while (bracelevel)
- {
- c = *p++;
- if (c == '{')
- bracelevel++;
- if (c == '}')
- bracelevel--;
- if (c == 0 || c == '\n')
- return p - 1;
- }
- return p - 1;
-}
-
-long
-find_value (start, length)
- char *start;
- long length;
-{
- while (length != 0L)
- {
- if (isdigit (*start))
- return atol (start);
- length--;
- start++;
- }
- return 0l;
-}
-
-/* Vector used to translate characters for comparison.
- This is how we make all alphanumerics follow all else,
- and ignore case in the first sorting. */
-int char_order[256];
-
-void
-init_char_order ()
-{
- int i;
- for (i = 1; i < 256; i++)
- char_order[i] = i;
-
- for (i = '0'; i <= '9'; i++)
- char_order[i] += 512;
-
- for (i = 'a'; i <= 'z'; i++)
- {
- char_order[i] = 512 + i;
- char_order[i + 'A' - 'a'] = 512 + i;
- }
-}
-
-/* Compare two fields (each specified as a start pointer and a character count)
- according to KEYFIELD.
- The sign of the value reports the relation between the fields. */
-
-int
-compare_field (keyfield, start1, length1, pos1, start2, length2, pos2)
- struct keyfield *keyfield;
- char *start1;
- long length1;
- long pos1;
- char *start2;
- long length2;
- long pos2;
-{
- if (keyfields->positional)
- {
- if (pos1 > pos2)
- return 1;
- else
- return -1;
- }
- if (keyfield->numeric)
- {
- long value = find_value (start1, length1) - find_value (start2, length2);
- if (value > 0)
- return 1;
- if (value < 0)
- return -1;
- return 0;
- }
- else
- {
- char *p1 = start1;
- char *p2 = start2;
- char *e1 = start1 + length1;
- char *e2 = start2 + length2;
-
- while (1)
- {
- int c1, c2;
-
- if (p1 == e1)
- c1 = 0;
- else
- c1 = *p1++;
- if (p2 == e2)
- c2 = 0;
- else
- c2 = *p2++;
-
- if (char_order[c1] != char_order[c2])
- return char_order[c1] - char_order[c2];
- if (!c1)
- break;
- }
-
- /* Strings are equal except possibly for case. */
- p1 = start1;
- p2 = start2;
- while (1)
- {
- int c1, c2;
-
- if (p1 == e1)
- c1 = 0;
- else
- c1 = *p1++;
- if (p2 == e2)
- c2 = 0;
- else
- c2 = *p2++;
-
- if (c1 != c2)
- /* Reverse sign here so upper case comes out last. */
- return c2 - c1;
- if (!c1)
- break;
- }
-
- return 0;
- }
-}
-
-/* A `struct linebuffer' is a structure which holds a line of text.
- `readline' reads a line from a stream into a linebuffer
- and works regardless of the length of the line. */
-
-struct linebuffer
-{
- long size;
- char *buffer;
-};
-
-/* Initialize LINEBUFFER for use. */
-
-void
-initbuffer (linebuffer)
- struct linebuffer *linebuffer;
-{
- linebuffer->size = 200;
- linebuffer->buffer = (char *) xmalloc (200);
-}
-
-/* Read a line of text from STREAM into LINEBUFFER.
- Return the length of the line. */
-
-long
-readline (linebuffer, stream)
- struct linebuffer *linebuffer;
- FILE *stream;
-{
- char *buffer = linebuffer->buffer;
- char *p = linebuffer->buffer;
- char *end = p + linebuffer->size;
-
- while (1)
- {
- int c = getc (stream);
- if (p == end)
- {
- buffer = (char *) xrealloc (buffer, linebuffer->size *= 2);
- p += buffer - linebuffer->buffer;
- end += buffer - linebuffer->buffer;
- linebuffer->buffer = buffer;
- }
- if (c < 0 || c == '\n')
- {
- *p = 0;
- break;
- }
- *p++ = c;
- }
-
- return p - buffer;
-}
-
-/* Sort an input file too big to sort in core. */
-
-void
-sort_offline (infile, nfiles, total, outfile)
- char *infile;
- int nfiles;
- long total;
- char *outfile;
-{
- /* More than enough. */
- int ntemps = 2 * (total + MAX_IN_CORE_SORT - 1) / MAX_IN_CORE_SORT;
- char **tempfiles = (char **) xmalloc (ntemps * sizeof (char *));
- FILE *istream = fopen (infile, "r");
- int i;
- struct linebuffer lb;
- long linelength;
- int failure = 0;
-
- initbuffer (&lb);
-
- /* Read in one line of input data. */
-
- linelength = readline (&lb, istream);
-
- if (lb.buffer[0] != '\\' && lb.buffer[0] != '@')
- {
- error ("%s: not a texinfo index file", infile);
- return;
- }
-
- /* Split up the input into `ntemps' temporary files, or maybe fewer,
- and put the new files' names into `tempfiles' */
-
- for (i = 0; i < ntemps; i++)
- {
- char *outname = maketempname (++tempcount);
- FILE *ostream = fopen (outname, "w");
- long tempsize = 0;
-
- if (!ostream)
- pfatal_with_name (outname);
- tempfiles[i] = outname;
-
- /* Copy lines into this temp file as long as it does not make file
- "too big" or until there are no more lines. */
-
- while (tempsize + linelength + 1 <= MAX_IN_CORE_SORT)
- {
- tempsize += linelength + 1;
- fputs (lb.buffer, ostream);
- putc ('\n', ostream);
-
- /* Read another line of input data. */
-
- linelength = readline (&lb, istream);
- if (!linelength && feof (istream))
- break;
-
- if (lb.buffer[0] != '\\' && lb.buffer[0] != '@')
- {
- error ("%s: not a texinfo index file", infile);
- failure = 1;
- goto fail;
- }
- }
- fclose (ostream);
- if (feof (istream))
- break;
- }
-
- free (lb.buffer);
-
-fail:
- /* Record number of temp files we actually needed. */
-
- ntemps = i;
-
- /* Sort each tempfile into another tempfile.
- Delete the first set of tempfiles and put the names of the second
- into `tempfiles'. */
-
- for (i = 0; i < ntemps; i++)
- {
- char *newtemp = maketempname (++tempcount);
- sort_in_core (&tempfiles[i], MAX_IN_CORE_SORT, newtemp);
- if (!keep_tempfiles)
- unlink (tempfiles[i]);
- tempfiles[i] = newtemp;
- }
-
- if (failure)
- return;
-
- /* Merge the tempfiles together and indexify. */
-
- merge_files (tempfiles, ntemps, outfile);
-}
-
-/* Sort INFILE, whose size is TOTAL,
- assuming that is small enough to be done in-core,
- then indexify it and send the output to OUTFILE (or to stdout). */
-
-void
-sort_in_core (infile, total, outfile)
- char *infile;
- long total;
- char *outfile;
-{
- char **nextline;
- char *data = (char *) xmalloc (total + 1);
- char *file_data;
- long file_size;
- int i;
- FILE *ostream = stdout;
- struct lineinfo *lineinfo;
-
- /* Read the contents of the file into the moby array `data'. */
-
- int desc = open (infile, O_RDONLY, 0);
-
- if (desc < 0)
- fatal ("failure reopening %s", infile);
- for (file_size = 0;;)
- {
- i = read (desc, data + file_size, total - file_size);
- if (i <= 0)
- break;
- file_size += i;
- }
- file_data = data;
- data[file_size] = 0;
-
- close (desc);
-
- if (file_size > 0 && data[0] != '\\' && data[0] != '@')
- {
- error ("%s: not a texinfo index file", infile);
- return;
- }
-
- init_char_order ();
-
- /* Sort routines want to know this address. */
-
- text_base = data;
-
- /* Create the array of pointers to lines, with a default size
- frequently enough. */
-
- nlines = total / 50;
- if (!nlines)
- nlines = 2;
- linearray = (char **) xmalloc (nlines * sizeof (char *));
-
- /* `nextline' points to the next free slot in this array.
- `nlines' is the allocated size. */
-
- nextline = linearray;
-
- /* Parse the input file's data, and make entries for the lines. */
-
- nextline = parsefile (infile, nextline, file_data, file_size);
- if (nextline == 0)
- {
- error ("%s: not a texinfo index file", infile);
- return;
- }
-
- /* Sort the lines. */
-
- /* If we have enough space, find the first keyfield of each line in advance.
- Make a `struct lineinfo' for each line, which records the keyfield
- as well as the line, and sort them. */
-
- lineinfo = (struct lineinfo *) malloc ((nextline - linearray) * sizeof (struct lineinfo));
-
- if (lineinfo)
- {
- struct lineinfo *lp;
- char **p;
-
- for (lp = lineinfo, p = linearray; p != nextline; lp++, p++)
- {
- lp->text = *p;
- lp->key.text = find_field (keyfields, *p, &lp->keylen);
- if (keyfields->numeric)
- lp->key.number = find_value (lp->key.text, lp->keylen);
- }
-
- qsort (lineinfo, nextline - linearray, sizeof (struct lineinfo), compare_prepared);
-
- for (lp = lineinfo, p = linearray; p != nextline; lp++, p++)
- *p = lp->text;
-
- free (lineinfo);
- }
- else
- qsort (linearray, nextline - linearray, sizeof (char *), compare_full);
-
- /* Open the output file. */
-
- if (outfile)
- {
- ostream = fopen (outfile, "w");
- if (!ostream)
- pfatal_with_name (outfile);
- }
-
- writelines (linearray, nextline - linearray, ostream);
- if (outfile)
- fclose (ostream);
-
- free (linearray);
- free (data);
-}
-
-/* Parse an input string in core into lines.
- DATA is the input string, and SIZE is its length.
- Data goes in LINEARRAY starting at NEXTLINE.
- The value returned is the first entry in LINEARRAY still unused.
- Value 0 means input file contents are invalid. */
-
-char **
-parsefile (filename, nextline, data, size)
- char *filename;
- char **nextline;
- char *data;
- long size;
-{
- char *p, *end;
- char **line = nextline;
-
- p = data;
- end = p + size;
- *end = 0;
-
- while (p != end)
- {
- if (p[0] != '\\' && p[0] != '@')
- return 0;
-
- *line = p;
- while (*p && *p != '\n')
- p++;
- if (p != end)
- p++;
-
- line++;
- if (line == linearray + nlines)
- {
- char **old = linearray;
- linearray = (char **) xrealloc (linearray, sizeof (char *) * (nlines *= 4));
- line += linearray - old;
- }
- }
-
- return line;
-}
-
-/* Indexification is a filter applied to the sorted lines
- as they are being written to the output file.
- Multiple entries for the same name, with different page numbers,
- get combined into a single entry with multiple page numbers.
- The first braced field, which is used for sorting, is discarded.
- However, its first character is examined, folded to lower case,
- and if it is different from that in the previous line fed to us
- a \initial line is written with one argument, the new initial.
-
- If an entry has four braced fields, then the second and third
- constitute primary and secondary names.
- In this case, each change of primary name
- generates a \primary line which contains only the primary name,
- and in between these are \secondary lines which contain
- just a secondary name and page numbers. */
-
-/* The last primary name we wrote a \primary entry for.
- If only one level of indexing is being done, this is the last name seen. */
-char *lastprimary;
-/* Length of storage allocated for lastprimary. */
-int lastprimarylength;
-
-/* Similar, for the secondary name. */
-char *lastsecondary;
-int lastsecondarylength;
-
-/* Zero if we are not in the middle of writing an entry.
- One if we have written the beginning of an entry but have not
- yet written any page numbers into it.
- Greater than one if we have written the beginning of an entry
- plus at least one page number. */
-int pending;
-
-/* The initial (for sorting purposes) of the last primary entry written.
- When this changes, a \initial {c} line is written */
-
-char *lastinitial;
-
-int lastinitiallength;
-
-/* When we need a string of length 1 for the value of lastinitial,
- store it here. */
-
-char lastinitial1[2];
-
-/* Initialize static storage for writing an index. */
-
-void
-init_index ()
-{
- pending = 0;
- lastinitial = lastinitial1;
- lastinitial1[0] = 0;
- lastinitial1[1] = 0;
- lastinitiallength = 0;
- lastprimarylength = 100;
- lastprimary = (char *) xmalloc (lastprimarylength + 1);
- bzero (lastprimary, lastprimarylength + 1);
- lastsecondarylength = 100;
- lastsecondary = (char *) xmalloc (lastsecondarylength + 1);
- bzero (lastsecondary, lastsecondarylength + 1);
-}
-
-/* Indexify. Merge entries for the same name,
- insert headers for each initial character, etc. */
-
-void
-indexify (line, ostream)
- char *line;
- FILE *ostream;
-{
- char *primary, *secondary, *pagenumber;
- int primarylength, secondarylength = 0, pagelength;
- int nosecondary;
- int initiallength;
- char *initial;
- char initial1[2];
- register char *p;
-
- /* First, analyze the parts of the entry fed to us this time. */
-
- p = find_braced_pos (line, 0, 0, 0);
- if (*p == '{')
- {
- initial = p;
- /* Get length of inner pair of braces starting at `p',
- including that inner pair of braces. */
- initiallength = find_braced_end (p + 1) + 1 - p;
- }
- else
- {
- initial = initial1;
- initial1[0] = *p;
- initial1[1] = 0;
- initiallength = 1;
-
- if (initial1[0] >= 'a' && initial1[0] <= 'z')
- initial1[0] -= 040;
- }
-
- pagenumber = find_braced_pos (line, 1, 0, 0);
- pagelength = find_braced_end (pagenumber) - pagenumber;
- if (pagelength == 0)
- abort ();
-
- primary = find_braced_pos (line, 2, 0, 0);
- primarylength = find_braced_end (primary) - primary;
-
- secondary = find_braced_pos (line, 3, 0, 0);
- nosecondary = !*secondary;
- if (!nosecondary)
- secondarylength = find_braced_end (secondary) - secondary;
-
- /* If the primary is different from before, make a new primary entry. */
- if (strncmp (primary, lastprimary, primarylength))
- {
- /* Close off current secondary entry first, if one is open. */
- if (pending)
- {
- fputs ("}\n", ostream);
- pending = 0;
- }
-
- /* If this primary has a different initial, include an entry for
- the initial. */
- if (initiallength != lastinitiallength ||
- strncmp (initial, lastinitial, initiallength))
- {
- fprintf (ostream, "\\initial {");
- fwrite (initial, 1, initiallength, ostream);
- fprintf (ostream, "}\n", initial);
- if (initial == initial1)
- {
- lastinitial = lastinitial1;
- *lastinitial1 = *initial1;
- }
- else
- {
- lastinitial = initial;
- }
- lastinitiallength = initiallength;
- }
-
- /* Make the entry for the primary. */
- if (nosecondary)
- fputs ("\\entry {", ostream);
- else
- fputs ("\\primary {", ostream);
- fwrite (primary, primarylength, 1, ostream);
- if (nosecondary)
- {
- fputs ("}{", ostream);
- pending = 1;
- }
- else
- fputs ("}\n", ostream);
-
- /* Record name of most recent primary. */
- if (lastprimarylength < primarylength)
- {
- lastprimarylength = primarylength + 100;
- lastprimary = (char *) xrealloc (lastprimary,
- 1 + lastprimarylength);
- }
- strncpy (lastprimary, primary, primarylength);
- lastprimary[primarylength] = 0;
-
- /* There is no current secondary within this primary, now. */
- lastsecondary[0] = 0;
- }
-
- /* Should not have an entry with no subtopic following one with a subtopic. */
-
- if (nosecondary && *lastsecondary)
- error ("entry %s follows an entry with a secondary name", line);
-
- /* Start a new secondary entry if necessary. */
- if (!nosecondary && strncmp (secondary, lastsecondary, secondarylength))
- {
- if (pending)
- {
- fputs ("}\n", ostream);
- pending = 0;
- }
-
- /* Write the entry for the secondary. */
- fputs ("\\secondary {", ostream);
- fwrite (secondary, secondarylength, 1, ostream);
- fputs ("}{", ostream);
- pending = 1;
-
- /* Record name of most recent secondary. */
- if (lastsecondarylength < secondarylength)
- {
- lastsecondarylength = secondarylength + 100;
- lastsecondary = (char *) xrealloc (lastsecondary,
- 1 + lastsecondarylength);
- }
- strncpy (lastsecondary, secondary, secondarylength);
- lastsecondary[secondarylength] = 0;
- }
-
- /* Here to add one more page number to the current entry. */
- if (pending++ != 1)
- fputs (", ", ostream); /* Punctuate first, if this is not the first. */
- fwrite (pagenumber, pagelength, 1, ostream);
-}
-
-/* Close out any unfinished output entry. */
-
-void
-finish_index (ostream)
- FILE *ostream;
-{
- if (pending)
- fputs ("}\n", ostream);
- free (lastprimary);
- free (lastsecondary);
-}
-
-/* Copy the lines in the sorted order.
- Each line is copied out of the input file it was found in. */
-
-void
-writelines (linearray, nlines, ostream)
- char **linearray;
- int nlines;
- FILE *ostream;
-{
- char **stop_line = linearray + nlines;
- char **next_line;
-
- init_index ();
-
- /* Output the text of the lines, and free the buffer space. */
-
- for (next_line = linearray; next_line != stop_line; next_line++)
- {
- /* If -u was specified, output the line only if distinct from previous one. */
- if (next_line == linearray
- /* Compare previous line with this one, using only the
- explicitly specd keyfields. */
- || compare_general (*(next_line - 1), *next_line, 0L, 0L, num_keyfields - 1))
- {
- char *p = *next_line;
- char c;
-
- while ((c = *p++) && c != '\n')
- /* Do nothing. */ ;
- *(p - 1) = 0;
- indexify (*next_line, ostream);
- }
- }
-
- finish_index (ostream);
-}
-
-/* Assume (and optionally verify) that each input file is sorted;
- merge them and output the result.
- Returns nonzero if any input file fails to be sorted.
-
- This is the high-level interface that can handle an unlimited
- number of files. */
-
-#define MAX_DIRECT_MERGE 10
-
-int
-merge_files (infiles, nfiles, outfile)
- char **infiles;
- int nfiles;
- char *outfile;
-{
- char **tempfiles;
- int ntemps;
- int i;
- int value = 0;
- int start_tempcount = tempcount;
-
- if (nfiles <= MAX_DIRECT_MERGE)
- return merge_direct (infiles, nfiles, outfile);
-
- /* Merge groups of MAX_DIRECT_MERGE input files at a time,
- making a temporary file to hold each group's result. */
-
- ntemps = (nfiles + MAX_DIRECT_MERGE - 1) / MAX_DIRECT_MERGE;
- tempfiles = (char **) xmalloc (ntemps * sizeof (char *));
- for (i = 0; i < ntemps; i++)
- {
- int nf = MAX_DIRECT_MERGE;
- if (i + 1 == ntemps)
- nf = nfiles - i * MAX_DIRECT_MERGE;
- tempfiles[i] = maketempname (++tempcount);
- value |= merge_direct (&infiles[i * MAX_DIRECT_MERGE], nf, tempfiles[i]);
- }
-
- /* All temporary files that existed before are no longer needed
- since their contents have been merged into our new tempfiles.
- So delete them. */
- flush_tempfiles (start_tempcount);
-
- /* Now merge the temporary files we created. */
-
- merge_files (tempfiles, ntemps, outfile);
-
- free (tempfiles);
-
- return value;
-}
-
-/* Assume (and optionally verify) that each input file is sorted;
- merge them and output the result.
- Returns nonzero if any input file fails to be sorted.
-
- This version of merging will not work if the number of
- input files gets too high. Higher level functions
- use it only with a bounded number of input files. */
-
-int
-merge_direct (infiles, nfiles, outfile)
- char **infiles;
- int nfiles;
- char *outfile;
-{
- struct linebuffer *lb1, *lb2;
- struct linebuffer **thisline, **prevline;
- FILE **streams;
- int i;
- int nleft;
- int lossage = 0;
- int *file_lossage;
- struct linebuffer *prev_out = 0;
- FILE *ostream = stdout;
-
- if (outfile)
- {
- ostream = fopen (outfile, "w");
- }
- if (!ostream)
- pfatal_with_name (outfile);
-
- init_index ();
-
- if (nfiles == 0)
- {
- if (outfile)
- fclose (ostream);
- return 0;
- }
-
- /* For each file, make two line buffers.
- Also, for each file, there is an element of `thisline'
- which points at any time to one of the file's two buffers,
- and an element of `prevline' which points to the other buffer.
- `thisline' is supposed to point to the next available line from the file,
- while `prevline' holds the last file line used,
- which is remembered so that we can verify that the file is properly sorted. */
-
- /* lb1 and lb2 contain one buffer each per file. */
- lb1 = (struct linebuffer *) xmalloc (nfiles * sizeof (struct linebuffer));
- lb2 = (struct linebuffer *) xmalloc (nfiles * sizeof (struct linebuffer));
-
- /* thisline[i] points to the linebuffer holding the next available line in file i,
- or is zero if there are no lines left in that file. */
- thisline = (struct linebuffer **)
- xmalloc (nfiles * sizeof (struct linebuffer *));
- /* prevline[i] points to the linebuffer holding the last used line
- from file i. This is just for verifying that file i is properly
- sorted. */
- prevline = (struct linebuffer **)
- xmalloc (nfiles * sizeof (struct linebuffer *));
- /* streams[i] holds the input stream for file i. */
- streams = (FILE **) xmalloc (nfiles * sizeof (FILE *));
- /* file_lossage[i] is nonzero if we already know file i is not
- properly sorted. */
- file_lossage = (int *) xmalloc (nfiles * sizeof (int));
-
- /* Allocate and initialize all that storage. */
-
- for (i = 0; i < nfiles; i++)
- {
- initbuffer (&lb1[i]);
- initbuffer (&lb2[i]);
- thisline[i] = &lb1[i];
- prevline[i] = &lb2[i];
- file_lossage[i] = 0;
- streams[i] = fopen (infiles[i], "r");
- if (!streams[i])
- pfatal_with_name (infiles[i]);
-
- readline (thisline[i], streams[i]);
- }
-
- /* Keep count of number of files not at eof. */
- nleft = nfiles;
-
- while (nleft)
- {
- struct linebuffer *best = 0;
- struct linebuffer *exch;
- int bestfile = -1;
- int i;
-
- /* Look at the next avail line of each file; choose the least one. */
-
- for (i = 0; i < nfiles; i++)
- {
- if (thisline[i] &&
- (!best ||
- 0 < compare_general (best->buffer, thisline[i]->buffer,
- (long) bestfile, (long) i, num_keyfields)))
- {
- best = thisline[i];
- bestfile = i;
- }
- }
-
- /* Output that line, unless it matches the previous one and we
- don't want duplicates. */
-
- if (!(prev_out &&
- !compare_general (prev_out->buffer,
- best->buffer, 0L, 1L, num_keyfields - 1)))
- indexify (best->buffer, ostream);
- prev_out = best;
-
- /* Now make the line the previous of its file, and fetch a new
- line from that file. */
-
- exch = prevline[bestfile];
- prevline[bestfile] = thisline[bestfile];
- thisline[bestfile] = exch;
-
- while (1)
- {
- /* If the file has no more, mark it empty. */
-
- if (feof (streams[bestfile]))
- {
- thisline[bestfile] = 0;
- /* Update the number of files still not empty. */
- nleft--;
- break;
- }
- readline (thisline[bestfile], streams[bestfile]);
- if (thisline[bestfile]->buffer[0] || !feof (streams[bestfile]))
- break;
- }
- }
-
- finish_index (ostream);
-
- /* Free all storage and close all input streams. */
-
- for (i = 0; i < nfiles; i++)
- {
- fclose (streams[i]);
- free (lb1[i].buffer);
- free (lb2[i].buffer);
- }
- free (file_lossage);
- free (lb1);
- free (lb2);
- free (thisline);
- free (prevline);
- free (streams);
-
- if (outfile)
- fclose (ostream);
-
- return lossage;
-}
-
-/* Print error message and exit. */
-
-void
-fatal (s1, s2)
- char *s1, *s2;
-{
- error (s1, s2);
- exit (TI_FATAL_ERROR);
-}
-
-/* Print error message. S1 is printf control string, S2 is arg for it. */
-
-void
-error (s1, s2)
- char *s1, *s2;
-{
- printf ("%s: ", program_name);
- printf (s1, s2);
- printf ("\n");
-}
-
-void
-perror_with_name (name)
- char *name;
-{
- char *s;
-
- if (errno < sys_nerr)
- s = concat ("", sys_errlist[errno], " for %s");
- else
- s = "cannot open %s";
- error (s, name);
-}
-
-void
-pfatal_with_name (name)
- char *name;
-{
- char *s;
-
- if (errno < sys_nerr)
- s = concat ("", sys_errlist[errno], " for %s");
- else
- s = "cannot open %s";
- fatal (s, name);
-}
-
-/* Return a newly-allocated string whose contents concatenate those of
- S1, S2, S3. */
-
-char *
-concat (s1, s2, s3)
- char *s1, *s2, *s3;
-{
- int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3);
- char *result = (char *) xmalloc (len1 + len2 + len3 + 1);
-
- strcpy (result, s1);
- strcpy (result + len1, s2);
- strcpy (result + len1 + len2, s3);
- *(result + len1 + len2 + len3) = 0;
-
- return result;
-}
-
-/* Just like malloc, but kills the program in case of fatal error. */
-void *
-xmalloc (nbytes)
- int nbytes;
-{
- void *temp = (void *) malloc (nbytes);
-
- if (nbytes && temp == (void *)NULL)
- memory_error ("xmalloc", nbytes);
-
- return (temp);
-}
-
-/* Like realloc (), but barfs if there isn't enough memory. */
-void *
-xrealloc (pointer, nbytes)
- void *pointer;
- int nbytes;
-{
- void *temp;
-
- if (!pointer)
- temp = (void *)xmalloc (nbytes);
- else
- temp = (void *)realloc (pointer, nbytes);
-
- if (nbytes && !temp)
- memory_error ("xrealloc", nbytes);
-
- return (temp);
-}
-
-memory_error (callers_name, bytes_wanted)
- char *callers_name;
- int bytes_wanted;
-{
- char printable_string[80];
-
- sprintf (printable_string,
- "Virtual memory exhausted in %s ()! Needed %d bytes.",
- callers_name, bytes_wanted);
-
- error (printable_string);
- abort ();
-}
-
-#ifndef STDC_HEADERS
-void
-bzero (b, length)
- register char *b;
- register int length;
-{
-#ifdef VMS
- short zero = 0;
- long max_str = 65535;
-
- while (length > max_str)
- {
- (void) LIB$MOVC5 (&zero, &zero, &zero, &max_str, b);
- length -= max_str;
- b += max_str;
- }
- (void) LIB$MOVC5 (&zero, &zero, &zero, &length, b);
-#else
- while (length-- > 0)
- *b++ = 0;
-#endif /* not VMS */
-}
-#endif /* not STDC_HEADERS */
diff --git a/Master/texmf-dist/doc/support/texdraw/txdexamp.latex b/Master/texmf-dist/doc/support/texdraw/txdexamp.latex
deleted file mode 100644
index c3ea8b4eee9..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/txdexamp.latex
+++ /dev/null
@@ -1,514 +0,0 @@
-% TeXdraw examples for latex
-
-% $Id: txdexamp.latex,v 2.0 1995/12/18 texdraw-V2R0 $
-
-% These examples are taken from the TeXdraw manual.
-
-% Peter Kabal
-% Department of Electrical Engineering
-% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
-
-% kabal@TSP.EE.McGill.CA
-
-\documentclass [11pt]{article}
-\usepackage {texdraw}
-
-\input txdtools
-\let\et=\etexdraw
-\def\etexdraw{\drawbb\et}
-
-\begin{document}
-
-\noindent
-TeXdraw examples using LaTeX.
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
- \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
- \move (0 1.0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \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$}
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \drawdim in
- \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
- \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
- \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
- \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
- \arrowheadtype t:H \avec(2.5 0.5)
- \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
- \textref h:R v:T \htext (0.35 0.50){\tt t:F}
- \textref h:R v:T \htext (1.0 0.43){\tt t:V}
- \textref h:R v:T \htext (1.82 0.50){\tt t:T}
- \textref h:R v:T \htext (2.5 0.43){\tt t:H}
- \textref h:R v:B \htext (2.8 0){\tt t:W}
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \newcommand{\bdot}{\bsegment
- \fcir f:0 r:0.02
- \esegment}
- \newcommand{\Ttext}[1]{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
- \newcommand{\Btext}[1]{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
- \newcommand{\Ltext}[1]{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \newcommand{\Rtext}[1]{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \move (-1.5 0)
- \bsegment
- \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
- \Ttext{Horizontal Text}
- \bdot \Btext{\tt h:C v:C}
- \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
- \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
- \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
- \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
- \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
- \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
- \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
- \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
- \lvec (-0.9 -0.3)
- \esegment
- \newcommand{\atext}{\rtext td:45 }
- \newcommand{\ATtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:C v:B \atext (-0.06 +0.06){#1}
- \esegment}
- \newcommand{\ABtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:C v:T \atext (+0.060 -0.06){#1}
- \esegment}
- \newcommand{\ALtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:R v:C \atext (-0.08 -0.08){#1}
- \esegment}
- \newcommand{\ARtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:L v:C \atext (+0.08 +0.08){#1}
- \esegment}
- \move (+1.5 0)
- \bsegment
- \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
- \setsegscale 0.707
- \ATtext{Rotated Text}
- \bdot \ABtext{\tt h:C v:C}
- \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
- \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
- \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
- \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
- \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
- \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
- \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
- \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
- \lvec (-0.6 -1.2)
- \esegment
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
- \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
- \move(0 0)
- \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}
- \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \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)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \newcommand{\Ltext}[1]{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \newcommand{\Rtext}[1]{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \newcommand{\bdot}{\fcir f:0 r:0.02 }
- \newcommand{\Ldot}[1]{\bdot \Ltext{#1}}
- \newcommand{\Rdot}[1]{\bdot \Rtext{#1}}
- \move (-2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 1)(1 0)
- \esegment
- \move (0 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
- \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
- \esegment
- \move ( 2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 0)(1 1)
- \esegment
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\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
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\newcommand{\tbox}[1]{\bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\begin{center}
-\begin{texdraw}
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\def\cavec (#1 #2)(#3 #4)(#5 #6){
- \clvec (#1 #2)(#3 #4)(#5 #6)
- \cossin (#3 #4)(#5 #6)\cosa\sina
- \rmove (0 0) % stroke the Bezier curve
- \bsegment
- \drawdim in \setsegscale 0.05
- \move ({-\cosa} -\sina) \avec (0 0)
- \esegment}
-
-\def\caw (#1 #2){
- \currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
-
-% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
-% Find the rotated offset (dx dy) -> (du dv)
- \rotatecoord (0.4 0.1)\cosa\sina \du\dv
-
-% calculate the length of the vector
- \vectlen ({\xa} \ya)(#1 #2)\len
-
-% draw the curve in normalized units
- \bsegment
- \setsegscale {\len}
- \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
- \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
- \esegment
-
- \move (#1 #2)}
-
-% rotate a coordinate (x y)
-% arguments: (x y) cosa sina x' y'
-% x' = cosa * x - sina * y; y' = sina * x + cosa * y
-\def\rotatecoord (#1 #2)#3#4#5#6{
- \getpos (#1 #2)\xarg\yarg
- \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
- \realadd \tmpa {-\tmpb} #5
- \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
- \realadd \tmpa \tmpb #6}
-
-\begin{center}
-\begin{texdraw}
- \arrowheadtype t:W
- \move (0 0)
- \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
- \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
- \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
- \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
- \move (0 1.13) \move (0 -0.04)
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\def\delay {\bsegment
- \setsegscale 0.3
- \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
- \lvec (0 -0.5) \lvec (0 0)
- \textref h:C v:C \htext (0.5 0){$z^{-1}$}
- \savepos (1 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\def\bdot {\fcir f:0 r:0.02 }
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.06 0){#1}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.06 0){#1}
- \esegment}
-\def\cradius {0.08}
-\def\pluss {\bsegment
- \setsegscale {\cradius}
- \move (-0.5 0) \lvec (+0.5 0)
- \move (0 -0.5) \lvec (0 +0.5)
- \esegment}
-\def\pcir {\lcir r:{\cradius} \pluss}
-\def\puttext (#1 #2)#3{\bsegment
- \setsegscale {\cradius}
- \textref h:C v:C \htext (#1 #2){#3}
- \esegment}
-\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
-\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
-\def\putn #1{\puttext ( 0 +2 ){#1}}
-\def\puts #1{\puttext ( 0 -2 ){#1}}
-\def\avectoc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \savepos (#1 #2)(*tx *ty)
- \bsegment
- \move (*tx *ty)
- \setsegscale {\cradius}
- \rmove ({-\cosa} -\sina)
- \savecurrpos (*ex *ey)
- \esegment
- \avec (*ex *ey)
- \move (#1 #2)}
-\def\avecfrc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \bsegment
- \setsegscale {\cradius}
- \move ({\cosa} \sina)
- \savecurrpos (*ex *ey)
- \esegment
- \move (*ex *ey)
- \avec (#1 #2)}
-
-\begin{center}
-\begin{texdraw}
-\drawdim in
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
-
-\move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size
-
-% Input to the first stage
-\bsegment
- \Ltext{$x(n)$}
- \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
- \move (0.3 0) \lvec (0.3 -0.4)
- \savepos (0.3 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% first lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.1 +0.4)
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_0(n)$}
- \move (2.0 +0.42) \Ttext {$f_1(n)$}
- \move (0.1 -0.4) \Btext {$b_0(n)$}
- \move (2.0 -0.4) \Btext {$b_1(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_1$}
- \textref h:L v:T \htext (1.15 -0.2){$K_1$}
- \savepos (2.1 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% center section
-\bsegment
- \textref h:C v:C
- \htext (0.3 +0.4){$\cdots$}
- \htext (0.3 -0.4){$\cdots$}
- \savepos (0.6 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% last lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
- \move (2.0 +0.42) \Ttext {$f_P(n)$}
- \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
- \move (2.0 -0.4) \Btext {$b_P(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_P$}
- \textref h:L v:T \htext (1.15 -0.2){$K_P$}
-\esegment
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\ds {\displaystyle}
-\def\ticklab (#1 #2)#3{\move(#1 #2)
- \bsegment
- \lvec (0 0.05)
- \textref h:C v:T \htext (0 -0.05){#3}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext ( 0.08 0){#1}
- \esegment}
-
-\move (2.4 -0.32) % move to set the size
-
-\move (0 0)
-% Axes
-\avec (0 1.4)
-\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
-\ticklab (0 0) {0}
-\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
-\ticklab (1.2 0) {$\omega_s$}
-\ticklab (1.6 0) {$\ds {\pi \over N} $}
-
-\linewd 0.025
-\move (0 1)
-\lvec (0.4 1)
-\lvec (0.44 0.998)
-\lvec (0.48 0.988)
-\lvec (0.52 0.973)
-\lvec (0.56 0.951)
-\lvec (0.60 0.923)
-\lvec (0.64 0.891)
-\lvec (0.68 0.852)
-\lvec (0.72 0.809)
-\lvec (0.76 0.760)
-\lvec (0.80 0.707)
-\lvec (0.84 0.649)
-\lvec (0.88 0.587)
-\lvec (0.92 0.522)
-\lvec (0.96 0.454)
-\lvec (1.00 0.382)
-\lvec (1.04 0.309)
-\lvec (1.08 0.233)
-\lvec (1.12 0.156)
-\lvec (1.16 0.078)
-\lvec (1.20 0)
-\lvec (1.9 0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
-\linewd 0.01
-\setunitscale 1.5 % circle will have radius 1.5 inches
-
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.04){#1}
- \esegment}
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 0.04){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.04 0){#1}
- \esegment}
-\def\bdot {\fcir f:0 r:0.0133 }
-\def\vtick {\bsegment
- \move (0 -0.05) \lvec (0 0.05)
- \esegment}
-\def\htick {\bsegment
- \move (-0.05 0) \lvec ( 0.05 0)
- \esegment}
-\def\Hlen #1#2{\bsegment
- \vtick \avec ({#1} 0) \vtick \avec (0 0)
- \relsegscale 0.5
- \move ({#1} 0) \Ttext {#2}
- \esegment}
-\def\Vlen #1#2{\bsegment
- \htick \avec (0 {#1}) \htick \avec (0 0)
- \relsegscale 0.5
- \move (0 {#1}) \Ltext {#2}
- \esegment}
-
-\lcir r:1 % circle
-\move (-1.05 0) \lvec ( 1.05 0) % axes
-\move (0 -1.05) \lvec (0 1.05)
-
-\move (0 0) \lvec (0.707 0.707) \bdot
-\rmove (0.02 0.02) \textref h:L v:B \htext {X}
-\move (0.707 -0.707) \bdot
-\textref h:R v:T \htext(-0.02 -0.02){O}
-
-\move (0.5 0) % center of ellipse
-\bsegment
- \lellip rx:0.435 ry:0.804
- \bdot \Btext {$\beta_2$}
- \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
- \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
-\esegment
-\end{texdraw}
-\end{center}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/texdraw/txdexamp.tex b/Master/texmf-dist/doc/support/texdraw/txdexamp.tex
deleted file mode 100644
index 371b0e64969..00000000000
--- a/Master/texmf-dist/doc/support/texdraw/txdexamp.tex
+++ /dev/null
@@ -1,485 +0,0 @@
-% TeXdraw examples
-
-% $Id: txdexamp.tex,v 2.0 1995/12/18 texdraw-V2R0 $
-
-% These examples are taken from the TeXdraw manual. Note that the fonts
-% for text will be different from those in the manual -- here we use the
-% plain TeX defaults.
-
-% Peter Kabal
-% Department of Electrical Engineering
-% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
-
-% kabal@TSP.EE.McGill.CA
-
-\input texdraw
-\input txdtools
-\let\et=\etexdraw
-\def\etexdraw{\drawbb\et}
-
-\noindent
-TeXdraw examples using plain TeX.
-
-\bigskip
-\centertexdraw{
- \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
- \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
- \move (0 1.0)}
-
-\bigskip
-\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$}
-}
-
-\bigskip
-\centertexdraw{
- \drawdim in
- \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
- \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
- \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
- \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
- \arrowheadtype t:H \avec(2.5 0.5)
- \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
- \textref h:R v:T \htext (0.35 0.50){\tt t:F}
- \textref h:R v:T \htext (1.0 0.43){\tt t:V}
- \textref h:R v:T \htext (1.82 0.50){\tt t:T}
- \textref h:R v:T \htext (2.5 0.43){\tt t:H}
- \textref h:R v:B \htext (2.8 0){\tt t:W}
-}
-
-\bigskip
-\centertexdraw{
- \def\bdot {\bsegment
- \fcir f:0 r:0.02
- \esegment}
- \def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
- \def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
- \def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \move (-1.5 0)
- \bsegment
- \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
- \Ttext{Horizontal Text}
- \bdot \Btext{\tt h:C v:C}
- \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
- \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
- \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
- \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
- \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
- \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
- \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
- \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
- \lvec (-0.9 -0.3)
- \esegment
- \def\atext {\rtext td:45 }
- \def\ATtext #1{\bsegment
- \setsegscale 0.707
- \textref h:C v:B \atext (-0.06 +0.06){#1}
- \esegment}
- \def\ABtext #1{\bsegment
- \setsegscale 0.707
- \textref h:C v:T \atext (+0.060 -0.06){#1}
- \esegment}
- \def\ALtext #1{\bsegment
- \setsegscale 0.707
- \textref h:R v:C \atext (-0.08 -0.08){#1}
- \esegment}
- \def\ARtext #1{\bsegment
- \setsegscale 0.707
- \textref h:L v:C \atext (+0.08 +0.08){#1}
- \esegment}
- \move (+1.5 0)
- \bsegment
- \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
- \setsegscale 0.707
- \ATtext{Rotated Text}
- \bdot \ABtext{\tt h:C v:C}
- \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
- \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
- \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
- \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
- \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
- \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
- \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
- \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
- \lvec (-0.6 -1.2)
- \esegment
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\centertexdraw{
- \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
- \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
- \move(0 0)
- \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}
- \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
-}
-
-\bigskip
-\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)
-}
-
-\bigskip
-\centertexdraw{
- \def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \def\bdot {\fcir f:0 r:0.02 }
- \def\Ldot #1{\bdot \Ltext{#1}}
- \def\Rdot #1{\bdot \Rtext{#1}}
- \move (-2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 1)(1 0)
- \esegment
- \move (0 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
- \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
- \esegment
- \move ( 2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 0)(1 1)
- \esegment
-}
-
-\bigskip
-\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
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\def\tbox #1{\bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\centertexdraw{
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-}
-
-\bigskip
-\def\cavec (#1 #2)(#3 #4)(#5 #6){
- \clvec (#1 #2)(#3 #4)(#5 #6)
- \cossin (#3 #4)(#5 #6)\cosa\sina
- \rmove (0 0) % stroke the Bezier curve
- \bsegment
- \drawdim in \setsegscale 0.05
- \move ({-\cosa} -\sina) \avec (0 0)
- \esegment}
-
-\def\caw (#1 #2){
- \currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
-
-% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
-% Find the rotated offset (dx dy) -> (du dv)
- \rotatecoord (0.4 0.1)\cosa\sina \du\dv
-
-% calculate the length of the vector
- \vectlen ({\xa} \ya)(#1 #2)\len
-
-% draw the curve in normalized units
- \bsegment
- \setsegscale {\len}
- \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
- \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
- \esegment
-
- \move (#1 #2)}
-
-% rotate a coordinate (x y)
-% arguments: (x y) cosa sina x' y'
-% x' = cosa * x - sina * y; y' = sina * x + cosa * y
-\def\rotatecoord (#1 #2)#3#4#5#6{
- \getpos (#1 #2)\xarg\yarg
- \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
- \realadd \tmpa {-\tmpb} #5
- \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
- \realadd \tmpa \tmpb #6}
-
-\centertexdraw{
- \arrowheadtype t:W
- \move (0 0)
- \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
- \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
- \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
- \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
- \move (0 1.13) \move (0 -0.04)
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\def\delay {\bsegment
- \setsegscale 0.3
- \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
- \lvec (0 -0.5) \lvec (0 0)
- \textref h:C v:C \htext (0.5 0){$z^{-1}$}
- \savepos (1 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\def\bdot {\fcir f:0 r:0.02 }
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.06 0){#1}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.06 0){#1}
- \esegment}
-\def\cradius {0.08}
-\def\pluss {\bsegment
- \setsegscale {\cradius}
- \move (-0.5 0) \lvec (+0.5 0)
- \move (0 -0.5) \lvec (0 +0.5)
- \esegment}
-\def\pcir {\lcir r:{\cradius} \pluss}
-\def\puttext (#1 #2)#3{\bsegment
- \setsegscale {\cradius}
- \textref h:C v:C \htext (#1 #2){#3}
- \esegment}
-\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
-\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
-\def\putn #1{\puttext ( 0 +2 ){#1}}
-\def\puts #1{\puttext ( 0 -2 ){#1}}
-\def\avectoc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \savepos (#1 #2)(*tx *ty)
- \bsegment
- \move (*tx *ty)
- \setsegscale {\cradius}
- \rmove ({-\cosa} -\sina)
- \savecurrpos (*ex *ey)
- \esegment
- \avec (*ex *ey)
- \move (#1 #2)}
-\def\avecfrc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \bsegment
- \setsegscale {\cradius}
- \move ({\cosa} \sina)
- \savecurrpos (*ex *ey)
- \esegment
- \move (*ex *ey)
- \avec (#1 #2)}
-
-\centertexdraw{
-\drawdim in
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
-
-\move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size
-
-% Input to the first stage
-\bsegment
- \Ltext{$x(n)$}
- \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
- \move (0.3 0) \lvec (0.3 -0.4)
- \savepos (0.3 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% first lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.1 +0.4)
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_0(n)$}
- \move (2.0 +0.42) \Ttext {$f_1(n)$}
- \move (0.1 -0.4) \Btext {$b_0(n)$}
- \move (2.0 -0.4) \Btext {$b_1(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_1$}
- \textref h:L v:T \htext (1.15 -0.2){$K_1$}
- \savepos (2.1 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% center section
-\bsegment
- \textref h:C v:C
- \htext (0.3 +0.4){$\cdots$}
- \htext (0.3 -0.4){$\cdots$}
- \savepos (0.6 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% last lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
- \move (2.0 +0.42) \Ttext {$f_P(n)$}
- \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
- \move (2.0 -0.4) \Btext {$b_P(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_P$}
- \textref h:L v:T \htext (1.15 -0.2){$K_P$}
-\esegment
-}
-
-\bigskip
-\centertexdraw{
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\ds {\displaystyle}
-\def\ticklab (#1 #2)#3{\move(#1 #2)
- \bsegment
- \lvec (0 0.05)
- \textref h:C v:T \htext (0 -0.05){#3}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext ( 0.08 0){#1}
- \esegment}
-
-\move (2.4 -0.32) % move to set the size
-
-\move (0 0)
-% Axes
-\avec (0 1.4)
-\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
-\ticklab (0 0) {0}
-\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
-\ticklab (1.2 0) {$\omega_s$}
-\ticklab (1.6 0) {$\ds {\pi \over N} $}
-
-\linewd 0.025
-\move (0 1)
-\lvec (0.4 1)
-\lvec (0.44 0.998)
-\lvec (0.48 0.988)
-\lvec (0.52 0.973)
-\lvec (0.56 0.951)
-\lvec (0.60 0.923)
-\lvec (0.64 0.891)
-\lvec (0.68 0.852)
-\lvec (0.72 0.809)
-\lvec (0.76 0.760)
-\lvec (0.80 0.707)
-\lvec (0.84 0.649)
-\lvec (0.88 0.587)
-\lvec (0.92 0.522)
-\lvec (0.96 0.454)
-\lvec (1.00 0.382)
-\lvec (1.04 0.309)
-\lvec (1.08 0.233)
-\lvec (1.12 0.156)
-\lvec (1.16 0.078)
-\lvec (1.20 0)
-\lvec (1.9 0)
-}
-
-\bigskip
-\centertexdraw{
-\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
-\linewd 0.01
-\setunitscale 1.5 % circle will have radius 1.5 inches
-
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.04){#1}
- \esegment}
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 0.04){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.04 0){#1}
- \esegment}
-\def\bdot {\fcir f:0 r:0.0133 }
-\def\vtick {\bsegment
- \move (0 -0.05) \lvec (0 0.05)
- \esegment}
-\def\htick {\bsegment
- \move (-0.05 0) \lvec ( 0.05 0)
- \esegment}
-\def\Hlen #1#2{\bsegment
- \vtick \avec ({#1} 0) \vtick \avec (0 0)
- \relsegscale 0.5
- \move ({#1} 0) \Ttext {#2}
- \esegment}
-\def\Vlen #1#2{\bsegment
- \htick \avec (0 {#1}) \htick \avec (0 0)
- \relsegscale 0.5
- \move (0 {#1}) \Ltext {#2}
- \esegment}
-
-\lcir r:1 % circle
-\move (-1.05 0) \lvec ( 1.05 0) % axes
-\move (0 -1.05) \lvec (0 1.05)
-
-\move (0 0) \lvec (0.707 0.707) \bdot
-\rmove (0.02 0.02) \textref h:L v:B \htext {X}
-\move (0.707 -0.707) \bdot
-\textref h:R v:T \htext(-0.02 -0.02){O}
-
-\move (0.5 0) % center of ellipse
-\bsegment
- \lellip rx:0.435 ry:0.804
- \bdot \Btext {$\beta_2$}
- \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
- \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
-\esegment
-}
-
-\bye
diff --git a/Master/texmf-dist/doc/support/texdraw/txi-src.tgz b/Master/texmf-dist/doc/support/texdraw/txi-src.tgz
new file mode 100644
index 00000000000..dc6fce03146
--- /dev/null
+++ b/Master/texmf-dist/doc/support/texdraw/txi-src.tgz
Binary files differ