\documentstyle[11pt,/thales/stewart/tex/sty/jeep]{article}
%\headheight 14pt
\lhead{\large\tt jeep.sty}\rhead{April 29, 1991}
\cfoot{\thepage}
\underhead
\tighttoc
\thispagestyle{plain}
\numberbysection
\begin{document}
\begin{center}
\large\sc {\tt JEEP}\smallskip\\
A Customization of the \LaTeX\\
Article and Report Styles
\smallskip\\
G.  W.  Stewart\symbolnote{1}{Department of Computer Science and
Institute for Advanced Computer Studies, University of Maryland,
College Park, MD 20742 (stewart@cs.umd.edu).}
\bigskip
\end{center}

\tableofcontents

\section{Introduction}

This note describes a style file to accompany the \LaTeX\ document
styles article and report.  It is not a systematic revision of these
styles; rather it consists of modifications I found necessary or
desirable in the course of my work.  Although I have used the
modifications for some time in a variety of applications, they no
doubt still contain some bugs.  Please send any comments to the
address below.

The name \verb|jeep| is a continuation of Leslie Lamport's analogy,
in which he compares \TeX\ to a racing car and \LaTeX\ to a family
sedan.  The modifications here convert the sedan to a general purpose
vehicle\,---\,a jeep.  The modifications, like a jeep, are not
pretty, but the casual \LaTeX er can cover a lot of territory with
them.

\section{Page Size}

The default page size is changed to take full advantage of the
default North American paper size of $8\frac{1}{2}\times 11$ in.  It
looks OK in eleven or twelve point type.  I find no virtues in ten
point type on pages of this size.

\section{Chapter, Section, and Theorem Heads}

Even among well printed books, there is great variation in the format
of section heads.  The font may be bold, sans serif, or small caps,
in sizes ranging from normal to rather large.  If a section number is
present, it may be followed by a period or by a long space.  The
changes here give the casual \LaTeX er more control over the style of
his headings.

\subsection{Chapter heads}

The format of chapter heads may be controlled by the command
\begin{quote}
\begin{verbatim}
\mychapter{<head1>}{<head2>}
\end{verbatim}
\end{quote}
Here \verb|<head1>| is the chapter heading to use when the chapter is
numbered and \verb|<head2>| is the heading to use with the
\verb|\chapter*| command.  The text of the \verb|\chapter| command is
referenced in \verb|<head1>| and \verb|<head2>| by writing \verb|#1|.
For example, the default chapter head is defined by
\begin{quote}
\begin{verbatim}
\mychapter{\LARGE \sc \thechapter. #1}{\LARGE \sc #1}
\end{verbatim}
\end{quote}

Chapters always begin on a new page.  The style parameter
\verb|\chaptopsep| is the amount of blank space placed at the top of
the page before the chapter head, and \verb|\chapaftersep| is
the amount of blank space placed between the chapter head and
the text.  They are initially \verb|.5in|.  They may be changed
by the \verb|\setlength| command.

The default head does not have the word ``Chapter'' preceding
the chapter number, which is fine with me, but may not please you.
To get back something approximating the original \LaTeX\ heads
try
\begin{quote}
\begin{verbatim}
\mychapter{\huge \bf \chapapp\ \thechapter\\[20pt]\Huge\bf #1}
{\Huge \bf #1}
\end{verbatim}
\end{quote}
The command \verb|\chapapp| is ordinarily defined to be
``Chapter'' but the \LaTeX\ command \verb|\appendix| changes it
to ``Appendix''.  If you want more flexibility in your appendix
heads, use \verb|\mychapter| to define them anew.


\subsection{Section heads}
The format of section heads may be controlled by the command
\begin{quote}
\begin{verbatim}
\mysection{<sec>}{<style>}{<preface>}
\end{verbatim}
\end{quote}
Here {\tt <sec>} is the section level\,---\,{\tt section}, {\tt
subsection}, etc.  The style in which the section is to be set is
specified by \verb|<style>|; e.g., \verb|\large\sf|.  The argument
{\tt <preface>} is the text to be set before the text of the section
head\,---\,usually \verb|\thesection| and some punctuation.  For example
the section heads in this document were produced by the commands.
\begin{quote}
\begin{verbatim}
\mysection{section}{\large\bf}{\thesection.~}
\mysection{subsection}{\normalsize\bf}{\thesubsection.~}
\mysection{subsubsection}{\normalsize\bf}{\thesubsubsection.~}
\mysection{paragraph}{\normalsize\bf}{\theparagraph.}
\mysection{subparagraph}{\normalsize\bf}{\thesubparagraph.}
\end{verbatim}
\end{quote}
These are the default for {\tt jeep.sty}.


\subsection{Theorem heads}
One already has considerable flexibility in controlling the
theorem environment.  For example, the definition
\begin{quote}
\begin{verbatim}
\newtheorem{theorem}{\sf Theorem}
\end{verbatim}
\end{quote}
will cause theorem headings to be printed in sans serif type.
However, it is not easy to slip a punctuation mark after
the theorem number.  This can now be done by the statement
\begin{quote}
\begin{verbatim}
\renewcommand{\thmcounterend}{<punctuation>}
\end{verbatim}
\end{quote}
where {\tt <punctuation>} is the desired punctuation.  The
default is a period.  This command affects all user defined
theorem environments.

The default typestyle within the theorem environment has been
changed to \verb|\sl|.  This can easily be overridden.

\section{Numbering}

A new command, \verb|\numberbysection|, which should appear only in
the preamble, places the equation, figure, table, and theorem counters
within the section counter and redefines \verb|\the<counter>| to be
\verb|\thesection.\arabic{<counter>}|.  The change is inherited by all
theorem environments that are defined to be numbered with
\verb|theorem| (however, be sure to create the \verb|theorem|
environments {\it before} invoking \verb|\numberbysection|).

In the article style, \verb|\numberbysection| is the natural way to
write a paper.  In the report style, the user of
\verb|\numberbysection| must provide explicit chapter numbers
when referencing equations, theorems, etc, outside the
current chapter.

An analogous command, \verb|\numberbysubsection|, causes the
counters to be reset when subsections change.  This option is
especially useful for a style of writing in which the work is
broken up into short subsections of one or two paragraphs, each
with its own heading.  Try writing this way if you have
temporary writer's block.  At its best the technique produces a
lively work that moves quickly from topic to topic.  At its
worst it produces a rambling, ill-organized mish-mash.

\section{Headers}

\subsection{Three part headers and footers}

A finished article or report should have a limited number of simple,
informative headers and footers\,---\,perhaps a title or section head
and a page number.  Work in progress requires additional information;
e.g., the author's name or initials, the date, and a statement that
this is a draft.  To help with this, I have made Lance
Berc's\footnote{Ollivetti Research Center, 2882 Sand Hill Road,
Menlo Park, CA 94025} three part headers and footers the default page
style.  The commands
\begin{quote}
\begin{verbatim}
\lhead{<item>}
\chead{<item>}
\rhead{<item>}
\end{verbatim}
\end{quote}
sets the left, center, and right parts of the headers.  The
corresponding commands for footers are
\begin{quote}
\begin{verbatim}
\lfoot{<item>}
\cfoot{<item>}
\rfoot{<item>}
\end{verbatim}
\end{quote}
The \verb|\pagestyle| command
overrides the three part option.

If the \verb|twoside| style option is invoked before jeep, the macros
switch the right and left items on even numbered pages.  If you
require different headers and footers for even numbered pages, as
often with books, use the commands
\begin{quote}
\begin{verbatim}
\elhead{<item>}
\echead{<item>}
\erhead{<item>}
\elfoot{<item>}
\ecfoot{<item>}
\erfoot{<item>}
\end{verbatim}
\end{quote}
to define them.  They should follow the commands, \verb|\lhead|,
\verb|chead|, etc.

\subsection{Underlined headers}

The preamble command \verb|\underhead| places a
rule of length \verb|\textwidth| a distance of
\verb|\underheadsep| under the header text.  The value
of \verb|\underheadsep| can be changed in the preamble by
\verb|\settolength|.  This length is added
to the style parameter \verb|\headhight|, so that the top of the text
is moved down by \verb|\underheadsep|.  To keep the top of the text
in the original position execute the command
\begin{quote}
\begin{verbatim}
\addtolength{\headsep}{-\underheadsep}
\end{verbatim}
\end{quote}


In preparing assignments and classroom notes, I find it convenient to
use the header line as a title, in which case I do not want it
underlined on the first page.  Underlining on the current page can be
suppressed by the command \verb|\nounderhead|.

\section{Enumerated Lists}

\subsection{The {\tt enumerate} environment}

As a matter of personal taste, I prefer my lists enumerated by simple
arabic numbers.  Consequently, I have changed the numbering
conventions on the {\tt enumerate} environment to use arabic numbers
at all levels.

\subsection{The {\tt outline} environment}

Many people who use the {\tt enumerate} environment to produce a
syllabus or other long nested lists of short items are dismayed
by the amount of space between the items.  The {\tt outline}
environment, which is essentially the same as {\tt enumerate},
suppresses some of this space.  It leaves space, however, at the
beginning and end of a list, but not a sublist.  For example
\begin{outline}
\item Rome and Carthage
   \begin{outline}
   \item The first Punic war
   \item The second Punic war
      \begin{outline}
      \item Hannibal in Spain
      \item Hannibal in Italy
      \item Hannibal in flight
      \end{outline}
   \item {\it Carthago delenda est}
   \end{outline}
\item Rome in the Adriatic
\end{outline}
You should use the {\tt outline} environment sparingly.  For
most purposes, even for a list of a few short items, the {\tt
enumerate} environment produces more pleasing results.

\section{The {\tt literatim} environment}
One of the frustrations of the verbatim environment is that it does
not permit commands to be executed.  This means that you cannot
change fonts or insert equations.  For example, the verbatim
environment cannot be used to produce an annotated program like the
following.
\begin{quote}
\begin{literatim}{}
x = exp(y);                 {\rm: Initialize \$x\$.}

p = a[n];                   {\rm: Evaluate the polynomial}
for (i=n-1; i>=0; i--)      {\rm: \$a\_nx\^n+\cdots+a\_0\$.} 
   p = x*p + a[i];
\end{literatim}
\end{quote}

To circumvent this difficulty, \verb|jeep| provides a
\verb|literatim| environment\,---\,an extension of Lamport's
\verb|alltt| environment\,---\,in which \verb|\|, \verb|{|, and
\verb|}| retain their original functions,  so that we can
invoke commands and delimit their arguments.  For example,
the above program listing was produced by the statements
\begin{quote}
\small
\begin{verbatim}
\begin{literatim}{}
x = exp(y);                 {\rm: Initialize \$x\$.}

p = a[n];                   {\rm: Evaluate the polynomial}
for (i=n-1; i>=0; i--)      {\rm: \$a\_nx\^n+\cdots+a\_0\$.} 
   p = x*p + a[i];
\end{literatim}
\end{verbatim}
\end{quote}


One difficulty with the \verb|literatim| environment is that you loose
the special commands that are not preceded by a backslash.  For
example, we cannot delimit an equation by dollar signs, since they
are now interpreted literally.  One solution would be to use the
\TeX\ delimiters \verb|\(| and \verb|\)|  
(as well as the commands \verb|\sp{}|
and \verb|\sb{}| for \verb|^{}| and \verb|_{}|).  But this is a
bother, especially for people who do not have a powerful editor.
Instead \verb|literatim| defines the commands \verb|\$|, \verb|\^|,
\verb|\_|, and \verb|\&| to be the equivalent of the special
commands \verb|$|, \verb|^|, \verb|_|, and \verb|&|.  (Unfortunately, the
definition of \verb|\^| redefines the command that produces a
circumflex over a letter.  To get a circumflex in the
\verb|literatim| environment use the command \verb|\circumflex{<letter>}|.)
In addition \verb|\@|, which is not needed in the literatim environment,
produces a backslash.

Even a short equation can have a long definition, so that it is
necessary to break it across lines.  Unfortunately, we cannot use a
line break (\verb|^M|) for this purpose in the \verb|literatim|
environment, and the character \verb|%| is no longer available as an
escape.  To handle this difficulty, \verb|literatim| has a
(nonoptional) argument to specify the comment character, which must
be preceeded by a backslash in the argument.  If the argument is
empty, there will be no comment characters.  Thus if we wish to name
our polynomial and include another term, we might enter
\begin{quote}
\small
\begin{verbatim}
\begin{literatim}{\`}
x = exp(y);                 {\rm: Initialize \$x\$.}

p = a[n];                   {\rm: Evaluate the polynomial}
for (i=n-1; i>=0; i--)`
      {\rm: \$p(x)=a\_nx\^n+a\_{n-1}x\^{n-1}+\cdots+a\_0\$.} 
   p = x*p + a[i];
\end{literatim}
\end{verbatim}
\end{quote}
which will give
\begin{quote}
\begin{literatim}{\`}
x = exp(y);                 {\rm: Initialize \$x\$.}

p = a[n];                   {\rm: Evaluate the polynomial}
for (i=n-1; i>=0; i--)`
      {\rm: \$p(x)=a\_nx\^n+a\_{n-1}x\^{n-1}+\cdots+a\_0\$.} 
   p = x*p + a[i];
\end{literatim}
\end{quote}

In using the \verb|literatim| environment, you should keep in
mind that the space character is active.  This means, among
other things, that spaces following a command are not removed
and that spaces in equations will actually appear in the text.
For example the statements
\begin{quote}
\begin{verbatim}
\begin{literatim}{}
{\rm Let \$c = (a + b)/2\$ be the {\it mean value}\ldots.} 
\end{literatim}
\end{verbatim}
\end{quote}
produce
\begin{quote}
\begin{literatim}{}
{\rm Let \$c = (a + b)/2\$ be the {\it mean value}\ldots.}
\end{literatim}
\end{quote}
What we really want is
\begin{quote}
\begin{literatim}{}
{\rm{}Let \$c=(a+b)/2\$ be the {\it{}mean value}\ldots.}
\end{literatim}
\end{quote}
which is produced by
\begin{quote}
\begin{verbatim}
\begin{literatim}{}
{\rm{}Let \$c=(a+b)/2\$ be the {\it{}mean value}\ldots.}
\end{literatim}
\end{verbatim}
\end{quote}

\section{Table of Contents}

In technical articles it is sometimes convenient to place a
table of contents on the first page, right after the title and
abstract.  I find the section entries in the default table of
contents for the article style to be too assertive and too
widely spaced for this purpose.  The command
\begin{quote}
\begin{verbatim}
\tighttoc
\end{verbatim}
\end{quote}
produces a tighter table of contents.  It was used to generate
the table of contents on the first page.

\section{Miscellaneous}

\subsection{Symbolic footnote marks}
Since there is no standard place to cut windows in technical
report covers, most people are reduced to hacking their own
title pages.  This creates the problem of producing footnotes
using the symbols $*$, \dag, \ddag, etc.  The command
\begin{quote}
\begin{verbatim}
\symbolnote{<num>}{<text>}
\end{verbatim}
\end{quote}
produces a footnote with footnote symbol \verb|<num>|, where
\verb|<num>| is a number between 1 and 9 (for a list of the
symbols see \S C.7.4 in the \LaTeX\ manual).  This command does
not alter the usual sequencing of numbered footnotes, so that it
can be used to produce auxiliary footnotes anywhere in the
manuscript.  The following sequence generated the footnote at
the beginning of this note.
\begin{quote}
\begin{verbatim}
G. W. Stewart\symbolnote{1}{Department of ... }
\end{verbatim}
\end{quote}

The commands \verb|\symbolmark{<num>}| and
\verb|\symboltext{<num>}{<text>}| are analogues of
\verb|\footnotemark[<num>]| and \verb|\footnotetext[<num>]{<text>}|.
Observe that the argument \verb|<num>|, which is optional in the
\LaTeX\ commands, is mandatory in the \verb|jeep| commands.

\subsection{Symbolic equation labels} In short notes, classroom
assignment, and tests it is often convenient to label an
equation by a symbol; e.g.
\begin{symboleqn}{(*)}
x^n + y^n = z^n.
\end{symboleqn}
This can be accomplished by the sequence
\begin{quote}
\begin{verbatim}
\begin{symboleqn}{(*)}
x^n + y^n = z^n.
\end{symboleqn}
\end{verbatim}
\end{quote}
Any text can replace the $(*)$, but keep in mind that it will be set in
math mode.  Equations generated by \verb|symboleqn| cannot be labeled;
any references must be constructed explicitly.

Since asterisks are a favorite symbol in this connection, let me note
some of the pitfalls.  Always set $(*)$ in math mode thus:
\verb|$(*)$|.  If you enter \verb|(*)|, you will get (*), with the
asterisk too high.  To get $(*{*}*)$ enter \verb|$(*{*}*)$|.  The
braces keep \TeX\ from treating the inner asterisk as an operator.

\subsection{The \TeX\ delimiters {\tt bigl}, {\tt bigr}, etc.}
\TeX\ has a series of delimiters of increasing size.  For example
\begin{quote}
\begin{verbatim}
$x\bigl(x(xa+b)+c\bigr)+e$
\end{verbatim}
\end{quote}
should produce $x\bigl(x(xa+b)+c\bigr)+e$.  As they were originally
defined, these delimiters do not do not scale along with the type
size commands of \LaTeX.  I have included definitions by John Hobby
that cure this problem.
\end{document}
