\documentclass[a4paper]{article}
\usepackage[a4paper]{geometry}
\usepackage{miscdoc}
\usepackage[scaled=0.85]{luximono}
\begin{document}
\title{The \Package{tabto} package}
\author{Donald Arseneau\thanks{Documentation file assembled by Robin
    Fairbairns}}
\date{May 2006, version 1.0}
\maketitle

\section*{Tabbing to fixed positions in a paragraph}

Two new text positioning commands are defined: \cs{tabto} and \cs{tab}.

\vspace*{\baselineskip}
\noindent\cmdinvoke{tabto}{\meta{length}}

Tab to a position relative to the left margin in a paragraph
(any indentation due to a list is part of the `margin' in this
context).  If the text on the line already goes past the desired
position, the tab starts a new line and moves to the requested
horizontal  position.

\vspace*{\baselineskip}
\noindent\cmdinvoke{tabto*}{\meta{length}}

Similar to \cs{tabto}, except it will perform backspacing, and over-
print previous text on the line whenever that text is already
longer than the specified length (i.e., no linebreak is produced).
Line-breaks are suppressed immediately after \cs{tabto} or \cs{tabto*}.

\vspace*{\baselineskip}
\noindent\cs{tab}

Tab to the next tab-stop chosen from a list of tab positions, in
the traditional style of typewriters.  A \cs{tab} will always move
to the next tab stop (or the next line), even if it is already
exactly at a tab stop. Thus, ``\cs{tab}\cs{tab}'' skips a position.  A
linebreak is permitted immediately following a \cs{tab}, in case the
ensuing text does not fit well in the remaining space.

The tab-stop positions are declared using either \cs{TabPositions}
or \cs{NumTabs}:

\vspace*{\baselineskip}
\noindent\cmdinvoke{TabPositions}{\meta{length}, \meta{length}, ... \meta{length}}

Declares the tab stops as a comma-separated list of positions 
relative to the left margin. A tab-stop at \texttt{0pt} is implicit, and 
need not be listed.

\vspace*{\baselineskip}
\noindent\cmdinvoke{NumTabs}{\meta{number}}

Declares a list of \meta{number} equally-spaced tabs, starting at the
left margin and spanning \cs{linewidth}.  For example
\cmdinvoke{NumTabs}{2} declares tab-stops at \texttt{0pt} and
\texttt{0.5}\cs{linewidth}, the same as
\cmdinvoke{TabPositions}{\texttt{0pt}, \texttt{0.5}\cs{linewidth}}
or \cmdinvoke{TabPositions}{\texttt{0.5}\cs{linewidth}}


\end{document}
