GNU Info

Info Node: (groff)Page Motions

(groff)Page Motions


Next: Drawing Requests Prev: Writing Macros Up: gtroff Reference
Enter node , (file) or (file)node

Page Motions
============

 - Request: .sp [len]
     Motions up and down the page can be done with the `sp' request.
     However, this causes a break so that the actual effect is to move
     to the left margin and then to the specified location.

 - Request: .mk [reg]
 - Request: .rt reg
     The request `mk' can be used to mark a location on a page, for
     movement to later.  This request takes a register name as an
     argument in which to store the current page location.  With no
     argument it stores the location in an internal register.  The
     results of this can be used later by the `rt' or the `sp' request.
     The `rt' request returns _upwards_ to the location given in the
     register name given as an argument; with no argument it returns to
     the location marked with the `mk' request.


   The following escapes give fine control of movements about the page.

 - Escape: \v'E'
     The `\v'E'' escape enables arbitrary vertical motion from the
     current location on the page.  The argument E specifies the
     distance to move; positive is downwards and negative upwards.  The
     default unit for this escape `v'.  Beware, however, that `gtroff'
     continues text processing at the point where the motion ends, so
     you should always balance motions to avoid interference with text
     processing.

   There are some special case escapes for vertical motion.

`\r'
     move upwards 1v.

`\u'
     move upwards .5v.

`\d'
     move down .5v.

 - Escape: \h'E'
     The `\h'E'' escape provides horizontal motions.  The expression E
     indicates how far to move: positive is rightwards and negative
     leftwards.

   There are a number of special case escapes for horizontal motion:

`\<SP>'
     An unbreakable and unpaddable (i.e. not expanded during filling)
     space.  (Note: This is a backslash followed by a space.)

`\~'
     An unbreakable space that stretches like a normal inter-word space
     when a line is adjusted.

`\|'
     A 1/6th em space.  Ignored for tty output devices (rounded to
     zero).

`\^'
     A 1/12th em space.  Ignored for tty output devices (rounded to
     zero).

`\0'
     A space the size of a digit.

`\&'
     A zero width space.

`\)'
     Like `\&' except that it behaves like a character declared with the
     `cflags' request to be transparent for the purposes of end of
     sentence recognition.

   The following string sets the TeX logo:


     .ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X

 - Escape: \w'TEXT'
     Used as `\w'TEXT'', returns the width of the specified TEXT in
     basic units.  This allows horizontal movement based on the width
     of some arbitrary text (e.g. given as an argument to a macro).

     Font changes may occur in TEXT which don't affect current settings.

     After use, `\w' sets several registers:

    `st'
    `sb'
          The highest and lowest point, respectively, in TEXT.

    `rst'
    `rsb'
          Like the `st' and `sb' registers, but takes account of the
          heights and depths of characters.

    `ct'
          Defines the kinds of characters occurring in TEXT:

         0
               only short characters, no descenders or tall characters.

         1
               at least one descender.

         2
               at least one tall character.

         3
               at least one each of a descender and a tall character.

    `ssc'
          The amount of horizontal space (possibly negative) that
          should be added to the last character before a subscript.

    `skw'
          How far to right of the center of the last character in the
          `\w' argument, the center of an accent from a roman font
          should be placed over that character.

 - Escape: \k'X'
     Stores the current horizontal position in register X.  Use this,
     for example, to return to the beginning of a string for
     highlighting or other decoration.

 - Register: \n[.k]
     A read-only number register containing the current horizontal
     output position.


automatically generated by info2www version 1.2.2.9