Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tabs(C) — OpenDesktop 1.0.0y

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

newform(C)

pr(C)

tput(C)

fspec(F)

terminfo(F)

environ(M)

term(M)


     TABS(C)                              UNIX System V



     Name
          tabs - set tabs on a terminal


     Syntax
          tabs [tabspec] [-Ttype] [+mn]


     Description
          The tabs command sets the tab stops on the  user's  terminal
          according  to  the tab specification tabspec, after clearing
          any  previous  settings.   The  user's  terminal  must  have
          remotely-settable hardware tabs.

          tabspec Four types of tab  specification  are  accepted  for
                  tabspec.   They are described below: canned (-code),
                  repetitive (-n),  arbitrary  (n1,n2,...),  and  file
                  (--file).  If no tabspec is given, the default value
                  is -8, i.e., ``standard''  UNIX  tabs.   The  lowest
                  column  number  is  1.  Note that for tabs, 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.

          -code   Use one of the codes listed below to select a canned
                  set of tabs.  The legal codes and their meanings are
                  as follows:
                  -a      1,10,16,36,72
                          Assembler, IBM S/370, first format
                  -a2     1,10,16,40,72
                          Assembler, IBM S/370, second format
                  -c      1,8,12,16,20,55
                          COBOL, normal format
                  -c2     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
                          [see fspec(F)]:
                               <:t-c2 m6 s66 d:>
                  -c3     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  -c2.  This  is   the
                          recommended    format    for   COBOL.    The
                          appropriate  format  specification  is  [see
                          fspec(F)]:
                               <:t-c3 m6 s66 d:>
                  -f      1,7,11,15,19,23
                          FORTRAN
                  -p      1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
                          PL/I
                  -s      1,10,55
                          SNOBOL
                  -u      1,12,20,44
                          UNIVAC 1100 Assembler

          -n      A repetitive specification requests tabs at  columns
                  1+n,  1+2*n,  etc.   Of particular importance is the
                  value 8: this represents the ``standard''  UNIX  tab
                  setting,  and  is  the most likely tab setting to be
                  found at a terminal.  Another special  case  is  the
                  value 0, implying no tabs at all.

          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  formats
                  1,10,20,30,   and   1,10,+10,+10   are    considered
                  identical.

          --file  If the name of a file is given, tabs reads the first
                  line   of   the   file,   searching   for  a  format
                  specification  [see  fspec(F)].   If  it  finds  one
                  there,  it  sets  the  tab  stops  according  to it,
                  otherwise  it  sets  them  as  -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 pr(C) command:
                       tabs -- file; pr file

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

          -Ttype  tabs usually needs to know the type of  terminal  in
                  order  to set tabs and always needs to know the type
                  to set margins.  type is a name listed  in  term(M).
                  If  no  -T  flag is supplied, tabs uses the value of
                  the environment  variable  TERM.   If  TERM  is  not
                  defined  in  the  environment [see environ(M)], tabs
                  tries a sequence that will work for many terminals.

          +mn     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 +m  is  given
                  without  a value of 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 +m0.  The margin for most
                  terminals is reset only when the +m  flag  is  given
                  explicitly.

          Tab and margin setting is performed via the standard output.


     Examples
          tabs -a      example using -code (canned  specification)  to
                       set  tabs  to  the settings required by the IBM
                       assembler:  columns 1, 10, 16, 36, 72.

          tabs -8      example of using -n (repetitive specification),
                       where  n  is  8,  causes  tabs  to be set every
                       eighth position:
                       1+(1*8), 1+(2*8), ... which evaluate to columns
                       9, 17, ...

          tabs 1,8,36  example   of   using   n1,n2,...     (arbitrary
                       specification) to set tabs at columns 1, 8, and
                       36.

          tabs --$HOME/fspec.list/att4425
                       example of using --file (file specification) to
                       indicate  that  tabs should be set according to
                       the first line of $HOME/fspec.list/att4425 [see
                       fspec(F)].


     Diagnostics
          illegal tabs        when   arbitrary   tabs   are    ordered
                              incorrectly
          illegal increment   when a  zero  or  missing  increment  is
                              found in an arbitrary specification
          unknown tab code    when a canned code cannot be found
          can't open          if --file option used and file can't  be
                              opened
          file indirection    if   --file   option   used   and    the
                              specification in that file points to yet
                              another file.  Indirection of this  form
                              is not permitted


     See Also
          newform(C),   pr(C),   tput(C),    fspec(F),    terminfo(F),
          environ(M), term(M)


     Notes
          There is no consistency among different terminals  regarding
          ways of clearing tabs and setting the left margin.

          tabs clears only 20 tabs  (on  terminals  requiring  a  long
          sequence), but is willing to set 64.

          The tabspec used with the tabs command is different from the
          one  used with the newform(C) command.  For example, tabs -8
          sets every eighth position; whereas newform  -i-8  indicates
          that tabs are set every eighth position.


     Standards Conformance
          tabs is conformant with:

          AT&T SVID Issue 2, Select Code 307-127;
          and The X/Open Portability Guide II of January 1987.


     (printed 9/19/89)                                    TABS(C)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026