(La)TeX mechanisms for maintaining the space between lines (the "leading") rely on TeX's paragraph builder, which compares the shape of consecutive lines and adjusts the space between them.
These mechanisms can't work in exactly the same way when (La)TeX is building a table, because the paragraph builder doesn't get to see the lines themselves. As a result, tables sometimes typeset with lines uncomfortably close together (or occasionally ridiculously far apart).
Traditional (moving metal type) typographers would adjust the spacing
between lines of a table by use of a "strut" (a metal
spacer). A TeX user can do exactly the same thing: most macro
packages define a \strut
command, that defines a space appropriate
to the current size of the text; placing a \strut
command at the
end of a troublesome row is the simplest solution to the problem -
if it works. Other solutions below are LaTeX-specific, but some
may be simply translated to Plain TeX commands.
If your table exhibits a systematic problem (i.e., every row is wrong
by the same amount) use \extrarowheight
, which is defined by the
array package:
\usepackage{array}% in the preamble ... \setlength{\extrarowheight}{length} \begin{tabular}{....}
To correct a single row whose maladjustment isn't corrected by a
\strut
command, you can define your own, using
\rule{0pt}{length}
- which is a near approximation to the
command that goes inside a \strut
.
General solutions are available, however. The tabls package automatically generates an appropriately-sized strut at the end of each row. Its disadvantages are that it's really rather slow in operation (since it gets in the way of everything within tables) and its (lack of) compatibility with other packages.
The booktabs package comes with a thought-provoking essay about how tables should be designed. Since table row-spacing problems most often appear in collisions with rules, the author's thesis, that LaTeX users tend too often to rule their tables, is interesting. The package provides rule commands to support the author's scheme, but deals with inter-row spacing too. Again, booktabs is not compatible with some other packages.