


      TTTTAAAABBBBSSSS((((1111))))                     ((((UUUUNNNNIIIIXXXX 5555....0000))))                    TTTTAAAABBBBSSSS((((1111))))



      NNNNAAAAMMMMEEEE
           tabs - set tabs on a terminal

      SSSSYYYYNNNNTTTTAAAAXXXX
           ttttaaaabbbbssss [ tabspec ] [ ++++mmmmn ] [ ----TTTTtype ]

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _T_a_b_s sets the tab stops on the user's terminal according to
           the tab specification _t_a_b_s_p_e_c, after clearing any previous
           settings.  The user must of course be logged in on a
           terminal with remotely-settable hardware tabs.

           Users of 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 _l_e_f_t _m_a_r_g_i_n 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).

           Four types of tab specification are accepted for _t_a_b_s_p_e_c:
           ``canned,'' repetitive, arbitrary, and file.  If no _t_a_b_s_p_e_c
           is given, the default value is ----8888, i.e., ``standard'' tabs.
           The lowest column number is 1. Note that for _t_a_b_s, column 1
           always refers to the leftmost column on a terminal, even one
           whose column markers begin at 0, e.g., the DASI 300, DASI
           300s, and DASI 450.

           ----_c_o_d_e   Gives the name of one of a set of ``canned'' tabs.
                   The legal codes and their meanings are as follows:
           ----aaaa      1,10,16,36,72
                   Assembler, IBM S/370, first format
           ----aaaa2222     1,10,16,40,72
                   Assembler, IBM S/370, second format
           ----cccc      1,8,12,16,20,55
                   COBOL, normal format
           ----cccc2222     1,6,10,14,49
                   COBOL 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:
                        <<<<::::tttt----cccc2222 mmmm6666 ssss66666666 dddd::::>>>>
           ----cccc3333     1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
                   COBOL compact format (columns 1-6 omitted), with
                   more tabs than ----cccc2222.... This is the recommended format
                   for COBOL.  The appropriate format specification is:
                        <<<<::::tttt----cccc3333 mmmm6666 ssss66666666 dddd::::>>>>
           ----ffff      1,7,11,15,19,23



      Page 1                                                   (9010-E)






      TTTTAAAABBBBSSSS((((1111))))                     ((((UUUUNNNNIIIIXXXX 5555....0000))))                    TTTTAAAABBBBSSSS((((1111))))



                   FORTRAN
           ----pppp      1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
                   PL/I
           ----ssss      1,10,55
                   SNOBOL
           ----uuuu      1,12,20,44
                   UNIVAC 1100 Assembler

           In addition to these ``canned'' formats, three other types
           exist:

           ----_n      A repetitive specification requests tabs at columns
                   1+_n, 1+2*_n, etc.  Note that such a setting leaves a
                   left margin of _n columns on TermiNet terminals _o_n_l_y.
                   Of particular importance is the value ----8888:  this
                   represents the ``standard'' tab setting, and is the
                   most likely tab setting to be found at a terminal.
                   It is required for use with the _n_r_o_f_f ----hhhh option for
                   high-speed output.  Another special case is the
                   value ----0000, implying no tabs at all.
           _n_1,_n_2,...
                   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.
           --------_f_i_l_e  If the name of a file is given, _t_a_b_s 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
                   ----8888.  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 _p_r(1) command:
                        tabs -- file; pr file

           Any of the following may be used also; if a given flag
           occurs more than once, the last value given takes effect:

           ----TTTT_t_y_p_e  _T_a_b_s usually needs to know the type of terminal in
                   order to set tabs and always needs to know the type
                   to set margins.  _T_y_p_e is a name listed in _t_e_r_m(5).
                   If no ----TTTT flag is supplied, _t_a_b_s searches for the
                   $$$$TTTTEEEERRRRMMMM value in the _e_n_v_i_r_o_n_m_e_n_t (see _e_n_v_i_r_o_n(5)).  If
                   no _t_y_p_e can be found, _t_a_b_s tries a sequence that
                   will work for many terminals.
           ++++mmmm_n     The margin argument may be used for some terminals.
                   It causes all tabs to be moved over _n columns by
                   making column _n+_1 the left margin.  If ++++mmmm is given
                   without a value of _n, the value assumed is 10.  For



      Page 2                                                   (9010-E)






      TTTTAAAABBBBSSSS((((1111))))                     ((((UUUUNNNNIIIIXXXX 5555....0000))))                    TTTTAAAABBBBSSSS((((1111))))



                   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 ++++mmmm0000.  The margin for most
                   terminals is reset only when the ++++mmmm flag is given
                   explicitly.

           Tab and margin setting is performed via the standard output.

      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
           _i_l_l_e_g_a_l _t_a_b_s        when arbitrary tabs are ordered
                               incorrectly.
           _i_l_l_e_g_a_l _i_n_c_r_e_m_e_n_t   when a zero or missing increment is
                               found in an arbitrary specification.
           _u_n_k_n_o_w_n _t_a_b _c_o_d_e    when a ``canned'' code cannot be found.
           _c_a_n'_t _o_p_e_n          if --------_f_i_l_e option used, and file can't be
                               opened.
           _f_i_l_e _i_n_d_i_r_e_c_t_i_o_n    if --------_f_i_l_e option used and the
                               specification in that file points to yet
                               another file.  Indirection of this form
                               is not permitted.

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           nroff(1), environ(5), term(5).

      BBBBUUUUGGGGSSSS
           There is no consistency among different terminals regarding
           ways of clearing tabs and setting the left margin.
           It is generally impossible to usefully change the left
           margin without also setting tabs.
           _T_a_b_s clears only 20 tabs (on terminals requiring a long
           sequence), but is willing to set 40.























      Page 3                                                   (9010-E)



