Tabelas que ocupam mais de uma página

As tabelas são, por padrão, definidas integralmente dentro de caixas próprias: consequentemente, elas não serão divididas numa mudança de página. Infelizmente, o mundo continua a fazer tabelas maiores do que uma página para que sejam colocadas em um documento.

Para tabelas simples (cuja forma é muito regular), a solução mais simples pode ser usar o ambiente tabbing , que é um pouco entediante para configurar, mas que não força o alinhamento todo em uma única página.

O pacote longtable cria a tabela inteira (em blocos), em um primeiro passo, e usa as informações que gravou no arquivo aux nos passos seguintes para fazer o ajuste “certo” (o pacote geralmente consegue definir as tabelas em apenas dois passos). Como o pacote tem uma visão geral da tabela inteira no momento em que está definindo a configuração “final”, a tabela é definida “uniformemente” em todo o seu comprimento, com as colunas continuando nas páginas consecutivas. longtable tem a reputação de não interagir com outros pacotes, mas ele funciona com o colortbl, e seu autor criou o pacote a ltxtable para fornecer a maioria dos recursos do tabularx (veja Tabelas de largura fixa) para tabelas longas: cuidado com suas curiosas restrições de uso — cada tabela longa deve estar em um arquivo próprio, e deve ser incluída por \LTXtable{width}{file}. Como as tabelas de várias páginas do longtable não podem morar dentro de caixas flutuantes, o pacote oferece a colocação de legendas dentro do próprio ambiente longtable.

Uma aparente alternativa ao ltxtable é o ltablex; mas ele está desatualizado e não é totalmente funcional. Seu pior problema é sua capacidade estritamente limitada de memória (o longtable não é tão limitado, às custas de muita complicação em seu código); o ltablex só pode lidar com tabelas relativamente pequenas, e é improvável que haja suporte disponível; mas sua interface de usuário é muito mais simples do que a do ltxtable, logo, se as restrições dele não forem um problema para você, pode valer a pena tentar.

O pacote supertabular começa e termina um ambiente tabular para cada página da tabela. Como resultado, cada ‘página’ da tabela é compilada independentemente, e as larguras das colunas correspondentes podem diferir de uma página para outra. No entanto, se a correspondência não for importante ou se suas colunas tiverem largura fixa, o supertabular tem a grande vantagem de fazer seu trabalho em uma única execução.

Tanto o longtable quanto o supertabular permitem a definição de cabeçalhos e rodapés para a tabela; o longtable permite distinção do primeiro e do último cabeçalho e rodapé.

O pacote xtab corrige algumas infelicidades do supertabular e também fornece um recurso de “último cabeçalho” (embora isso, é claro, destrua a vantagem do supertabular de operar em uma única corrida).

O pacote stabular fornece uma “extensão para o tabular”, que é simples de usar e permite a composição de tabelas que atravessam o final de uma página; ele também tem extensões de usabilidade, mas não tem os recursos de cabeçalho e rodapé dos pacotes principais.

A documentação do ltablex se encontrada no arquivo do pacote.

longtable.sty
Distributed as part of 2etools
ltablex.sty
ltablex
ltxtable.sty
Generate by running ltxtable
stabular.sty
Distributed as part of sttools
supertabular.sty
supertabular
xtab.sty
xtab


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