\documentclass{book}
\usepackage{latexsym} % gives us symbols like the diamond
\usepackage{linuxdoc} % linux documentation style
\usepackage{makeidx} % used to make the index
\usepackage[dvips]{epsfig} % emulates old epsf.sty

% these two are for development stuff
%\includeonly{funny}
\newcommand{\devel}{n} % set to ``y'' or ``n''

% comments that you will see in this document include:
% ``kff:'', starting Karl Fogel's comments
% ``-M'', ending magnuc@ii.uib.no's comments
% ``LG:'', ``-LG'', or nothing usually indicates a comment by me, Larry
%       Greenfield.

% if you're writing, please remember to attribute the comments...

% some macros
\newcommand{\uguide}{{\em The\/ \linux\ Users' Guide\/}}
\newcommand{\ldpgs}{{\em Installation and Getting Started\/}}
\newcommand{\ldpsa}{{\em The\/ \linux\ System Adminstrator's Guide\/}}
\newcommand{\ldpng}{{\em The\/ \linux\ Networking Guide\/}}
% these two are so I can easily add \tm's or change the capitilization
\newcommand{\unix}{Unix}
\newcommand{\uslunix}{{\sc UNIX}}
% these are for my laziness
\newcommand{\eof}{\key{Ctrl-d}}
\newcommand{\ttindex}[1]{\index{#1@{\tt #1}}} % gives me a monospaced index
                                              % entry in the correct
                                              % alpha-order...
% this will give a dashed index specifier
\newcommand{\bindex}[1]{\index{#1|(}}
\newcommand{\eindex}[1]{\index{#1|)}}
\newcommand{\bttindex}[1]{\index{#1@{\tt #1}|(}}
\newcommand{\ettindex}[1]{\index{#1@{\tt #1}|)}}
% these will print the number in boldface
\newcommand{\impindex}[1]{\index{#1|bold}}
\newcommand{\impttindex}[1]{\index{#1@{\tt #1}|bold}}
% this is needed for the \imp*index commands
\newcommand{\bold}[1]{{\bf #1}}
% I'm going to redefine \key, because I want a small space after it:
\renewcommand{\key}[1]{\fbox{\sf #1}\,}
\renewcommand{\ret}{\fbox{\sf return}\,}

\author{Larry Greenfield} 
\title{The \linux\ Users' Guide}
\years{1993,1994}
\abstract{All you need to know to start using \linux, a free \unix\ 
  clone. This manual covers the basic \unix\ commands, as well as the
  more specific \linux\ ones. This manual is meant for the beginning
  \unix\ user, although it may be useful for more experienced users
  for reference purposes.}
% insert the next two when the document is ready:
\if n\devel
   \makeindex
   %\makeglossary
\fi

\begin{document}
% this will give a large ``X'' like the \blackdiamond command.
\newsavebox{\xlogo}
\savebox{\xlogo}{\epsfxsize=0.2in\epsfbox{ps-files/xlogo.ps}}
\def\strutdepth{\dp\strutbox}
\def\specialx{\vtop to \strutdepth{
    \baselineskip\strutdepth
    \vss\llap{\raisebox{-0.55in}{\usebox{\xlogo}}\hspace{.2 in}}\null}}
\newcommand{\xwarn}{\strut\vadjust{\kern-\strutdepth\specialx}}

\pagenumbering{roman}

% title page
\if n\devel
   \maketitle
\fi

% copyright
\include{copyright}

% book conventions
\include{convntns}

% acks
\include{thanks}

% table of contents
\if n\devel
   \tableofcontents
\fi

% start the book
\pagenumbering{arabic}

% introduction (who should read this book, etc.)
\include{intro}

% what's unix?
% history of unix and other non-needed things
\include{unixinfo}

% introduction to Linux---starting, stopping, messages
% this is how PCs boot up, what they load, what the kernel does, and
% some of the messages the kernel prints out while running---the
% messages perhaps should be moved to ``errors.tex''
\include{starting}

% introduction to the shell: commands, storing information
\include{shell}

% this teaches about X Windows, for those people who encountered it
% when they logged on
\include{x11}

% more advance shell stuff: piping, redirection, filters, more
% commands
\include{shell2}

% talks about some of the simplier commands, with discussions of
% common command-line options and uses
\include{commands}

% editing files with Emacs
\include{emacs}

% variables of sorts---configuration: .profile, .bashrc, .bash_logout
% (or whatever bash calls a script to be run at logout). Shell
% variables, environment variables, aliases
\include{config}

% network programs
\include{network}

% programs to play with
% this can be a variety of things. Currently, it contains some
% oversized commands that have non-standard interfaces. I'd like to
% cover any of the bigger commands that have their own documentation
% briefly. We might want to move these things somewhere else
\include{funny}

% bugs, and what to do about them!
% common error messages, how to solve them
\include{errors}

% from here on, we're dealing with appendices
\appendix

% the GPL
\include{gpl}

% the LGPL
\include{lgpl}

% vi appendix
\include{vi}

% bibliography
\include{bib}

% index
\if n\devel
   \printindex
\fi

\end{document}
