The design of the page can be a very subjective matter,
and also a rather subtle one. Many organisations large and
small pay considerable sums to designers to come up with page
layouts to suit their purposes. Styles in page layouts change
with the years, as do fashions in everything else, so what may
have looked attractive in 1978 or 1991 may look rather dated in
.
As with most aspects of typography, making the document
readable involves making it consistent, so the reader is not
interrupted or distracted too much by apparently random
changes in margins, widths, or placement of objects. However, there are a number of different places
where the layout usually does change,
related to the frequency with which the format appears.
In books, the title page, the half-title, copyright
and legal pages, dedication, acknowledgements, and other
one-page preliminaries (if you use them) are usually
designed individually, as the information on them only
occurs once in that format anywhere in the
document.
The Table of Contents and related lists like the List
of Figures, List of Tables, List of Acronyms,
Bibliography, References, Glossary, etc
SHOULD all share one design
with the preliminary sections like Preface, Introduction,
and Foreword, which SHOULD
be at section level, not chapter level (or in an article,
at subsection level, not section level).
Chapter and Appendix start pages
SHOULD always share a
layout.
Other (normal) pages have a single layout, but within
the page there MAY be
individual variations to handle tables, lists, figures,
sidebars, exercises, footnotes, etc.
The things that normally never change are the page size,
margins, and body font size. There are very rare and
exceptional circumstances when you can do this, but normally,
once set, they stay fixed.
Layout conventions
Contrary to popular assumption (and contrary to
LATEX’s defaults), navigation lists
and any prelims and postlims (item 2 in the list above)
SHOULD
NOT be chapter-level headings but
section-level. Only chapters and appendices should be
at chapter-level in terms of layout and their rank in the
Table of Contents.
The exceptions to this are newspapers and magazines, where
page layout is done individually, page by page (or pairs of facing
pages together), but even here, most publications have strict
rules about what blocks of material can be placed where, and
use a carefully-designed set of templates to achieve
this. While it would be technically possible to implement the
huge range of page layouts needed by newspapers and magazines
in LATEX, it would be impracticable to use them under the
publication deadline pressures in this field, as there is a
constant need for modifications which would require a large
number of LATEX-skilled programmers to implement.
If you are going to design a whole document yourself,
it’s probably a good idea to read a couple of books on
layout design first, to get a feel for the conventions which
contribute to making the reader comfortable reading.
While unusual or radical layouts have an important role in
attention-grabbing, or in making a socio-political statement
(WIRED magazine is an
obvious example), they are usually out of place in business
reports, white papers, books, theses, and journals. In
ephemera, on the other hand, as in advertising, they are
probably critical.
6.1.1 Margins and spacing
We mentioned in § 5.2 above and
elsewhere the existence of the
geometry package which lets you
change margins. It also lets you set the text-area height
and width and a lot of other layout settings: read the
documentation for details (see § 3.1.3 above for how to read package
documentation). Here is an example:
\usepackage[a4paper,left=2cm,top=1cm,bottom=2cm,
right=3cm,nohead,nofoot]{geometry}
Bear in mind when using the geometry
package that you only need to specify some of
either the margins
or the text height/width. Once it knows
the paper size, if you give it the text width and the
left-hand margin, for example, it can work out the
right-hand margin. The package also provides the
\newgeometry command, which lets you reset
the margin settings in mid-document (at a page break, of course).
This probably isn’t something you want to do very often,
though.
The spacing around the individual textual components
(paragraphs, lists, footnotes, tables, figures,
etc) can also be changed on a document-wide basis, as we saw
with paragraph spacing and indentation in the first code listing in this section above. There are a lot of packages
available to do various aspects of this, far too many to
go into detail here: search CTAN to
find what you need.
Changing the spacing of section headings for the whole
document can be done with the sectsty or
section packages, designed to let you
adjust section-head spacing without having to know about the
internal LATEX coding, which is quite complex.
The spacing for lists can be adjusted with the
enumitem package. In both cases the user
with highly specific requirements such as a publisher’s
Compositor’s Specification should read the relevant
sections in the Companion or ask for expert help, as there are
many extra settings which can also be changed to fine-tune
your design, but which need some understanding of
LATEX’s internals.
All the above are for automating changes so that they
occur every time in a consistent manner. You can also make
manual changes:
- Flexible vertical space
There are three commands
\smallskip,
\medskip, and
\bigskip. These output flexible
(dynamic, or ‘rubber’) space,
approximately 3pt, 6pt, and 12pt high respectively,
so they will automatically compress or expand a
little, depending on the demands of the rest of the
page (for example to allow one extra line to fit, or a
heading to be moved to the next page without anyone
except a typographer noticing the change).
These commands can only be used after a
paragraph break (a blank line or the
command \par).
- Fixed vertical space
For a fixed-height space which will
not stretch or shrink, use the
command \vspace followed by a length
in curly braces, eg \vspace{18pt}
(again, this has to be after a paragraph break). Bear
in mind that extra space which ends up at a page-break
when the document is formatted will get
discarded entirely to make the bottom and
top lines fall in the correct places. To force a
vertical space to remain and be taken into account
even after a page break (very rare), use the starred
variant, eg
\vspace*{19pt}.
- Double line-spacing
LATEX’s \baselinestretch value
governs the amount of extra
line-spacing based on the current font size (see § 6.2.5 below). By default it is null,
meaning no extra space. It is possible to set it to a
multiplier, like
\renewcommand{\baselinestretch}{1.75}
to make it 1.75 times normal. However...
Double-spacing normal lines of text is usually A
Bad Idea, as it looks very ugly, but increased
line-spacing does become important if you are
typesetting very wide lines, otherwise the reader’s
eye will not be able to pick up the start of a new
line easily.
Double-spacing is still a requirement in many
universities for thesis submission, partly because of
the tendency of writers to use very wide lines on
office-type paper sizes, and partly because the
reviewers needed space to write in corrections. With
the growth of electronic submission and editorial
corrections in PDF files, it should
become less necessary. Nowadays, 1⅓ or
1½ line spacing is considered acceptable,
according to your font size.
Use the setspace package to do
this. It has commands
for double line-spacing (\doublespacing) and
for one-and-a-half
line spacing (\onehalfspacing): the
\singlespacing command resets them). There
is also a spacing environment to let
you specify a different multiple as the argument:
\begin{spacing}{1.333}
...
\end{spacing}
Be aware that you may not want footnotes to be
spaced by the same multiple as your normal text, and
you may want other elements like lists, tables,
figures, or quotations spaced differently.
As with theses, there are some perfectly genuine
and normal reasons for wanting bigger line spacing,
for example when typesetting a proof of a
critical or variorum edition, where editors and
contributors are going to want to add notes manually,
or where the text is going to be overprinted by
something else like Braille, or in advertising or
display text for special effects.
- Horizontal space
There is a horizontal equivalent to the
\vspace command
which works in the same
way, so \hspace{1in} will insert a
1″ space like thisin
mid-paragraph. There are also some predefined
(shorter) spaces available:
\thinspace (⅙em),
which we saw between single and double quotes in
the last para ‘When typing one quotation inside another, …’ in § 1.8 above. It’s also
sometimes used between the full point after
abbreviations and a following number, as in page
references like p. 42, where a word space
would look too big, and setting it solid would
look too tight.
\enspace (½em).
There is no direct equivalent predefined in
LATEX for ‘mid’ and
‘thick’ spaces as used by
metal typesetters, although it would be possible
to define them. The en as a unit is used as the
width of a single digit in many fonts, as a
convenience so that numbers in listings are easier
to line up.
\quad (1em) was
originally the width of a capital M in metal type.
\qquad (2em) is double
a \quad.
Beyond this, all horizontal space within
paragraphs is automatically flexible,
as this is what
LATEX uses to achieve justification. Never be
tempted to try and change the spacing between letters
unless you have some professional training in
typography. Some systems use adjustable inter-letter spacing
(incorrectly called ‘tracking’) as an aid
to justification and it is almost always
wrong to do so (and looks it). While it
is of course possible to change
letterspacing in LATEX (with the
soul package), it should only be
done by a typographer, and then only very rarely, as
the settings are very subtle and beyond the scope of
this book.
6.1.2 Headers and footers
LATEX has built-in settings to control the page style
of its default page layouts, and space at the top and bottom
of the page is provided automatically for them (it can also
be adjusted or turned off in the geometry
package). These settings are implemented with the
\pagestyle command, which can take one of
the following arguments in curly braces:
- plain
for a page number centered at the
bottom — this is the default;
- empty
for nothing at all, not even a page
number — use this when you are doing one-page
documents like posters or handouts, where a page number
has no meaning;
- headings
for running heads based on the current chapter and
section — this is common for articles, books, and
reports, so that every page is identifiable even if
extracted or printed or copied separately;
- myheadings
lets you use your own [re]programmed
definitions of how to use the
\markright and
\markboth commands, which control
how chapter and section titles get into page
headers.
The command \thispagestyle (taking the
same arguments) can be used to force a specific style for
the current page only.
However, the easiest way to get specialist running heads
is to use the fancyhdr package, which
lets you redefine the left-hand, centre, and right-hand
headers and footers for both odd-numbered (left-hand) and
even-numbered (right-hand) pages (twelve objects in all).
These areas can contain a page number, fixed text, variable
text (like the current chapter or section title, or the
catch-words of a dictionary), or even a small image. They
can also be used to do page backgrounds and frames, by
making one of them the top corner of an invisible box which
‘hangs’ text or images down over the
whole page.
The settings for the typeset version of this document can be
used as an example: for the whole story you have to read the
documentation.
\pagestyle{fancy}\fancyhead{}
\renewcommand\headrulewidth{.1pt}
\fancyhead[LO,RE]{\footnotesize\sffamily\leftmark}
\fancyhead[LE,RO]{\footnotesize\sffamily\itshape
\rightmark}
\fancyfoot[C]{}
\fancyfoot[LE,RO]{\setlength{\fboxsep}{2pt}\ovalbox%
{\footnotesize\sffamily\thepage}}
\fancyfoot[LO,RE]{\footnotesize\sffamily\@title}
\fancypagestyle{plain}{\fancyhf{}
\fancyfoot[R]{\setlength{\fboxsep}{2pt}\ovalbox{%
\footnotesize\sffamily\thepage}}
\fancyfoot[L]{\footnotesize\sffamily\@title}
\renewcommand{\headrulewidth}{0pt}}
This is probably more complex than most documents, but
it illustrates some common requirements:
Settings are prefixed by making the
\pagestyle ‘fancy’
and setting the \fancyhead to
null to zap any predefined values.
The thickness of the rule at the top of the page can
be changed (or set to 0pt to make it disappear).
The header and footer settings are specified with L,
C, and R for left, centre, and right; and with O and E
for Odd and Even numbered pages. In each setting, the
typeface style, size, and font can be specified along
with commands which implement various dynamic texts
(here, the current chapter and section titles, which
LATEX stores in \rightmark and
\leftmark).
The ‘plain’ variant is used for chapter
starts, and resets some of the parameters
accordingly.
6.1.3 List spacing
The different types of list are explained in § 4.1 above.
To change the format of lists, use the
enumitem package as recommended in
§ 4.1 above. LATEX’s default list layouts are
generously spaced, with wide indentation, and a blank line
above and beneath and between items. They do, however, cope
excellently with continuation paragraphs (additional
paragraphs within an item), which many other systems confuse
with unnumbered items.
A very common requirement is the unspaced or compact
list: enumitem provides two:
noitemsep, which removes the vertical
white-space between items; and nosep,
which additionally removes the vertical white-space
above and below the list.
Bullets and numbering can be changed using the
label option. Margin spacing can be
changed to accommodate very wide or very narrow bullets
or numbers.
Description lists can be restyled in a variety of
ways. However, you should probably pick one way of
formatting for the whole document, and not go changing
it for every list.
All of the factors controlling the list shape can be
reset, but you need to be careful that you don’t make the
list unreadable by closing up the spacing too much when the
items are large (multi-line).