The thickness of rules in LaTeX tables

The rules in a LaTeX table are by default 0.4pt thick; this is in fact a default built in at the lowest level, and applies to all rules (including those separating blocks of running text).

Sometimes, however, we look at a table and find we want the rules to stand out - perhaps to separate the text from the rest of the body text, or to make the sections of the table stand out from one another. However, a quick review of any LaTeX manual will reveal no technique for making any one rule stand out, and a little experimentation shows that it is indeed pretty difficult to prevent a change "bleeding" out to affect other rules in the same table.

Refer to the answer on design of tables, elsewhere among these FAQs, and you may sense that the design of LaTeX suimply skipped the issues surrounding table design, and that's why there's no facilities to help you.

Specifically, the length \arrayrulewidth affects the thickness of the rules (both horizontal and vertical) within both tabular and array environments. If you change from the default (see above) only as far as

\setlength{\arrayrulewidth}{1pt}
the change is remarkably striking. However, really quite subtle user level programming proves incapable of changing just one rule: it's necessary to delve into the (rather tricky) code of \hline and \cline themselves.

Fortunately, this job has already been done for the community: the booktabs package defines three different classes of rule (\toprule, \midrule and \bottomrule), and the package documentation offers hints on how to use them. You are strongly advised to read the documentation pretty carefully.

The memoir class includes the booktabs package, and repeats the documentation in its compendious manual.

Note that none of the above mentions the issue of the weight of vertical rules (except in passing). For the reasons, see the documentation of the booktabs package (again); vertical rules in tables are in any case even more trickily coded than are horizontal rules, and if their lack of configurability makes them still less attractive, so much the better for the design of your document.

booktabs.sty
macros/latex/contrib/booktabs (zip, browse)
memoir.cls
macros/latex/contrib/memoir (zip, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rulethk