1 Text

  You should normally just type in the text you want to see.
  For details on how to get special characters, Greek letters, German
  special character etc. see the subtopics fonts and IGTEXT.

  If you are  required to  give a title,  comment, key, or  axis label the
  text should be enclosed in single  quotes, if you want to also put other
  parameters on  the same  line. If you omit  the quotes  the whole of the
  rest of the line  will be used.  This enables you to  put the parameters
  associated  with the text  (e.g. comment  position) on  the same command
  line:

  COMMENT id new 'This is a comment positioned at 10,10' 10.0 10.0

  Text which  is always a  single word  (parameter names,  filenames etc.)
  should  not  be  included  in  quotes. If  you  want to  pass  text as a
  parameter to a macro, enclose the whole string in double quotes:

  EXEC test "'Text to pass'"

  With this form the parameter `@1' would contain 'Text to pass'.

  If you  want to pass  or give a  null string  (for example  set the axis
  label back to a blank), give 2 single quotes:

  Give axis label: ''

  A `<CR>' always keeps the current text.  As well as giving normal
  text, it is also possible to include the values of parameters or
  registers etc. in a text string. The format to use is:

  Text {parameter[,format]} MORE TEXT

  i.e. a section enclosed in braces `{ }' signifies that this part should be
  translated into text.  `Parameter' can be a number, register, parameter, bin
  contents etc. (see HELP Numbers for what is available).  It can also be a
  text element, i.e. a title, an Ntuple variable name or the value of an
  Ntuple variable fo the type character (see below for more details). `Format'
  is a FORTRAN format statement including parentheses. If you omit the format
  statement the default format is `(1PG12.5)' and `(I8)' for real and integer
  numbers respectively.  Integers are integer registers (syntax `IR') and any
  user variable name that starts with a letter between `I' and `N'.  `NINT' is
  used to convert real numbers to integers. Any variables that start with
  `CH' are assumed to be character variables.

  This form of text string applies  to comments, keys, axis labels, titles
  etc. To include a normal `{' in a text string, precede it by a `@'. You do
  not have top precede `}' by a `@'.
  If you also want to translate numbers into strings in other commands
  you can use the `PARSE' command (see HELP PARSE and the examples).

  Superscripts and subscripts are terminated by a `!'.  `!' is also
  used for command line history in the Unix version (4.01 onwards),
  therefore you have to quote `!' with a backslash to get an
  exclamation mark if you give the command interactively. In addition
  if `!' is defined as the comment character you must also enclose the
  expression in single quotes (version 4.03 onwards):

  set x label '(GeV/c^2\!)'

  You can use certain character variables to set histogram titles and print
  messages etc. The character array is useful in loops and also for
  correlating ROOT character identifiers with Mn_Fit numerical
  identifiers. The items available are:

  CHAR(nn)[[n1]:[n2]]
  CHTITLE(ida[&idb])[[n1]:[n2]]
  CHNAME(ida[&idb],nvar)[[n1]:[n2]]
  CHNAME(ida[&idb],tvar)[[n1]:[n2]]
  CHVAL(ida[&idb],nvar,npnt[,nelem])[[n1]:[n2]]
  CHVAL(ida[&idb],tvar,npnt[,nelem])[[n1]:[n2]]

  where `nn' is the character array element; `ida' is the primary histogram
  identifier and `idb' is the optional secondary identifier; `nvar' is the
  Ntuple variable number and `tvar' is the Ntuple variable name; `npnt' is the
  Ntuple event number; `nelem' is the (optional) element number in the
  character array. A character range can be given in almost the usual FORTRAN
  way `[n1:n2]' for characters `n1' to `n2', `[n1:]' for character `n1' to the
  end of the string or `[:n2]' for character 1 to `n2':

  parse root_fetch {char(4)};{ir4,(i4.4)}
  message 'Title of histogram 34 is {chtitle(34)}'
  message 'Value of event 3, variable 4, {chname(34,4)} is {chval(34,4,3)}'
  message 'Event 5, Element 2 of cval2 is {chval(34,cval2,5,2)}'

  In order to be sure that things get parsed correctly, use the `PARSE'
  command or enclose the string with the character variables in quotes.

  You can set the character variables `CHAR, CHTITLE, CHNAME' using the
  `DEPOSIT' or `CALCULATE' command:

  DEPOSIT char(4) = 'ABC'
  deposit char(21) = {chtitle(10&4)[:20]}

2 Examples
!\begin{enumerate}
!\item
!^
  Example 1:
    Two examples of how to include the contents of registers and parameters
    in a text string:

     The cat took {IR3,(I3)} weeks to eat the dog.
     The parameter limits are {LOLIM2(3)} {HILIM2(3),('and',1PG11.4)}.

!\item
!^
  Example 2:
    You can use the even use `PARSE' to set the name of a macro that
    you want to execute:

      do i=1,10
        parse exec demo{@i,(i2.2)}
      enddo

    will execute `demo01' to `demo10'.

!\item
!^
  Example 3:
    You can use the use `PARSE' together with registers and the character
    array to convert ROOT identifiers to Mn_Fit numerical identifiers:

      dep char(1) = habc
      dep char(2) = hdef
      dep char(3) = hghi
      do i=1,3
        dep r@i = 100 + @i
        parse root_fetch {char(@i)};{ir@i,(i4.4)}
      enddo

    will read in histograms `habc,hdef,hghi' and give them identifiers
    101,102,103.

!\end{enumerate}

