## NAME

           pstext - To plot text on maps

## SYNOPSIS

           pstext  textfile -Jparameters -Rwest/east/south/north[r] [ -Btickinfo ]
           [ -Cdx/dy ] -D[j]dx/dy[v[red/green/blue] ] [  -Eazimuth/elevation  ]  [
           -Gred/green/blue  ] [ -H[nrec] ] [ -K ] [ -L ] [ -M[flag] ] [ -N ] [ -O
           ]  [  -P  ]  [  -Spen   ]   [   -U[/dx/dy/][label]   ]   [   -V   ]   [
           -W[red/green/blue][o|O|c|C[pen]]  ]  [  -Xx-shift  ]  [  -Yy-shift  ] [
           -Zzlevel ] [ -ccopies ] [ -: ]

## DESCRIPTION

           pstext plots textstrings of variable size, font type, and  orientation.
           Various map projections are provided, with the option to draw and anno-
           tate the map boundaries. PostScript code is written to standard output.
           Greek  characters, subscript, superscript, and small caps are supported
           as follows: The sequence @~ toggles between the selected font and Greek
           (Symbol).  @%no% sets the font to no; @%% resets the font to the start-
           ing font, @- toggles subscripts on/off, @+ toggles superscript  on/off,
           and @# toggles small caps on/off. @@ prints the @ sign. @e, @o, @a, @E,
           @O, @A give the accented Scandinavian characters. Composite  characters
           (overstrike) may be indicated with the @!<char1><char2> sequence, which
           will print the two characters on top of each other. To learn the  octal
           codes for symbols not available on the keyboard and some accented Euro-
           pean characters, see Section 4.16 and Appendix F in the  GMT  Technical
           Reference and Cookbook. Note that WANT_EURO_FONT must be set to TRUE in
           your .gmtdefaults file in order to use the accented characters.   Using
           the  -W  option, a colored rectangle underlying the text may be plotted
           (Does not work for strings with sub/super scripts, symbols, or  compos-
           ite characters, except in paragraph mode (-M)).

           textfile
                  This  file  contains  1 or more records with (x, y, size, angle,
                  fontno, justify, text).  If no file is given, pstext  will  read
                  standard  input.  size is text size in points, angle is measured
                  in degrees counter-clockwise from horizontal,  fontno  sets  the
                  font  type,  justify  sets  the  alignment.  If fontno is not an
                  integer, then it is taken to be a textstring  with  the  desired
                  fontname.  See the gmtdefaults man page for names and numbers of
                  avaiable fonts (or run pstext -L). The alignment refers  to  the
                  part of the textstring that will be mapped onto the (x,y) point.
                  Choose a 2 character combination of L, C, R (for  left,  center,
                  or  right)  and T, M, B for top, middle, or bottom. e.g., BL for
                  lower left.

           -J     Selects the map projection. Scale is  UNIT/degree,  1:xxxxx,  or
                  width  in  UNIT  (upper case modifier).  UNIT is cm, inch, or m,
                  depending on the MEASURE_UNIT setting in .gmtdefaults, but  this
                  can  be overridden on the command line by appending the c, i, or
                  m to the scale/width value.

                  CYLINDRICAL PROJECTIONS:

                  -Jclon0/lat0/scale (Cassini)
                  -Jjlon0/scale (Miller)
                  -Jmscale (Mercator - Greenwich and Equator as origin)
                  -Jmlon0/lat0/scale (Mercator - Give meridian and standard paral-
                  lel)
                  -Joalon0/lat0/azimuth/scale   (Oblique   Mercator  -  point  and
                  azimuth)
                  -Joblon0/lat0/lon1/lat1/scale (Oblique Mercator - two points)
                  -Joclon0/lat0/lonp/latp/scale  (Oblique  Mercator  -  point  and
                  pole)
                  -Jqlon0/scale  (Equidistant  Cylindrical  Projection (Plate Car-
                  ree))
                  -Jtlon0/scale (TM - Transverse Mercator, with Equator as y = 0)
                  -Jtlon0/lat0/scale (TM - Transverse Mercator, set origin)
                  -Juzone/scale (UTM - Universal Transverse Mercator)
                  -Jylon0/lats/scale (Basic Cylindrical Projection)

                  AZIMUTHAL PROJECTIONS:

                  -Jalon0/lat0/scale (Lambert).
                  -Jelon0/lat0/scale (Equidistant).
                  -Jflon0/lat0/horizon/scale (Gnomonic).
                  -Jglon0/lat0/scale (Orthographic).
                  -Jslon0/lat0/[slat/]scale (General Stereographic)

                  CONIC PROJECTIONS:

                  -Jblon0/lat0/lat1/lat2/scale (Albers)
                  -Jdlon0/lat0/lat1/lat2/scale (Equidistant)
                  -Jllon0/lat0/lat1/lat2/scale (Lambert)

                  MISCELLANEOUS PROJECTIONS:

                  -Jhlon0/scale (Hammer)
                  -Jilon0/scale (Sinusoidal)
                  -Jk[f|s]lon0/scale (Eckert IV (f) and VI (s))
                  -Jnlon0/scale (Robinson)
                  -Jrlon0/scale (Winkel Tripel)
                  -Jvlon0/scale (Van der Grinten)
                  -Jwlon0/scale (Mollweide)

                  NON-GEOGRAPHICAL PROJECTIONS:

                  -Jp[a]scale[/origin] (polar (theta,r)  coordinates,  optional  a
                  for azimuths and offset theta [0])
                  -Jxx-scale[l|ppow][/y-scale[l|ppow]]  (Linear,  log,  and  power
                  scaling)
                  More details can be found in the psbasemap manpages.

           -Jz    Sets the vertical scaling (for 3-D maps). Same syntax as -Jx.

           -R     west, east, south, and north specify the Region of interest.  To
                  specify boundaries in degrees and minutes [and seconds], use the
                  dd:mm[:ss] format. Append r if lower left and  upper  right  map
                  coordinates are given instead of wesn.

## OPTIONS

           No space between the option flag and the associated arguments.

           -B     Sets map boundary tickmark intervals; see the psbasemap man page
                  for details.

           -C     Sets the clearance between the  text  and  the  surrounding  box
                  [0.15c/0.15c (or 0.05i/0.05i)].  Only used if -W is specified.

           -D     Offsets  the text from the projected (x,y) point by dx,dy [0/0].
                  Use -Dj to offset the text away from the point instead (i.e. the
                  text’s  justification’  will  determine  the  direction  of  the
                  shift). In paragraph mode (-M), one may append v which will draw
                  a line from the original point to the shifted point.  Optionally
                  append a pen for this line.

           -E     Sets the viewpoint’s  azimuth  and  elevation  (for  perspective
                  view) [180/90].’  (Not implemented for paragraph mode).

           -G     Sets  the  gray-shade  (0-255) or color (r/g/b, each 0-255) used
                  for drawing the text. [Default is black]

           -H     Input file(s) has Header record(s). Number of header records can
                  be  changed  by  editing  your  .gmtdefaults  file. If used, GMT
                  default is 1 header record.

           -K     More PostScript code will be appended later [Default  terminates
                  the plot system].

           -L     Lists the font-numbers and font-names available, then exits.

           -M     Paragraph  mode.  Files must be multiple segment files. Segments
                  are separated by a special record whose first character must  be
                  flag [Default is ’>’].  Starting in the 3rd column, we expect to
                  find information pertaining to the typesetting of a  text  para-
                  graph  (the  remaining  lines  until  next segment header).  The
                  information expected is (x y size angle fontno justify linespace
                  parwidth  parjust),  where  x  y  size  angle fontno justify are
                  defined above, while linespace and parwidth are the  linespacing
                  and paragraph width, respectively. The justification of the text
                  paragraph is governed by parjust which may be l(eft),  c(enter),
                  r(ight),  or  j(ustified). The segment header is followed by one
                  or more lines with paragraph text. Text may contain  the  escape
                  sequences  discussed  above  as  well  as  three  more: @;r/g/b;
                  changes the font color (@;; resets it), @:size: changes the font
                  size  (@:: resets it), and @_ toggles underline on/off. Separate
                  paragraphs with a blank line.

           -N     Do NOT clip text at map boundaries [Default will clip].

           -O     Selects Overlay plot mode [Default initializes a new  plot  sys-
                  tem].

           -P     Selects  Portrait  plotting  mode [GMT Default is Landscape, see
                  gmtdefaults to change this].

           -S     Draw text outline. Append pen attributes.  (Not implemented  for
                  paragraph mode).

           -U     Draw  Unix System time stamp on plot. User may specify where the
                  lower left corner of the stamp should fall on the page  relative
                  to  lower  left corner of plot. Optionally, append a label, or c
                  (which will  plot  the  command  string.).  The  GMT  parameters
                  UNIX_TIME  and  UNIX_TIME_POS can affect the appearance; see the
                  gmtdefaults man page for details.

           -V     Selects verbose mode, which will send progress reports to stderr
                  [Default runs "silently"].

           -W     Paint a rectangle beneath the text string. Set color [Default is
                  no fill].  Append o to draw rectangle  outline,  add  a  pen  to
                  specify  pen attributes [1/0/0/0].  Choose upper case O to get a
                  rounded rectangle (only in paragraph mode).  Choose lower case c
                  to  get  a  concave  rectangle (only in paragraph mode).  Choose
                  upper case C to get a convex rectangle (only in paragraph mode).

           -X -Y  Shift  origin of plot by (x-shift,y-shift).  Prepend a for abso-
                  lute coordinates; the default (r) will reset plot origin.

           -Z     For 3-D projections: Sets the z-level of the basemap [0].   (Not
                  implemented for paragraph mode).

           -:     Toggles  between  (longitude,latitude)  and (latitude,longitude)
                  input/output. [Default  is  (longitude,latitude)].   Applies  to
                  geographic coordinates only.

           -c     Specifies the number of plot copies. [Default is 1]

## EXAMPLES

           To  plot the outlines of the textstrings stored in the file text.d on a
           Mercator plot with the given specifications, try

           pstext text.d -R-30/30/-10/20 -Jm0.1i -P -B5 -S0.5p > plot.ps

           To add a typeset figure caption for a 3-inch wide illustration, try

           pstext -R0/3/0/5 -JX3i -O -H -M -N << EOF >> figure.ps
           This is an optional header record
           > 0 -0.5 12 0 4 LT 13p 3i j
           @%5%Figure 1.@%% This illustration shows nothing useful, but  it  still
           needs
           a figure caption. Highlighted in @;255/0/0;red@;; you can see the loca-
           tions
           of cities where it is @_impossible@_ to get any good Thai  food;  these
           are to be avoided.
           EOF

## BUGS

           Except  for paragraph mode, the horizontal justification of surrounding
           rectangles does not work when Greek  symbols,  sub-  and  superscripts,
           and/or  composite  characters  are imbedded in the textstring. In para-
           graph mode, the presence  of  composite  characters  and  other  escape
           sequences may lead to unfortunate word splitting.  Finally, the outline
           option does not work with the escape sequences.
           The -N option does not adjust the BoundingBox information  so  you  may
           have  to  post-process the PostScript outout with epstool or ps2epsi to
           obtain a correct BoundingBox.

## SEE ALSO

           gmt(l), psbasemap(l)

    GMT3.4.6                          1 Jan 2005                         PSTEXT(l)