2.1.1 Document classes
To tell LATEX what class of document you are going to
create, the first line of your file
MUST identify it. To
start a report, for example, you would type a
\documentclass command like this as the
first line of your document:
\documentclass{report}
There are four built-in classes provided, and many
others that you can download (some may already be installed
for you):
- report
for business, technical, legal, academic, or
scientific reports; and for theses and dissertations;
- article
for white papers, magazine or journal articles,
reviews, conference papers, essays, or research
notes;
- book
for books, booklets, or whole journals;
These default classes are fairly basic in terms of
layout and design, but perfectly suitable for drafts or to
get your document up to speed quickly. In order to make them
easier to customise you can add
packages, which are the style and
layout plug-ins that LATEX uses to let you automate
formatting and change the design of your documents. Packages
and classes are explained in more detail in Chapter 3 ‘Plugins and support’ below.
The article class in particular
can be used for almost any short piece of typesetting by
simply omitting the titling, changing the layout, and adding
the relevant packages — like we saw in the Quick Start
document in § 1.4 above.
The letter class is not much
used: it provides a very old-fashioned layout. There are
other more up-to-date classes for letters available for
download.
2.1.2 Extending the default classes
The built-in classes are intended as starting-points,
especially for drafts, and for compatibility when exchanging
documents with other LATEX users. They come built into
every installation of LATEX and if left unmodified, using
the default
typeface, are guaranteed to format identically
everywhere. They are not intended as
final-format publication-quality layouts, and
SHOULD NOT be used as
such. Some common alternatives to the built-in document
classes are:
The memoir package and the
komascript
bundle contain more sophisticated replacements for all
the built-in classes, as well as additional ones;
Many academic and scientific publishers provide
their own special class files for articles and books
(some come with LATEX, others are on
the publishers’ web sites for download);
Conference organisers often provide class files
for authors to write papers for submission, presentation,
preprints, and proceedings;
Many universities provide their own thesis document
classes in order to ensure exact fulfilment of their
formatting requirements (many of these are on
CTAN);
There are extarticle,
extreport,
extbook, and
extletter classes which are the
same as the default classes, but provide type size
options from 8pt up to
20pt. The larger sizes are especially
useful in creating documents for people with restricted
vision or focus;
Businesses and other organisations can provide their
users with private corporate classes on a central server
and configure LATEX installations to look there first
for packages, fonts, etc (not usually available to the
public, of course);
There are nearly 600 document classes on
CTAN at the time of writing (see
http://www.ctan.org/topic/class)
The four default built-in document classes are therefore
adequate for drafts or for sending to a colleague to edit,
but they are not really usable for final-format publishing.
For this you need to use packages to design it yourself, or
(better) use a class file designed by your publisher or
institution (or yourself!) to fit the type of publication.
Quite often these are based on the default classes for
compatibility, but typeset quite different output.
2.1.3 Document class options
The default class layouts were originally designed to
fit as drafts on US
‘Letter’ size paper. However, the default paper size in TEX Live is
A4, so to create Letter-sized documents in North America, you need to
specify the paper size in the optional argument in square
brackets before the document class name, eg
\documentclass[letterpaper]{report}
Paper size at installation
You can change the A4 default in
TUG's TEX Live at installation time
by giving the option --paper=letter on
the command line, or by checking the box in the graphical
or command line installer (see https://tug.org/texlive/quickinstall.html.
It is not possible to change this if you install a
Linux system's own prepackaged TEX Live from the
system's repository.
The geometry package, which we will
see later, lets you specify other bigger and smaller paper
sizes.
Books and journals are not usually printed on
office-size paper. Although for draft purposes LATEX’s
layouts fit on the standard A4 or Letter stationery in your
printer, it makes them look odd: the margins are too wide
and the font size is too small, because the finished print
job will normally be trimmed to a completely different size
entirely — try printing a few pages of the
PDF version of this chapter and then
trimming the margins at the pale blue crop marks to make it
188 mm × 235 mm (the same as the Companion series) and you’ll
see how it changes the appearance.
The other default settings in the built-in classes are:
10pt type (all document classes)
two-sided printing (books and reports) or one-sided
(articles and letters)
separate title page (books and reports only)
These can be modified with the following document class
options which you can add in the same set of square
brackets, separated by commas:
- 11pt
to specify 11pt type (headings, footnotes,
etc get scaled up or down in proportion);
- 12pt
to specify 12pt type (headings, footnotes,
etc get scaled up or down in proportion);
- oneside
to format one-sided printing for books and
reports;
- twoside
to format articles or letters for two-sided printing;
- titlepage
to force articles to have a separate title
page (books and reports get that automatically);
- draft
makes LATEX highlight any hyphenation or
justification problems (lines too long to fit between
the margins) with a small square in the right-hand
margin so they can be located quickly by you or a
proofreader.
This option also sets graphics to print as an
empty rectangle containing just the filename of the
image, so that image-heavy drafts will print more
quickly and use less ink or toner.
So, if you were using LATEX for a report to be in 12pt
type on Letter paper, but printed one-sided in draft mode,
you would use:
\documentclass[12pt,letterpaper,oneside,draft]{report}
The 10pt, 11pt, and 12pt settings cover between them
probably 99.9% of all common text-document typesetting.
There are extra options for other body type sizes in the
extsizes bundle of document classes
(extarticle, extbook, extreport, etc), and various
national and international organisations supporting the
visually-impaired have special large-type document class
options.
Exercise 2.1 — Create a new document
Use your editor to create a new, empty
document
If your editor insists on filling your new document
with template material, delete it all so that the file
is empty
Type in a Document Class Declaration as shown
above
Add a font size option if you wish
In North America, omit the
a4paper option or change it to
letterpaper
Save the file (make up a
name) ensuring the name ends with
.tex
Global options
In addition to any options specific to the document
class, it is also possible to put package options in the
\documentclass options argument
instead of in the
\usepackage command (see § 3.1.2 below), provided they are not implemented
by more than one package. Packages which do not implement
the named option at all are supposed to silently ignore
it.