2. Entendendo o LaTeX¶
2.14 Tabelas¶
Tabelas são os elementos do texto que resumem e organizam informações. No LaTeX, tabelas são escritas em ambientes específicos, que podem, dependendo da necessidade, ajustar automaticamente o seu conteúdo aos limites das dimensões do texto. Antes de apresentar os ambientes mais comuns de tabelas, salienta-se que a construção de tabelas pode se tornar uma tarefa um pouco mais complicada do que parece, principalmente se a tabela em questão possuir muitas células mescladas. Portanto, recomenda-se a construção tabelas simples e clara.
O ambiente tabular
é um ambiente simples para a construção de tabelas. A sua utilização é apresentada no Exemplo 1.
Exemplo 1: Exemplo de uma tabela com o ambiente tabular
1 2 3 4 5 6 7 8 9 10 11 |
|
Na tabela do Exemplo 1, tem-se apenas duas colunas e algumas linhas. Para separar o conteúdo, utilizou-se apenas linhas horizontais (produzidas pelos comandos hline
) para separar o cabeçalho, i.e., os nomes das colunas, do conteúdo. Observe que a tabela produzida possui as linhas muito próximas, e este espaçamento pode ser melhorarado com a utilização do comando \\[-0.5em]
. Lembre-se que a instrução \\
pula uma linha; o argumento desta instrução, i.e., [-0.5em]
indica que o espaço de uma linha deve ser recuado em -0.5em
. Na Tabela 1 está indicado que a unidade em
refere-se à altura do caractere "M" da fonte em uso, isso garante que o espaçamento será sempre consistente independente do estilo da fonte em uso. Veja o Exemplo 2 a seguir:
Exemplo 2: Exemplo de uma tabela simples com o ambiente tabular
e linhas mais altas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
No Exemplo 2, observe a instrução {l r}
. Como a tabela do exemplo possui apenas duas colunas, indica-se com um par de colchetes o seu alinhamento, logo após o início do ambiente tabular
. Neste caso, o conteúdo da coluna da esquerda encontra-se alinhado à esquerda, enquanto que o conteúdo da coluna da direita, encontra-se alinhado à direita (por isso l r
). Isto deve ser feito para a quantidade de colunas que a tabela possuir. Se uma tabela no ambiente tabular
, possuir 5 colunas, deve-se especificar o alinhamento desejado para as colunas, e.g., {l r l l c}
. Portanto, para alinhar o conteúdo à esquerda, utilize l
(do inglês left), para alinhar à direita utilize r
(do inglês right) e para centralizar o conteúdo (tal como no Exemplo 1), utilize c
(do inglês center).
Além de alterar o espaçamento vertical dentro de uma tabela, pode-se também alterar a largura das colunas. Para isso, pode-se utilizar o comando p{u.}
, onde u.
corresponde a alguma medida. Veja o Exemplo 3 a seguir:
Exemplo 3: Exemplo de uma tabela simples com o ambiente tabular
e colunas mais largas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Nota
No Exemplo 3, o conteúdo das colunas foi marcado como p
(do inglês paragraph). Nessa forma mais simples de se especificar a largura das colunas, não é possível posicionar o texto de outra forma, i.e., centralizado ou alinhado à direita ou esquerda.
Assim como as tabelas produzidas em editores WYSIWYG, no LaTeX também é possível mesclar células (na direção das colunas ou das linhas). Para isso, utilizam-se os comandos \multicolumn
para mesclar colunas e \multirow
para mesclar linhas. Veja o Exemplo 4 a seguir:
Exemplo 4: Exemplo de uma tabela simples com o ambiente tabular
e células mescladas com o comando multirow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Na tabela do Exemplo 4, tem-se uma tabela mais complexa, em que colunas estão mescladas de formas diferentes. Além disso, diferentemente dos exemplos anteriores, a tabela apresentada possui limitadores verticais que são desenhados utilizando-se o símbolo |
(pipe)1, como argumento do comando que inicia o ambiente tabular
: |p{3cm}|p{3cm}|p{3cm}|p{3cm}|
. Observe também que a tabela desenhada possui o total de quatro colunas, cujas larguras podem ser especificadas (no exemplo, cada uma com 3cm
). Outro detalhe a ser observado neste exemplo, é a forma como o conteúdo é alinhado dentro das células. Neste caso, o alinhamento é dado por um argumento do comando multicolumn
: {4}{|c|}
, onde 4 indica a quantidade de células a serem mescladas e |c|
indica que o conteúdo das células a serem mescladas será centralizado e delimitado por pipes nos limites laterais da célula.
2.14.1 Tabelas ajustáveis¶
Dependendo da necessidade, ambientes especiais de tabelas podem ser necessários. Alguns ambientes de tabelas mais comuns são tabular
, tabularx
e booktabs
, os quais possuem características e propriedades específicas.
Tabelas ajustáveis podem ser necessárias quando se deseja que a largura das colunas sejam automaticamente ajustadas. No caso do ambiente tabular
, o LaTeX tenta ajustar a largura da tabela de acordo com a quantidade de informações contida nas células. Se as células contiverem muita informação, a tabela poderá ficar com uma largura maior do que a largura do texto ou mesmo da página. Veja no Exemplo 5 a utilização básica do ambiente tabular
.
Exemplo 5: Exemplo de uma tabela simples utilizando o ambiente tabular
1 2 3 4 5 6 |
|
No Exemplo 5 a quantidade de informação nas células não é suficiente para fazer com que a largura da tabela extrapole os limites da página, mas isto é perfeitamente possível dentro do ambiente tabular
. Para evitar esta situação, o ambiente tabularx
é mais apropriado, visto que com ele pode-se definir uma largura fixa (por meio de um valor ou de uma macro) e o conteúdo das células é ajustado dentro destes limites. No Exemplo 6 mostra-se o que se obtém com a utilização do ambiente tabularx
.
Exemplo 6: Exemplo de uma tabela simples utilizando o ambiente tabularx
1 2 3 4 5 6 |
|
No Exemplo 6, as colunas da tabela estão ajustadas com a mesma largura. Isso é possível através da opção X
, utilizada como opção do comando tabularx
, como em \begin{tabularx}{\textwidth}{|X|X|X|}
.
O pacote booktabs
permite utilizar linhas mais grossas através dos marcadores \toprule
, \midrule
e \bottomrule
. Para utilizar o pacote, é necessário carregá-lo no preâmbulo do documento com o comando \usepackage{booktabs}
. Veja o Exemplo 7 a seguir e compare o resultado com as tabelas dos exemplos anteriores que utilizaram o marcador \hline
para separar as linhas das tabelas:
Exemplo 7: Exemplo de uma tabela simples utilizando o ambiente tabular
e os marcadores toprule
, midrule
e bottomrule
1 2 3 4 5 6 7 8 9 |
|
Os ambientes tabular
e tabularx
possuem algum controle sobre a largura da tabela de acordo com a quantidade de informação dentro das células. Por outro lado, tabelas muito longas, e.g., que podem ocupar várias páginas, podem não ser adequadamente acomodadas com estes ambientes. Para isso, recomenda-se a utilização do pacote longtable
que permite o LaTeX realizar a quebra automática de linha dentro de uma tabela. Considere o Exemplo 8 a seguir, em que uma tabela longa é inserida dentro de um ambiente tabularx
:
Exemplo 8: Uma tabela longa utilizando o ambiente tabularx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
Compare o Exemplo 8 com o Exemplo 9 a seguir, em que a mesma tabela longa é apresentada, porém com o auxílio do pacote longtable
.
Exemplo 9: Uma tabela longa utilizando o ambiente longtable
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
Seguindo o código apresentado no Exemplo 9, pode-se confeccionar as Tabelas 1 e 2 do Apêndice A.
Nota
Editores online podem ser utilizados para construir tabelas simples no LaTeX. Observe que tabelas muito complexas podem ser difíceis de manipular e atualizar. Veja os sites https://www.tablesgenerator.com/ e https://www.latex-tables.com para mais informações.
-
Pode-se também utilizar pipes duplos. ↩