]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tabs.1.html
ncurses 6.2 - patch 20211016
[ncurses.git] / doc / html / man / tabs.1.html
index 4355d49981425ec4dce3554afe4b9fe124cc0a6e..e46f3a735a66e672967a20c0d5d14ed3ed1035e6 100644 (file)
@@ -1,6 +1,6 @@
-<!-- 
+<!--
   ****************************************************************************
   ****************************************************************************
-  * Copyright 2018-2019,2020 Thomas E. Dickey                                *
+  * Copyright 2018-2020,2021 Thomas E. Dickey                                *
   * Copyright 2008-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * Copyright 2008-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tabs.1,v 1.28 2020/12/19 21:50:22 tom Exp @
+  * @Id: tabs.1,v 1.32 2021/10/16 13:37:43 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 </PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
 
 
 </PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
-       X/Open defines several predefined lists of tab stops.
+       POSIX defines several predefined lists of tab stops.
 
        <STRONG>-a</STRONG>   Assembler, IBM S/370, first format
 
        <STRONG>-a</STRONG>   Assembler, IBM S/370, first format
+            1,10,16,36,72
 
        <STRONG>-a2</STRONG>  Assembler, IBM S/370, second format
 
        <STRONG>-a2</STRONG>  Assembler, IBM S/370, second format
+            1,10,16,40,72
 
        <STRONG>-c</STRONG>   COBOL, normal format
 
        <STRONG>-c</STRONG>   COBOL, normal format
+            1,8,12,16,20,55
 
        <STRONG>-c2</STRONG>  COBOL compact format
 
        <STRONG>-c2</STRONG>  COBOL compact format
+            1,6,10,14,49
 
        <STRONG>-c3</STRONG>  COBOL compact format extended
 
        <STRONG>-c3</STRONG>  COBOL compact format extended
+            1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
 
        <STRONG>-f</STRONG>   FORTRAN
 
        <STRONG>-f</STRONG>   FORTRAN
+            1,7,11,15,19,23
 
        <STRONG>-p</STRONG>   PL/I
 
        <STRONG>-p</STRONG>   PL/I
+            1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
 
        <STRONG>-s</STRONG>   SNOBOL
 
        <STRONG>-s</STRONG>   SNOBOL
+            1,10,55
 
        <STRONG>-u</STRONG>   UNIVAC 1100 Assembler
 
        <STRONG>-u</STRONG>   UNIVAC 1100 Assembler
+            1,12,20,44
+
+
+</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
+       A  few  terminals  provide the capability for changing their left/right
+       margins.  The tabs program has an option to use this feature:
+
+       <STRONG>+m</STRONG> <EM>margin</EM>
+            The  effect  depends  on  whether  the  terminal  has  the  margin
+            capabilities:
+
+            <STRONG>o</STRONG>   If  the  terminal provides the capability for setting the left
+                margin, tabs uses this, and adjusts the  available  width  for
+                tab-stops.
+
+            <STRONG>o</STRONG>   If the terminal does not provide the margin capabilities, tabs
+                imitates the effect, putting the tab stops at the  appropriate
+                place  on  each  line.   The  terminal's  left-margin  is  not
+                modified.
+
+            If the <EM>margin</EM> parameter is omitted, the default is 10.  Use <STRONG>+m0</STRONG> to
+            reset  the  left  margin, i.e., to the left edge of the terminal's
+            display.  Before setting a left-margin, tabs resets the margin  to
+            reduce  problems which might arise on moving the cursor before the
+            current left-margin.
+
+       When setting or resetting the left-margin, tabs may  reset  the  right-
+       margin.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
            capability needed to support the feature.
 
        <STRONG>o</STRONG>   There  is no counterpart in X/Open Curses Issue 7 for this utility,
            capability needed to support the feature.
 
        <STRONG>o</STRONG>   There  is no counterpart in X/Open Curses Issue 7 for this utility,
-           unlike <STRONG>tput(1)</STRONG>.
+           unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>.
 
        The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions  not  provided  by
        other implementations.
 
        The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions  not  provided  by
        other implementations.
 
        The PWB/Unix <STRONG>tabs</STRONG> utility, which was included  in  System  III  (1980),
        used  built-in  tables  rather than the terminal database, to support a
 
        The PWB/Unix <STRONG>tabs</STRONG> utility, which was included  in  System  III  (1980),
        used  built-in  tables  rather than the terminal database, to support a
-       half-dozen terminal types.  It also had built-in logic to  support  the
-       left-margin,  as  well as a feature for copying the tab settings from a
-       file.
+       half-dozen hardcopy terminal (printer) types.   It  also  had  built-in
+       logic  to support the left-margin, as well as a feature for copying the
+       tab settings from a file.
 
        Later versions of Unix, e.g., SVr4,  added  support  for  the  terminal
 
        Later versions of Unix, e.g., SVr4,  added  support  for  the  terminal
-       database,   but  kept  the  tables,  as  a  fallback.   In  an  earlier
+       database,  but  kept the tables to support the printers.  In an earlier
        development effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982)
        and incorporated into <STRONG>tput</STRONG> uses the terminal database,
 
        development effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982)
        and incorporated into <STRONG>tput</STRONG> uses the terminal database,
 
-       POSIX  documents  no  limits on the number of tab stops.  Documentation
+       The  <STRONG>+m</STRONG>  option  was  documented  in  the  Base  Specifications Issue 5
+       (Unix98,  1997),  and  omitted  in  Issue  6  (Unix03,  2004)   without
+       documenting   the   rationale,  though  an  introductory  comment  <EM>"and</EM>
+       <EM>optionally</EM> <EM>adjusts</EM> <EM>the</EM> <EM>margin"</EM> remains, overlooked in the removal.  The
+       documented  <STRONG>tabs</STRONG>  utility  in  Issues  6 and later has no mechanism for
+       setting margins.  The <STRONG>+m</STRONG> option in this implementation differs from the
+       feature  in  SVr4  by  using terminal capabilities rather than built-in
+       tables.
+
+       POSIX documents no limits on the number of  tab  stops.   Documentation
        for other implementations states that there is a limit on the number of
        for other implementations states that there is a limit on the number of
-       tab  stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility).  While some terminals
-       may not accept an arbitrary number of tab  stops,  this  implementation
-       will  attempt to set tab stops up to the right margin of the screen, if
+       tab stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility).  While some  terminals
+       may  not  accept  an arbitrary number of tab stops, this implementation
+       will attempt to set tab stops up to the right margin of the screen,  if
        the given list happens to be that long.
 
        the given list happens to be that long.
 
-       The <EM>Rationale</EM> section of the POSIX documentation goes into some  detail
-       about  the  ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG>
+       The  <EM>Rationale</EM> section of the POSIX documentation goes into some detail
+       about the ways the committee considered redesigning the <STRONG>tabs</STRONG>  and  <STRONG>tput</STRONG>
        utilities, without proposing an improved solution.  It comments that
 
        utilities, without proposing an improved solution.  It comments that
 
-            no known historical version of tabs  supports  the  capability  of
+            no  known  historical  version  of tabs supports the capability of
             setting arbitrary tab stops.
 
        However,  the  <EM>Explicit</EM>  <EM>Lists</EM>  described  in  this  manual  page  were
             setting arbitrary tab stops.
 
        However,  the  <EM>Explicit</EM>  <EM>Lists</EM>  described  in  this  manual  page  were
-       implemented in PWB/Unix.   Those  provide  the  capability  of  setting
+       implemented  in  PWB/Unix.   Those  provide  the  capability of setting
        abitrary tab stops.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
        abitrary tab stops.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210403).
+       This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20211016).
 
 
 
 
 
 
 <li><a href="#h3-Implicit-Lists">Implicit Lists</a></li>
 <li><a href="#h3-Explicit-Lists">Explicit Lists</a></li>
 <li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li>
 <li><a href="#h3-Implicit-Lists">Implicit Lists</a></li>
 <li><a href="#h3-Explicit-Lists">Explicit Lists</a></li>
 <li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li>
+<li><a href="#h3-Margins">Margins</a></li>
 </ul>
 </li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 </ul>
 </li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>