Como fazer uma tabela longa que ocupa várias páginas?
- Beatriz Brito
- 7 de ago. de 2020
- 3 min de leitura
Na postagem de hoje irei falar sobre, como diz o título, tabelas longas. Assim como quando precisei inserir uma tabela no cabeçalho de um documento, enfrentei grande dificuldade em escrever tabelas que ocupam várias páginas com o comando básico de tabelas do LaTeX, pois sempre que acabava o espaça da página a tabela continuava sendo construída como se o espaço ainda existisse e simplesmente parecia somente o que cabia na página.
Por isso, hoje estou aqui para novamente ajudá-los a superar esses obstáculos da produção de documentos no LaTeX.
O pacote longtable funciona de maneira similar ao tabular, porém tem o a mais de quebrar a tabela ao fim de cada página e continuá-la na página seguinte, além disso também faz uso do mesmo contador ''table'' que o ambiente tabular, possui um \caption e também aparecer na lista de tabelas do documento, \listoftables.
Então, para começar precisamos inserir \usepackage{longtable} no preâmbulo do documento.
Exemplo:
\documentclass[12pt]{article}
\usepackage{longtable}
\begin{document}
\end{document}
Agora, além dos comandos básicos das tabelas de página única, existem alguns comandos adicionais que definem os títulos e legendas que serão exibidos com as quebras de páginas:
\endfirsthead - Tudo que é escrito acima deste comando pertence ao cabeçalho da tabela na primeira página;
\endhead - Tudo que é escrito acima deste comando pertence ao cabeçalho da tabela nas páginas seguintes, ou seja, todas as páginas (exceto a primeira);
\endfoot - Tudo que é escrito acima deste comando aparecerá na parte inferior de todas as páginas (exceto a última), como uma nota de rodapé da tabela;
\endlastfoot - Tudo que é escrito acima deste comando aparecerá na última linha(s) ao no final da tabela.
Exemplo:
\begin{center}
\begin{longtable}{|c|c|c|c|}
\caption{Exemplo de longtable}\\
\hline
\textbf{Coluna 1} & \textbf{Coluna 2} & \textbf{Coluna 3} & \textbf{Coluna 4} \\
\hline
\endfirsthead
\multicolumn{4}{c}%
{\tablename\ \thetable\ -- \textit{Continuação da tabela}} \\
\hline
\textbf{Coluna 1} & \textbf{Coluna 2} & \textbf{Coluna 3} & \textbf{Coluna 4} \\
\hline
\endhead
\hline \multicolumn{4}{r}{\textit{Continua na próxima página}} \\
\endfoot
\hline \multicolumn{4}{r}{\textit{Fim da tabela}} \\
\endlastfoot
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 \\
\end{longtable}
\end{center}


Obrigada, ajudou muito.
Mas tenho uma dúvida, você sabe como faço para centralizar o conteúdo de uma célula, numa tabela, tanto na horizontal quanto na vertical?
Perfeito.. obrigada pela dica! EU fiz e funcionou. Mas eu precisava fazer o mesmo para quadros, você sabe?
Excelente!