%sccs.include.proprietary.roff%

@(#)tt05 8.2 (Berkeley) 05/21/94

Tabs

Tabs (the \s8ASCII\s0 `horizontal tab' character) can be used to produce output in columns, or to set the horizontal position of output. Typically tabs are used only in unfilled text. Tab stops are set by default every half inch from the current indent, but can be changed by the .ta command. To set stops every inch, for example,

1 ^ta 1i 2i 3i 4i 5i 6i

2

Unfortunately the stops are left-justified only (as on a typewriter), so lining up columns of right-justified numbers can be painful. If you have many numbers, or if you need more complicated table layout, .ul don't use troff directly; use the tbl program described in [3].

For a handful of numeric columns, you can do it this way: Precede every number by enough blanks to make it line up when typed.

1 ^nf ^ta 1i 2i 3i \0\01\0tab\0\0\02\0tab\0\0\03 \040\0tab\0\050\0tab\0\060 700\0tab\0800\0tab\0900 ^fi

2 Then change each leading blank into the string \e0 . This is a character that does not print, but that has the same width as a digit. When printed, this will produce

1 \0\01 \0\02 \0\03 \040 \050 \060 700 800 900

2

It is also possible to fill up tabbed-over space with some character other than blanks by setting the `tab replacement character' with the .tc command:

1 ^ta 1.5i 2.5i ^tc \e(ru (\e(ru is "\(ru") Name tab Age tab

2 produces

1 3 .tc \(ru Name \l'1i' Age \l'0.5i' .tc

2 To reset the tab replacement character to a blank, use .tc with no argument. (Lines can also be drawn with the \el command, described in Section 6.)

troff also provides a very general mechanism called `fields' for setting up complicated columns. (This is used by tbl ). We will not go into it in this paper.