\documentstyle{unixman} \filenamewidth 3.5 in \def\met#1{{\it #1}} \def\meta#1{{$<${\it #1}$>$}} \gdef\[{\char'133} \gdef\]{\char'135} \begin{document} \version{1.1}{4th June 1991} \header{unixman}{1L}[\LaTeX\ styles] \section{NAME} unixman -- \LaTeX\ document style produce Unix-style manual pages \section{SYNOPSIS} {\tt \bs documentstyle[unixman]\\ \bs begin\{document\}\\ \bs header\{\met{name}\}\{\met{section-number}\}[\met{section-name}]\\ \bs version\{\met{version-id}\}\{\met{date}\} \bs section\{NAME\} \hbox to 2cm{\hfil \vdots \hfil} \bs end\{document\} } \section{DESCRIPTION} The \this\ document style produces documents conforming to the conventions of the Unix manual, as embodied in the \command{troff}{1} ``man'' macros. It uses the standard \LaTeX\ sectioning commands, and defines several new commands and environments to make manual page formatting easier. These include facilities for printing lists of command line flags and doing rapid font switches, which tend to be common to reference manuals. \subsection{Commands} \begin{description} \item[\bs version\{{\it version-id}\}\{{\it date}\}] define the version number and date of modification of this manual entry. \item[\bs header\{\I name \}\{\I section-number \}\[\I section-name \]] define the name of the command and the section number in which it is to appear. \I section-name is an optional argument used to override the default name for \I section-number. \item[\bs startpage\{{\it page-number}\}] start page numbering from {\it pagenumber}. \item[\bs extrapagesfrom\{{\it page-number}\}] number all pages beyond {\it pagenumber} in the style {\it pagenumber}a, {\it pagenumber}b and so on. For use when adding extra pages to an existing manual. For instance, if you use {\tt \bs extrapagesfrom\{260\}}, then instead of 260, 261, 262 you will get 260, 260a, 260b and so on. \item[\bs file\{{\it file}\}] prints the name of a file in the default font for such items\\ (e.g. {\tt \bs file\{/usr/lib\}} $\rightarrow$ \file{/usr/lib}) \item[\bs prog\{{\it program}\}] prints a program in the default font for such items\\ (e.g. {\tt \bs prog\{awk\}} $\rightarrow$ \prog{awk}). \item[\bs this] prints the name of this manual page, emboldened. \item[\bs R, \bs B, \bs T, \bs I, \bs S] print the next word in a \R roman, \B bold, \T typewriter, \I italic, and \S san-serif font respectively. The word must be delimited by white space. \item[\bs RB, \bs RI, \bs IB, \bs IR, \bs BI, \bs BR] print the next two words in alternating fonts, where the two letters specify the font according to the single word version described above. The words must be delimited by whitespace. \item[\bs tilde] prints a tilde (\tilde) \item[\bs pipe] prints a vertical bar (\pipe). \item[\bs bs] prints a backslash (\bs). Useful for manual pages about \LaTeX. \item[\bs\<\ \R \& \bs\>] print left- and right- arrow brackets (\<\ \& \>). These commands ignore following spaces completely. \item[\bs \[\ \R and \bs \]] print left and right square brackets (\[\ \& \]). Necessary in {\tt item} labels within a list environment. \end{description} \subsection{Environments} The \this\ style defines several new environments to make the formatting of manual pages easier and more consistent. \subsubsection{Options} The {\tt options} environment is intended for creating lists of command line flags. Within it there are two special commands, {\tt \bs opt} and {\tt \bs optarg}. The first is used to describe an flag that has no arguments; the second is used in the case where there are arguments. With the {\tt optarg} command, you can use the command {\tt \bs arg} to simply print the argument in the same style and without retyping it. An example -- the following \LaTeX\ specification: \begin{example} \begin{verbatim} \begin{options} \opt{-p} print top value on the stack \optarg{-s}{x} put top of stack into register named \arg \optarg{-I}{directory} add \arg to the list of directories searched. \end{options} \end{verbatim} \end{example} produces the following results \begin{example} \rm \begin{options} \opt{-p} print top value on the stack \optarg{-s}{x} put top of stack into register named \arg \optarg{-I}{directory} add \arg to the list of directories searched. \end{options} \end{example} Note how the description is positioned when the argument associated with an option flag is especially long (see PARAMETERS, below). \subsubsection{Filelist} The {\tt filelist} environment provides a simple means of formatting lists of files for the standard FILES section of a manual page, or elsewhere if desired. \begin{example} \bs begin\{filelist\}\\ \bs fileref\{\I filename\} \I description \ldots\\ \bs end\{filelist\} \end{example} {\tt \bs fileref} sets its argument in a default face. The description part is optional, and its position in the case of very long filenames follows the pattern for the `options' environment described above (see PARAMETERS, below). \subsubsection{Example} The example environment provides an indented environment with a typewriter font (Courier) as the default. If you wish to be able to use all letters and symbols easily, you should use a verbatim environment within an example. \subsection{Parameters} \begin{description} \item[\bs filenamewidth] the width of a filename in a filelist that when exceeded, causes the description (if present) to be wrapped to the next line. The default is 2.0 inches. \item[\bs optionwidth] the width of an option in an options list that when exceeded, causes the description (if present) to be wrapped to the next line. The default is 0.5 inches \item[\bs descriptionwidth] as {\tt \bs optionwidth}, but for description environments, which are otherwise like the normal LaTeX description environment. The default is 1.5 inches. \item[\bs examplefont] the font to use in the {\tt example} environment. The defaut is typewriter (Courier). \end{description} \subsection{Conventions} A typical manual page for a command or function is laid out as follows: {\tt \bs header}\{TITLE\}\{1-8\} The name of the command or function in upper-case, which serves as the title of the manual page. This is followed by the number of the section in which it appears. {\tt \bs version}\{VERSION\}\{DATE\} The version number and last modification of this manual page. {\tt \bs section}\{NAME\} {\tt name} (or comma-separated list of names) -- one-line summary The name, or list of names, by which the command is called, followed by a dash and then a one-line summary of the action performed. The summary should contain no \LaTeX\ macros since it is used to contribute to the `whatis' database. {\tt \bs section}\{SYNOPSIS\} {\bf Commands:} The syntax of the command and its arguments, as typed on the command line. When in boldface, a word must be typed exactly as printed. When in italics, a word can be replaced with an argument that you supply. References to bold or italicized items are not capitalized in other sections, even when they begin a sentence. Syntactic symbols appear in roman face: \begin{description} \item[\[\ \]] An argument, when surrounded by brackets is optional. \item[\pipe] Arguments separated by a vertical bar are exclusive. You can supply only item from such a list. \item[\ldots] Arguments followed by an elipsis can be repeated. When an elipsis follows a bracketed set, the expression within the brackets can be repeated. \end{description} {\bf Functions:} If required, the data declaration, or \#include directive, is shown first, followed by the function declaration. Otherwise, the function declaration is shown. {\tt \bs section}\{DESCRIPTION\} A narrative overview of the command or function's external behavior. This includes how it interacts with files or data, and how it handles the standard input, standard output and standard error. Internals and implementation details are normally omitted. This section attempts to provide a succinct overview in answer to the question, ``what does it do?'' Literal text from the synopsis appears in boldface, as do literal filenames and references to items that appear elsewhere in a reference manual. Arguments are italicized. If a command interprets either subcommands or an input grammar, its command interface or input grammar is normally described in a USAGE section, which follows the OPTIONS section. (The DESCRIPTION section only describes the behavior of the command itself, not that of subcommands.) {\tt \bs section}\{OPTIONS\} The list of options along with a description of how each affects the command's operation. These should be formatted within an {\tt options} environment. {\tt \bs section}\{FILES\} A list of files associated with the command or function. These should be formatted within a {\tt filelist} environment. {\tt \bs section}\{SEE ALSO\} A comma-separated list of related manual pages, followed by references to other published materials. {\tt \bs section}\{DIAGNOSTICS\} A list of diagnostic messages and an explanation of each. {\tt \bs section}\{BUGS\} A description of limitations, known defects, and possible problems associated with the command or function. \section{FILES} \begin{filelist} \fileref{/usr/local/lib/tex/macros/unixman.sty} The base style file \fileref{/usr/local/lib/tex/macros/*.sty} other style options \end{filelist} \section{SEE ALSO} \command{man}{7}, \command{troff}{1} {\it Formatting Documents, Chapter 3: the \T -man macro package} \section{BUGS} There is an \bs hoffset in the page dimensions whose function is not clear. There is a grotesque kludge used to get lists after section headings spaced from the latter as if they were pure text, consisting of {\tt\bs vskip}'ing 14pt's back up the page. This is highly non-portable and very bad style. Any better ideas~? An \T verbatim environment immediately within another environment other than \T example will not leave the normal amount of vertical space before it. In fact, it leaves less than none at all. \end{document}