Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GROFF(7)		Miscellaneous Information Manual		GROFF(7)

NAME
     groff - a short reference for the GNU roff language

DESCRIPTION
     The  name	groff  stands for GNU roff and is the free implementation of the
     roff type-setting system.	See roff(7) for a survey and the  background  of
     the groff system.

     This document gives only short descriptions of the predefined roff language
     elements  as  used in groff.  Both the classical features and the groff ex-
     tensions are provided.

     Historically, the roff language was called troff.	groff is compatible with
     the classical system and provides proper extensions.  So in GNU, the  terms
     roff,  troff,  and groff language could be used as synonyms.  However troff
     slightly tends to refer more to the classical aspects, whereas groff empha-
     sizes the GNU extensions, and roff is the general term for the language.

     This file is only a short version of the  complete  documentation	that  is
     found  in the groff info(1) file, which contains more detailed, actual, and
     concise information.

     The general syntax for writing groff  documents  is  relatively  easy,  but
     writing extensions to the roff language can be a bit harder.

     The  roff	language  is  line-oriented.  There are only two kinds of lines,
     control lines and text lines.  The control lines start with a control char-
     acter, by default a period "."  or a single quote "'"; all other lines  are
     text lines.

     Control lines represent commands, optionally with arguments.  They have the
     following	syntax.  The leading control character can be followed by a com-
     mand name; arguments, if any, are separated by blanks from the command name
     and among themselves, for example,

	    .command_name arg1 arg2

     For indentation, any number of space or tab characters can be inserted  be-
     tween  the  leading control character and the command name, but the control
     character must be on the first position of the line.

     Text lines represent the parts that will be printed.  They can be	modified
     by  escape  sequences,  which  are  recognized  by a leading backslash `\'.
     These are in-line or even in-word formatting elements or  functions.   Some
     of  these	take  arguments separated by single quotes "'", others are regu-
     lated by a length encoding introduced by an open  parenthesis  `('  or  en-
     closed in brackets `[' and `]'.

     The roff language provides flexible instruments for writing language exten-
     sion, such as macros.  When interpreting macro definitions, the roff system
     enters a special operating mode, called the copy mode.

     The  copy	mode behavior can be quite tricky, but there are some rules that
     ensure a safe usage.

     1.     Printable backslashes must be denoted as \e.  To be more precise, \e
	    represents the current escape character.  To get a backslash  glyph,
	    use \(rs or \[rs].

     2.     Double all backslashes.

     3.     Begin all text lines with the special non-spacing character \&.

     This  does  not  produce  the  most efficient code, but it should work as a
     first measure.   For  better  strategies,	see  the  groff  info  file  and
     groff_tmac(5).

     Reading  roff source files is easier, just reduce all double backslashes to
     a single one in all macro definitions.

GROFF ELEMENTS
     The roff language elements add formatting information to a text file.   The
     fundamental elements are predefined commands and variables that make roff a
     full-blown programming language.

     There  are  two  kinds of roff commands, possibly with arguments.	Requests
     are written on a line of their own starting with  a  dot  `.'   or  a  "'",
     whereas  Escape sequences are in-line functions and in-word formatting ele-
     ments starting with a backslash `\'.

     The user can define her own  formatting  commands	using  the  de	request.
     These  commands are called macros, but they are used exactly like requests.
     Macro packages are pre-defined sets of macros written  in	the  groff  lan-
     guage.   A  user's possibilities to create escape sequences herself is very
     limited, only special characters can be mapped.

     The groff language provides several kinds of variables with  different  in-
     terfaces.	There are pre-defined variables, but the user can define her own
     variables as well.

     String  variables	store character sequences.  They are set with the ds re-
     quest and retrieved by the \* escape sequences.   Strings	can  have  vari-
     ables.

     Register  variables  can store numerical values, numbers with a scale unit,
     and occasionally string-like objects.  They are set with the nr request and
     retrieved by the \n escape sequences.

     Environments allow the user to temporarily store global formatting  parame-
     ters  like  line  length, font size, etc. for later reuse.  This is done by
     the ev request.

     Fonts are identified either by a name or by an internal number.   The  cur-
     rent  font is chosen by the ft request or by the \f escape sequences.  Each
     device has special fonts, but the following fonts are available for all de-
     vices.  R is the standard font Roman.  B  is  its	bold  counterpart.   The
     italic font is called I and is available everywhere, but on text devices it
     is  displayed  as	an  underlined Roman font.  For the graphical output de-
     vices, there exist constant-width pendants of these fonts, CR, CI, and  CB.
     On text devices, all characters have a constant width anyway.

     Moreover, there are some advanced roff elements.  A diversion stores infor-
     mation into a macro for later usage.  A trap is a positional condition like
     a	certain number of lines from page top or in a diversion or in the input.
     Some action can be prescribed to be run automatically when the condition is
     met.

     More detailed information and examples can be found in the groff info file.

CONTROL CHARACTERS
     There is a small set of characters that have a special controlling task  in
     certain conditions.

     .	    A dot is only special at the beginning of a line or after the condi-
	    tion in the requests if, ie, el, and while.  There it is the control
	    character  that introduces a request (or macro).  The special behav-
	    ior can be delayed by using the \.	escape.  By  using  the  cc  re-
	    quest,  the  control  character can be set to a different character,
	    making the dot `.'	a non-special character.

	    In all other positions, it just means  a  dot  character.	In  text
	    paragraphs,  it  is advantageous to start each sentence at a line of
	    its own.

     '	    The single quote has two controlling tasks.  At the beginning  of  a
	    line  and in the conditional requests it is the non-breaking control
	    character.	That means that it introduces a request  like  the  dot,
	    but  with  the additional property that this request doesn't cause a
	    linebreak.	By using the c2 request, the non-break control character
	    can be set to a different character.

	    As a second task, it is the most commonly used argument separator in
	    some functional escape sequences (but any  pair  of  characters  not
	    part of the argument will work).  In all other positions, it denotes
	    the  single  quote or apostrophe character.  Groff provides a print-
	    able representation with the \(cq escape sequence.

     "	    The double quote is used to enclose arguments in  requests,  macros,
	    and  strings.   In the ds and as requests, a leading double quote in
	    the argument will be stripped off, making everything else afterwards
	    the string to be defined (enabling leading whitespace).  The escaped
	    double quote \" introduces a comment.  Otherwise, it is not special.
	    Groff provides a printable representation with the \(dq  escape  se-
	    quence.

     \	    The  backslash  usually  introduces  an escape sequence (this can be
	    changed with the ec request).  A printed version of the escape char-
	    acter is the \e escape; a backslash glyph can be obtained by \(rs.

     (	    The open parenthesis is only special in escape sequences when intro-
	    ducing an escape name or argument consisting of exactly two  charac-
	    ters.  In groff, this behavior can be replaced by the [] construct.

     [	    The opening bracket is only special in groff escape sequences; there
	    it	is used to introduce a long escape name or long escape argument.
	    Otherwise, it is non-special, e.g. in macro calls.

     ]	    The closing bracket is only special in groff escape sequences; there
	    it terminates a long escape name or long  escape  argument.   Other-
	    wise, it is non-special.

     space  Space  characters are only functional characters.  They separate the
	    arguments in requests, macros, and strings, and the  words	in  text
	    lines.  They are subject to groff's horizontal spacing calculations.
	    To	get  a	defined space width, escape sequences like `\ ' (this is
	    the escape character followed by a space), \|, \^, or \h  should  be
	    used.

     newlineIn	text  paragraphs,  newlines mostly behave like space characters.
	    Continuation lines can be specified by an escaped newline, i.e.,  by
	    specifying a backslash `\' as the last character of a line.

     tab    If	a tab character occurs during text the interpreter makes a hori-
	    zontal jump to the next pre-defined tab position.  There  is  a  so-
	    phisticated interface for handling tab positions.

NUMERICAL EXPRESSIONS
     A	numerical value is a signed or unsigned integer or float with or without
     an appended scaling indicator.  A scaling indicator is a one-character  ab-
     breviation for a unit of measurement.  A number followed by a scaling indi-
     cator  signifies  a size value.  By default, numerical values do not have a
     scaling indicator, i.e., they are normal numbers.

     The roff language defines the following scaling indicators.

	    c	      Centimeter
	    i	      Inch
	    P	      Pica = 1/6 inch
	    p	      Point = 1/72 inch
	    m	      Em = the font size in points (width of letter `m')
	    M	      100th of an Em
	    n	      En = Em/2
	    u	      Basic unit for actual output device
	    v	      Vertical	 line	 space	  in	basic	 units	  scaled
		      point = 1/sizescale of a point (defined in font DESC file)
	    f	      Scale by 65536.

     Numerical	expressions  are  combinations	of  the numerical values defined
     above with the following arithmetical operators already defined in  classi-
     cal troff.

	    +	      Addition
	    -	      Subtraction
	    *	      Multiplication
	    /	      Division
	    %	      Modulo
	    =	      Equals
	    ==	      Equals
	    <	      Less than
	    >	      Greater than
	    <=	      Less or equal
	    >=	      Greater or equal
	    &	      Logical and
	    :	      Logical or
	    !	      Logical not
	    (	      Grouping of expressions
	    )	      Close current grouping

     Moreover, groff added the following operators for numerical expressions:

	    e1>?e2    The maximum of e1 and e2.
	    e1<?e2    The minimum of e1 and e2.
	    (c;e)     Evaluate e using c as the default scaling indicator.

     For details see the groff info file.

CONDITIONS
     Conditions  occur	in  tests  raised by the if, ie, and the while requests.
     The following table characterizes the different types of conditions.

	    N	      A numerical expression N	yields	true  if  its  value  is
		      greater than 0.
	    !N	      True if the value of I is 0.
	    's1's2'   True if string s1 is identical to string s2.
	    !'s1's2'  True if string s1 is not identical to string s2.
	    cch       True if there is a character ch available.
	    dname     True  if	there  is a string, macro, diversion, or request
		      called name.
	    e	      Current page number is even.
	    o	      Current page number is odd.
	    mname     True if there is a color called name.
	    n	      Formatter is nroff.
	    rreg      True if there is a register named reg.
	    t	      Formatter is troff.

REQUESTS
     This section provides a short reference for the  predefined  requests.   In
     groff,  request  and macro names can be arbitrarily long.	No bracketing or
     marking of long names is needed.

     Most requests take one or more arguments.	The arguments are  separated  by
     space characters (no tabs!); there is no inherent limit for their length or
     number.   An  argument can be enclosed by a pair of double quotes.  This is
     very handy if an argument contains space characters, e.g., "arg with space"
     denotes a single argument.

     Some requests have optional arguments with a different behaviour.	Not  all
     of  these	details  are  outlined	here.	Refer to the groff info file and
     groff_diff(7) for all details.

     In the following request specifications, most argument names were chosen to
     be descriptive.  Only the following denotations need clarification.

	    c	      denotes a single character.
	    font      a font either specified as a font name or a font number.
	    anything  all characters up to the end of the line or within \{  and
		      \}.
	    n	      is  a  numerical	expression  that evaluates to an integer
		      value.
	    N	      is an arbitrary numerical expression, signed or unsigned.
	    +/-N      has three meanings depending on its sign, described below.

     If an expression defined as +/-N starts with a `+' sign the resulting value
     of the expression will be added to an already existing  value  inherent  to
     the  related  request, e.g. adding to a number register.  If the expression
     starts with a `-' the value of the expression will be subtracted  from  the
     request value.

     Without  a sign, N replaces the existing value directly.  To assign a nega-
     tive number either prepend 0 or enclose the negative number in parentheses.

   Request Short Reference
     .	       Empty line, ignored.  Useful for structuring documents.
     .\" anything
	       Complete line is a comment.
     .ab string
	       Print string on standard error, exit program.
     .ad       Begin line adjustment for output lines in current adjust mode.
     .ad c     Start line adjustment in mode c (c=l,r,b,n).
     .af register c
	       Assign format c to register (c=l,i,I,a,A).
     .aln alias register
	       Create alias name for register.
     .als alias object
	       Create alias name for request, string, macro,  or  diversion  ob-
	       ject.
     .am macro
	       Append to macro until .. is encountered.
     .am macro end
	       Append to macro until .end is called.
     .ami macro
	       Append  to a macro whose name is contained in the string register
	       macro until .. is encountered.
     .ami macro end
	       Append to a macro indirectly.  macro and end are string registers
	       whose contents are interpolated for the macro name  and	the  end
	       macro, respectively.
     .am1 macro
	       Same as .am but with compatibility mode switched off during macro
	       expansion.
     .am1 macro end
	       Same as .am but with compatibility mode switched off during macro
	       expansion.
     .as stringvar anything
	       Append anything to stringvar.
     .asciify diversion
	       Unformat  ASCII	characters, spaces, and some escape sequences in
	       diversion.
     .as1 stringvar anything
	       Same as .as but	with  compatibility  mode  switched  off  during
	       string expansion.
     .backtrace
	       Print a backtrace of the input on stderr.
     .bd font N
	       Embolden font by N-1 units.
     .bd S font N
	       Embolden Special Font S when current font is font.
     .blm      Unset the blank line macro.
     .blm macro
	       Set the blank line macro to macro.
     .box      End current diversion.
     .box macro
	       Divert to macro, omitting a partially filled line.
     .boxa     End current diversion.
     .boxa macro
	       Divert and append to macro, omitting a partially filled line.
     .bp       Eject current page and begin new page.
     .bp +/-N  Eject current page; next page number +/-N.
     .br       Line break.
     .brp      Break and spread output line.  Same as \p.
     .break    Break out of a while loop.
     .c2       Reset no-break control character to "'".
     .c2 c     Set no-break control character to c.
     .cc       Reset control character to `.'.
     .cc c     Set control character to c.
     .ce       Center the next input line.
     .ce N     Center following N input lines.
     .cf filename
	       Copy  contents  of  file filename unprocessed to stdout or to the
	       diversion.
     .cflags mode c1 c2 ...
	       Treat characters c1, c2, ... according to mode number.
     .ch trap N
	       Change trap location to N .
     .char c anything
	       Define character c as string anything.
     .chop object
	       Chop the last character off macro, string, or diversion object.
     .close stream
	       Close the stream.
     .color    Enable colors.
     .color N  If N is zero disable colors, otherwise enable them.
     .continue
	       Finish the current iteration of a while loop.
     .cp       Enable compatibility mode.
     .cp N     If N is zero disable compatibility mode, otherwise enable it.
     .cs font N M
	       Set constant character width mode for font to N/36 ems with em M.
     .cu N     Continuous underline in nroff, like .ul in troff.
     .da       End current diversion.
     .da macro
	       Divert and append to macro.
     .de macro
	       Define or redefine macro until .. is encountered.
     .de macro end
	       Define or redefine macro until .end is called.
     .de1 macro
	       Same as .de but with compatibility mode switched off during macro
	       expansion.
     .de1 macro end
	       Same as .de but with compatibility mode switched off during macro
	       expansion.
     .defcolor color scheme component
	       Define or redefine a color with name color.  scheme can	be  rgb,
	       cym,  cymk,  gray,  or  grey.  component can be single components
	       specified as fractions in the range 0 to 1 (default scaling indi-
	       cator f), as a string of two-digit hexadecimal  color  components
	       with a leading #, or as a string of four-digit hexadecimal compo-
	       nents with two leading #.  The color default can't be redefined.
     .dei macro
	       Define  or redefine a macro whose name is contained in the string
	       register macro until .. is encountered.
     .dei macro end
	       Define or redefine a macro indirectly.  macro and end are  string
	       registers  whose contents are interpolated for the macro name and
	       the end macro, respectively.
     .di       End current diversion.
     .di macro
	       Divert to macro .
     .do name  Interpret .name with compatibility mode disabled.
     .ds stringvar anything
	       Set stringvar to anything.
     .ds1 stringvar anything
	       Same as .ds but	with  compatibility  mode  switched  off  during
	       string expansion.
     .dt N trap
	       Set diversion trap to position N (default scaling indicator v).
     .ec       Reset escape character to `\'.
     .ec c     Set escape character to c.
     .ecr      Restore escape character saved with .ecs.
     .ecs      Save current escape character.
     .el anything
	       Else part for if-else (ie) request.
     .em macro
	       The macro will be run after the end of input.
     .eo       Turn off escape character mechanism.
     .ev       Switch to previous environment.
     .ev env   Push down environment number or name env and switch to it.
     .evc env  Copy  the contents of environment env to the current environment.
	       No pushing or popping.
     .ex       Exit from roff processing.
     .fam      Return to previous font family.
     .fam name
	       Set the current font family to name.
     .fc       Disable field mechanism.
     .fc a     Set field delimiter to a and pad character to space.
     .fc a b   Set field delimiter to a and pad character to b.
     .fchar c anything
	       Define fallback character c as string anything.
     .fi       Fill output lines.
     .fl       Flush output buffer.
     .fp n font
	       Mount font on position n.
     .fp n internal external
	       Mount font with long external name to short internal name on  po-
	       sition n.
     .fspecial font s1 s2 ...
	       When the current font is font, then the fonts s1, s2, ... will be
	       special.
     .ft       Return to previous font.  Same as \f[] or \fP.
     .ft font  Change  to  font name or number font; same as \f[font] escape se-
	       quence.
     .ftr font1 font2
	       Translate font1 to font2.
     .hc       Remove additional hyphenation indicator character.
     .hc c     Set up additional hyphenation indicator character c.
     .hcode c1 code1 c2 code2 ...
	       Set the hyphenation code of character c1 to code1, that of c2  to
	       code2, etc.
     .hla lang
	       Set the current hyphenation language to lang.
     .hlm n    Set the maximum number of consecutive hyphenated lines to n.
     .hpf file
	       Read hyphenation patterns from file.
     .hpfa file
	       Append hyphenation patterns from file.
     .hpfcode file
	       Set input mapping for .hpf.
     .hw words
	       List of words with exceptional hyphenation.
     .hy N     Switch to hyphenation mode N.
     .hym n    Set the hyphenation margin to n (default scaling indicator m).
     .hys n    Set the hyphenation space to n.
     .ie cond anything
	       If cond then anything else goto .el.
     .if cond anything
	       If cond then anything; otherwise do nothing.
     .ig       Ignore text until .. is encountered.
     .ig end   Ignore text until .end.
     .in       Change to previous indent value.
     .in +/-N  Change indent according to +/-N (default scaling indicator m).
     .it N trap
	       Set an input-line count trap for the next N lines.
     .itc N trap
	       Same as .it but count lines interrupted with \c as one line.
     .kern     Enable pairwise kerning.
     .kern n   If n is zero, disable pairwise kerning, otherwise enable it.
     .lc       Remove leader repetition character.
     .lc c     Set leader repetition character to c.
     .length register anything
	       Write the length of the string anything in register.
     .linetabs
	       Enable  line-tabs mode (i.e., calculate tab positions relative to
	       output line).
     .linetabs n
	       If n is zero, disable line-tabs mode, otherwise enable it.
     .lf N file
	       Set input line number to N and filename to file.
     .lg N     Ligature mode on if N>0.
     .ll       Change to previous line length.
     .ll +/-N  Set line length according to +/-N  (default  size  6.5i,  default
	       scaling indicator m).
     .ls       Change to the previous value of additional intra-line skip.
     .ls N     Set  additional intra-line skip value to N, i.e., N-1 blank lines
	       are inserted after each text output line.
     .lt +/-N  Length of title (default scaling indicator m).
     .mc       Margin character off.
     .mc c     Print character c after each text line at  actual  distance  from
	       right margin.
     .mc c N   Set  margin  character  to  c and distance to N from right margin
	       (default scaling indicator m).
     .mk register
	       Mark current vertical position in register.
     .mso file
	       The same as the .so request except that file is searched  in  the
	       tmac directories.
     .na       No output-line adjusting.
     .ne       Need a one-line vertical space.
     .ne N     Need N vertical space (default scaling indicator v).
     .nf       No filling or adjusting of output-lines.
     .nh       No hyphenation.
     .nm       Number mode off.
     .nm +/-N [M [S [I]]]
	       In line number mode, set number, multiple, spacing, and indent.
     .nn       Do not number next line.
     .nn N     Do not number next N lines.
     .nop anything
	       Always execute anything.
     .nr register +/-N M
	       Define or modify register using +/-N with auto-increment M.
     .nroff    Make the built-in condition n true and t false.
     .ns       Turn no-space mode on.
     .nx       Immediately jump to end of current file.
     .nx filename
	       Next file.
     .open stream filename
	       Open register filename for writing and associate the stream named
	       register stream with it.
     .opena stream filename
	       Like .open but append to it.
     .os       Output vertical distance that was saved by the sv request.
     .output string
	       Emit  string  directly  to  intermediate output, allowing leading
	       whitespace if string starts with " (which will be stripped off).
     .pc       Reset page number character to `%'.
     .pc c     Page number character.
     .pi program
	       Pipe output to program (nroff only).
     .pl       Set page length to default  11i.   The  current	page  length  is
	       stored in register .p.
     .pl +/-N  Change page length to +/-N (default scaling indicator v).
     .pm       Print macro names and sizes (number of blocks of 128 bytes).
     .pm t     Print only total of sizes of macros (number of 128 bytes blocks).
     .pn +/-N  Next page number N.
     .pnr      Print the names and contents of all currently defined number reg-
	       isters on stderr.
     .po       Change  to  previous  page  offset.   The  current page offset is
	       available in register .o.
     .po +/-N  Page offset N.
     .ps       Return to previous point-size.
     .ps +/-N  Point size; same as \s[+/-N].
     .psbb filename
	       Get the bounding box of a PostScript image filename.
     .pso command
	       This behaves like the so request except that input comes from the
	       standard output of command.
     .ptr      Print the names and positions of all traps (not	including  input
	       line traps and diversion traps) on stderr.
     .pvs      Change to previous post-vertical line spacing.
     .pvs +/-N
	       Change  post-vertical  line  spacing  according	to +/-N (default
	       scaling indicator p).
     .rchar c1 c2 ...
	       Remove the definitions of characters c1, c2, ...
     .rd prompt
	       Read insertion.
     .return   Return from a macro.
     .rj n     Right justify the next n input lines.
     .rm name  Remove request, macro, or string name.
     .rn old new
	       Rename request, macro, or string old to new.
     .rnn reg1 reg2
	       Rename register reg1 to reg2.
     .rr register
	       Remove register.
     .rs       Restore spacing; turn no-space mode off.
     .rt +/-N  Return (upward only) to marked vertical	place  (default  scaling
	       indicator v).
     .shc      Reset soft hyphen character to \(hy.
     .shc c    Set the soft hyphen character to c.
     .shift n  In a macro, shift the arguments by n positions.
     .sizes s1 s2 ... sn [0]
	       Set  available  font sizes similar to the sizes command in a DESC
	       file.
     .so filename
	       Include source file.
     .sp       Skip one line vertically.
     .sp N     Space vertical distance N up or down according to sign of N  (de-
	       fault scaling indicator v).
     .special s1 s2 ...
	       Fonts  s1,  s2, etc. are special and will be searched for charac-
	       ters not in the current font.
     .spreadwarn
	       Toggle the spread warning on and off without changing its value.
     .spreadwarn limit
	       Emit a warning if each space in an  output  line  is  widened  by
	       limit or more (default scaling indicator m).
     .ss N     Space-character size set to N/12 of the spacewidth in the current
	       font.
     .ss N M   Space-character	size  set to N/12 and sentence space size set to
	       M/12 of the spacewidth in the current font (=1/3 em).
     .sty n style
	       Associate style with font position n.
     .substring xx n1 n2
	       Replace the string named xx with the substring defined by the in-
	       dices n1 and n2.
     .sv       Save 1v of vertical space.
     .sv N     Save the vertical distance N for later output with os request.
     .sy command-line
	       Execute program command-line.
     .ta T N   Set tabs after every position that is a multiple  of  N	(default
	       scaling indicator m).
     .ta n1 n2 ... nn T r1 r2 ... rn
	       Set  tabs  at  positions n1, n2, ..., nn, then set tabs at nn+r1,
	       nn+r2, ..., nn+rn, then at nn+rn+r1, nn+rn+r2, ..., nn+rn+rn, and
	       so on.
     .tc       Remove tab repition character.
     .tc c     Set tab repetition character to c.
     .ti +/-N  Temporary indent next line (default scaling indicator m).
     .tkf font s1 n1 s2 n2
	       Enable track kerning for font.
     .tl 'left'center'right'
	       Three-part title.
     .tm anything
	       Print anything on terminal (UNIX standard message output).
     .tm1 anything
	       Print anything on terminal (UNIX standard message output), allow-
	       ing leading whitespace if anything starts with " (which	will  be
	       stripped off).
     .tmc anything
	       Similar to .tm1 without emitting a final newline.
     .tr abcd...
	       Translate a to b, c to d, etc. on output.
     .trf filename
	       Transparently output the contents of file filename.
     .trin abcd...
	       This  is  the  same as the tr request except that the asciify re-
	       quest will use the character code (if any) before  the  character
	       translation.
     .trnt abcd...
	       This  is  the same as the tr request except that the translations
	       do not apply to text that is transparently throughput into a  di-
	       version with \!.
     .troff    Make the built-in condition t true and n false.
     .uf font  Underline font set to font (to be switched to by .ul).
     .ul N     Underline (italicize in troff) N input lines.
     .unformat diversion
	       Unformat  space	characters and tabs, preserving font information
	       in diversion.
     .vpt n    Enable vertical position traps if n  is	non-zero,  disable  them
	       otherwise.
     .vs       Change to previous vertical base line spacing.
     .vs +/-N  Set vertical base line spacing according to +/-N (default scaling
	       indicator p).  Default value is 12p.
     .warn n   Set warnings code to n.
     .warnscale si
	       Set scaling indicator used in warnings to si.
     .wh N     Remove (first) trap at position N.
     .wh N trap
	       Set location trap; negative means from page bottom.
     .while cond anything
	       While condition cond is true, accept anything as input.
     .write stream anything
	       Write anything to the stream named stream.
     .writec stream anything
	       Similar to .write without emitting a final newline.
     .writem stream xx
	       Write contents of macro or string xx to the stream named stream.

     Besides  these standard groff requests, there might be further macro calls.
     They can originate from a macro package (see roff(7) for  an  overview)  or
     from a preprocessor.

     Preprocessor  macros  are	easy  to be recognized.  They enclose their code
     into a pair of characteristic macros.

		    +--------------+-------------+------------+
		    | preprocessor | start macro |  end macro |
		    +--------------+-------------+------------+
		    |	  eqn	   |	 .PS	 |    .PE     |
		    |	  grap	   |	 .G1	 |    .G2     |
		    |	  grn	   |	 .GS	 |    .GE     |
		    |	  pic	   |	 .PS	 |    .PE     |
		    |	 refer	   |	 .R1	 |    .R2     |
		    |	 soelim    |	none	 |    none    |
		    |	  tbl	   |	 .TS	 |    .TE     |
		    +--------------+-------------+------------+

ESCAPE SEQUENCES
     Escape sequences are in-line language  elements  usually  introduced  by  a
     backslash	`\'  and  followed by an escape name and sometimes by a required
     argument.	Input processing is continued directly after the escaped charac-
     ter or the argument resp. without an intervening separation character.   So
     there  must be a way to determine the end of the escape name and the end of
     the argument.

     This is done by enclosing names (escape name and arguments consisting of  a
     variable  name) by a pair of brackets [name] and constant arguments (number
     expressions and characters) by apostrophes (ASCII 0x27) like 'constant'.

     There are abbreviations for short names.  Two character escape names can be
     specified by an opening parenthesis like \(xy without  a  closing	counter-
     part.   And  all  one-character names different from the special characters
     `[' and `(' can even be specified without a marker in the form \c.

     Constant arguments of length 1 can omit the marker  apostrophes,  too,  but
     there is no two-character analogue.

     While  1-character  escape  sequences are mainly used for in-line functions
     and system related tasks, the 2-letter names following the \( construct are
     used for special characters predefined by the  roff  system.   Escapes  se-
     quences  with names of more than two characters \[name] denote user defined
     named characters (see the char request).

   Single Character Escapes


Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=groff&sektion=7&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help