Most of the work of a class or package is in defining new commands, or
changing the appearance of documents. This is done in the body of the
package, using commands such as \newcommand
or \setlength
.
LaTeX2e provides several new commands to help class and package writers; these are described in detail in Section 4.
There are three things that every class file must contain:
these are a definition of \normalsize
and values for \textwidth
and \textheight
. So a minimal document class file looks like this:
\NeedsTeXFormat{LaTeX2e} \ProvidesClass{minimal}[1995/10/30 Standard LaTeX minimal class] \renewcommand{\normalsize}{\fontsize{10pt}{12pt}\selectfont} \setlength{\textwidth}{6.5in} \setlength{\textheight}{8in}However, this class file will not support footnotes, marginals, floats, etc., nor will it provide any of the 2-letter font commands such as
\rm
; thus most classes will contain more than this minimum!