pdp11v/usr/man/u_man/man1/tabs.1

Compare this file to the similar file:
Show the results in this format:

.TH TABS 1
.SH NAME
tabs \- set tabs on a terminal
.SH SYNOPSIS
.B tabs
[ tabspec ] [
.BR +m n
] [
.BR \-T type
]
.SH DESCRIPTION
.I Tabs\^
sets the tab stops on the user's terminal according to the tab specification
.IR tabspec ,
after clearing any previous settings.
The user must of course be logged in on a terminal
with remotely-settable
hardware tabs.
.PP
Users of
.SM GE
TermiNet terminals should be aware that they
behave in a different way than most other terminals for some tab settings:
the first number in a list of tab settings becomes the
.I "left margin\^"
on
a TermiNet terminal.
Thus, any list of tab numbers whose first element is other than 1 causes a
margin to be left on a TermiNet, but not on other terminals.
A tab list beginning with 1 causes the same
effect regardless of terminal type.
It is possible to set a left margin on some other terminals,
although in a different way (see below).
.PP
Four types of tab specification are accepted for
.IR tabspec :
``canned,'' repetitive,
arbitrary, and file.
If no
.I tabspec\^
is given, the default value is
.BR \-8 ,
i.e.,
\s-1UNIX\s+1 System ``standard'' tabs.
The lowest column number is 1.
Note that for
.IR tabs ,
column 1 always refers to the leftmost column on a terminal,
even one whose column markers
begin at 0,
e.g., the \s-1DASI\s+1 300, \s-1DASI\s+1 300s, and \s-1DASI\s+1 450.
.PP
.PD 0
.TP 8
.BI \- code\^
Gives the name of one of a set of ``canned'' tabs.
The legal codes and their meanings are as follows:
.TP
.B \-a
1,10,16,36,72
.br
Assembler, \s-1IBM\s+1 S/370, first format
.TP
.B \-a2
1,10,16,40,72
.br
Assembler, \s-1IBM\s+1 S/370, second format
.TP
.B \-c
1,8,12,16,20,55
.br
\s-1COBOL\s+1, normal format
.TP
.B \-c2
1,6,10,14,49
.br
\s-1COBOL\s+1 compact format (columns 1-6 omitted).
Using this code, the first typed character corresponds to card column 7,
one space gets you to column 8, and a tab reaches column 12.
Files using this tab setup
should include a format specification
as follows:
.RS
.RS
.B "<:t\-c2 \|m6 \|s66 \|d:>"
.RE
.RE
.TP
.B \-c3
1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
.br
\s-1COBOL\s+1 compact format (columns 1-6 omitted), with more tabs than
.B \-c2.
This is the recommended format for \s-1COBOL\s+1.
The appropriate format specification is:
.RS
.RS
.B "<:t\-c3 \|m6 \|s66 \|d:>"
.RE
.RE
.TP
.B \-f
1,7,11,15,19,23
.br
\s-1FORTRAN\s+1
.TP
.B \-p
1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
.br
\s-1PL/I\s+1
.TP
.B \-s
1,10,55
.br
\s-1SNOBOL\s+1
.TP
.B \-u
1,12,20,44
.br
\s-1UNIVAC\s+1 1100 Assembler
.PD
.PP
In addition to these ``canned'' formats, three other types exist:
.PP
.PD 0
.TP 8
.BI \- n\^
A repetitive specification requests tabs at columns
.RI 1+ n ,
.RI 1+2\(** n ,
etc.
Note that such a setting leaves a left margin of
.I n\^
columns on TermiNet
terminals
.IR only .
Of particular importance is the value
.BR \-8 :
this represents the
\s-1UNIX\s+1 System ``standard'' tab setting, and is the most likely tab setting to be found
at a terminal.
It is required for use with the
.I nroff
.B \-h
option for high-speed output.
Another special case is the value
.BR \-0 ,
implying no tabs at all.
.TP
.IR n1 , n2 ,...
The arbitrary format permits the user to type any
chosen set of numbers, separated by commas, in ascending order.
Up to 40 numbers are allowed.
If any number (except the first one) is preceded by a plus sign, it is taken
as an increment to be added to the previous value.
Thus, the tab lists 1,10,20,30 and 1,10,+10,+10 are considered identical.
.TP
.BI \-\- file\^
If the name of a file is given,
.I tabs\^
reads the first line of the file, searching for a format specification.
If it finds one there, it sets the tab stops according to it, otherwise it
sets them as
.BR \-8 .
This type of specification may be used to make sure that a tabbed file is printed
with correct tab settings, and would be used with the
.IR pr (1)
command:
.RS
.RS
tabs \-\- file; pr file
.RE
.RE
.PD
.PP
Any of the following may be used also;
if a given flag occurs more than once,
the last value given takes effect:
.PP
.PD 0
.TP 8
.BI \-T type\^
.I Tabs\^
usually needs to know the type of terminal in order to set tabs
and always needs to know the type to set margins.
.I Type\^
is a name listed in
.IR term (5).
If no
.B \-T
flag is supplied,
.I tabs\^
searches for the
.SM
.B $TERM
value in the
.I environment\^
(see
.IR environ (5)).
If no
.I type\^
can be found,
.I tabs\^
tries a sequence that will work for many terminals.
.TP
.BI +m n\^
The margin argument may be used for some terminals.
It causes
all tabs to be moved over
.I n\^
columns by making column
.I n+1\^
the left margin.
If
.B +m
is given without a value of
.IR n ,
the value assumed is 10.
For a TermiNet, the first value in the tab list should
be 1,
or the margin will move even further to the right.
The normal (leftmost) margin on most terminals is
obtained by
.BR +m0 .
The margin for most terminals is reset only when the
.B +m
flag is given explicitly.
.PD
.PP
Tab and margin setting is performed via the standard output.
.SH DIAGNOSTICS
.PD 0
.TP "\w@\f2unknown\ tab\ code\fP\ \ \ \ @u"
.I "illegal tabs\^"
when arbitrary tabs are ordered incorrectly.
.br
.TP
.I "illegal increment\^"
when a zero or missing increment is found in
an arbitrary specification.
.br
.TP
.I "unknown tab code\^"
when a ``canned'' code cannot be found.
.br
.TP
.I "can't open\^"
if \f3\-\-\fP\f2file\fP option used, and file can't be opened.
.br
.TP
.I "file indirection\^"
if \f3\-\-\fP\f2file\fP option used and the specification
in that file points to yet another file.
Indirection of this form is not permitted.
.br
.PD
.SH SEE ALSO
nroff(1), environ(5), term(5).
.SH BUGS
There is no consistency among different terminals regarding ways of
clearing tabs and setting the left margin.
.br
It is generally impossible to usefully change the left margin
without also setting tabs.
.br
.I Tabs\^
clears only 20 tabs (on terminals requiring a long sequence),
but is willing to set 40.
.\"	@(#)tabs.1	5.2 of 5/18/82