O design de tabelas

Nos últimos anos, vários autores têm dito que os exemplos, apresentados por Lamport em seu LaTeX manual, limitaram o estilo dos autores e levaram a um design de tabela extremamente pobre. Na verdade, é difícil até mesmo descobrir o que muitos dos exemplos do livro de Lamport “significam”.

A crítica se concentra no uso excessivo de traços (horizontais e verticais) e no fraco espaçamento vertical que as macros de Lamport oferecem.

O problema do espaçamento vertical é evidente e é tratado em vários pacotes — veja “Espaçamento entre linhas em tabelas”.

TA discussão sobre traços é apresentada no excelente ensaio que prefacia a documentação do pacote booktabs de Simon Fear, que (é claro) implementa o esquema de Fear para traços ‘confortáveis’. (Os mesmos comandos de traço estão implementados na classe memoir.)

O LaTeX de Lamport também estava inflexivelmente errado em “insistir” que as legendas deviam aparecer na base de uma tabela. Como uma tabela pode se estender por várias páginas, a tipografia tradicional coloca a legenda no topo de uma caixa flutuante de tabela. O comando \caption vai errar a posição (por 10pt) se você simplesmente escrever:

\begin{table}
  \caption{Example table}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
O pacote topcapt resolve este problema:
\usepackage{topcapt}
...
\begin{table}
  \topcaption{Example table}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
As classes KOMA-script fornecem o comando similar \captionabove; elas também têm a opção de classe tablecaptionabove, que faz com que, em ambientes de tabela, \caption signifique \captionabove. O pacote caption pode ser carregado com uma opção que tem o mesmo efeito:
\usepackage[tableposition=top]{caption}
Ou o efeito pode ser estabelecido depois que o pacote tiver sido carregado:
\usepackage{caption}
\captionsetup[table]{position=above}
(Observe que as duas opções de “posição” são diferentes: na verdade, “above” e “top” nesses contextos significam a mesma coisa.)

Fazer o trabalho você mesmo é bem fácil: topcapt muda os valores dos parâmetros do LaTeX 2e \abovecaptionskip (valor padrão 10pt) e \belowcaptionskip (valor padrão 0pt), Então:

\begin{table}
  \setlength{\abovecaptionskip}{0pt}
  \setlength{\belowcaptionskip}{10pt}
  \caption{Example table}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
faz o trabalho (se os valores de comprimento estiverem corretos; o pacote e as classes são mais cuidadosos!).
booktabs.sty
booktabs
caption.sty
caption
KOMA script bundle
koma-script
memoir.cls
memoir
topcapt.sty
topcapt

This answer last edited: 2011-08-19


Do you have any question? Ask on: latex.net.br - we love qood questions!