Como fazer tabelas em LaTeX

No último artigo, vimos como criar seções em um documento e como adicionar acentos de maneira básica, isto é, sem nenhum pacote específico ainda. Neste artigo, veremos como criar tabelas simples, o que significa que novamente não usaremos pacotes para fazer isso.

Veremos hoje apenas o tipo mais básico (e limitado) de tabelas. Em breve, incrementaremos o que vimos até o momento com pacotes que facilitam e enriquecem componentes de um documento. Não estou fazendo isso ainda porque parto do princípio de que você é iniciante (e não tem urgência).

O básico geralmente é limitado, pouco prático e monótono, mas quase sempre é fundamental para que você mais tarde consiga elaborar mais o seu código e criar documentos mais sofisticados.

Em LaTeX, é muito comum haver mais de uma forma de se chegar a um determinado resultado.

Consequentemente, a pergunta “como se faz X em LaTeX?” geralmente não costuma ter uma resposta objetiva única.

Toda vez que você entrar em algum fórum, perceberá que cada pessoa pode ter uma forma específica de lidar com um problema (a internet está cheia de recursos para quem quer aprender a usar LaTeX—saber buscar informações é algo essencial, e que vale um artigo por si só).

TABELAS SIMPLES

Como tudo em LaTeX, você precisará criar um ambiente, dentro do qual criará a sua tabela. A princípio, tabelas parecerão “manuais” demais para quem está acostumado com o estilo “automático” do pacote Office (e similares).

O lado positivo é que criar tabelas em LaTeX é algo razoavelmente intuitivo. O lado negativo é que tabelas grandes exigirão uma certa organização, já que tudo é elaborado em formato texto (estou partindo do princípio de que você não conhece nenhuma linguagem de programação, e que, portanto, é novo ao estilo “código > output”). Para facilitar, estipulei 5 passos.

Para os passos abaixo, presumo que você já tenha a estrutura do documento pronta, isto é, seu preâmbulo, seu título etc. Ou seja: tudo que segue estará entre o seu \begin{document} e o seu \end{document}.

PASSO 01

Dentro do seu documento: crie o ambiente table com o comando \begin{} e \end{}. Ao lado de \begin{table}, colocaremos o seguinte parâmetro:

[h]. Basicamente, isso faz com que a sua tabela apareça exatamente naquele ponto em que você está especificando (‘[h]ere’, compare com ‘H’)—mais tarde você verá outras opções posicionais. Por enquanto, fiquemos no básico/tradicional.

1
2
3
\begin{table}[h]
 
\end{table}

PASSO 02

Dentro do ambiente table: crie um caption, que será a “legenda” da tabela. A numeração será automática.

1
2
3
4
\begin{table}[h]
\caption{Um nome qualquer}
 
\end{table}

PASSO 03

Dentro do ambiente table: crie um outro ambiente, chamado tabular. Ao lado do início desse ambiente, você especificará basicamente 3 coisas: o número de colunas, o alinhamento de cada coluna, e se você deseja ou não que haja linhas que dividem as colunas (evite usar linhas verticais em textos acadêmicos/científicos). Uma opção tradicional em textos dessa natureza é: colunas de texto, alinhe à esquerda; colunas com números, à direita.

Vamos criar uma tabela com os cinco melhores IDHs do mundo. Para isso, teremos 3 colunas: posição, país, e IDH. As colunas 1 e 3 conterão números, e serão alinhadas à direita (r). A coluna medial será alinhada à esquerda (l). Para exemplo, criarei uma linha que divide a primeira da segunda coluna apenas.

1
2
3
4
5
6
\begin{table}[h]
\caption{Um nome qualquer}
\begin{tabular}{r|lr}
 
\end{tabular}
\end{table}

PASSO 04

Dentro do ambiente tabular: agora, preencha as células da seguinte forma: cada coluna é separada por “&”. Quebra de linha, por “\\”.  (Aqui ainda usarei acentos da forma básica, como vimos no artigo anterior). Usarei uma linha horizontal (\hline) para separar o cabeçalho do resto da tabela. Adicionei comentários (%) abaixo. Se você quiser que sua tabela fique centralizada, uma opção é inserir o comando \centering (veja abaixo).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\begin{table}[h]
\centering
\caption{Um nome qualquer}
\begin{tabular}{r|lr}
 
Posi{\c c}{\~a}o & Pa{\'i}s & IDH \\ % Note a separação de col. e a quebra de linhas
\hline                               % para uma linha horizontal
1 & Noruega        & .955 \\
2 & Austr{\'a}lia  & .938 \\
3 & EUA            & .937 \\
4 & Holanda        & .921 \\
5 & Alemanha       & .920            % não é preciso quebrar a última linha
 
\end{tabular}
\end{table}

Perceba que o número de espaços não importa (mas facilita a organização do seu código).

PASSO 05

Por fim, vamos inserir um espaçamento vertical manualmente entre o título e o corpo da tabela: \vspace{0.5cm}.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\begin{table}[h]
\centering
\caption{Um nome qualquer}
\vspace{0.5cm}
\begin{tabular}{r|lr}
 
Posi{\c c}{\~a}o & Pa{\'i}s & IDH \\ % Note a separação de col. e a quebra de linhas
\hline                               % para uma linha horizontal
1 & Noruega        & .955 \\
2 & Austr{\'a}lia  & .938 \\
3 & EUA            & .937 \\
4 & Holanda        & .921 \\
5 & Alemanha       & .920            % não é preciso quebrar a última linha
 
\end{tabular}
\end{table}

O resultado final deve ser:

Screen-Shot-2014-06

By |2018-12-06T01:56:21+00:0017-06-2014|guia|16 Comments

About the Author:

Bacharel em Letras (UFRGS) e Mestre em Linguística (UFRGS). Imigrou para o Canadá em 2012, onde atualmente faz seu PhD em Linguística (McGill University). No Brasil, foi professor de língua inglesa por 10 anos e Tradutor Juramentado.

16 Comments

  1. Bruno Bonemberger 17.06.14 at 08:36 - Reply

    Os materiais referentes ao Latex estão excelentes, muito bem explicados.

  2. Barbara 18.06.14 at 13:04 - Reply

    Existe uma ferramenta chamada LaTable que ajuda bastante na produção de tabelas. Vale a pena conferir.

  3. Quem quiser uma tabela mais bonita que o padrão, sugiro utilizar o pacote booktabs.

    • Rafael 21.07.14 at 22:53 - Reply

      É triste quando o pessoal usa LaTeX e continua fazendo tabelas medonhas com todas bordas em todas as células…

  4. Cleiton 24.06.14 at 19:19 - Reply

    Gostei do artigo, acho que ele é muito útil quando se quer fazer uma tabela simples

    Quando as tabelas começa a ficar grandes e cheias de detalhes (células, colunas ou linas mescladas e/ou coloridas e etc) o tempo gasto escrevendo o código acaba sendo um fator complicante. Nesses casos eu sugiro o site a segui:

    http://www.tablesgenerator.com/

    Descobri ele hoje. É muito bom, vale a pena testar. Você desenha a tabela (como se estivesse no office) e ele gera o código latex para você

    • Felipe Augusto 27.06.14 at 13:17 - Reply

      Sua dica foi excelente, Obrigado!!

      Vai me economizar muito tempo !!

    • simone 18.12.14 at 15:56 - Reply

      Gente, sua dica foi um espetáculo, vai economizar um tempão. Você é um abençoado amigo. =)

  5. Filipy 09.10.14 at 09:10 - Reply

    Eu utilizo para fazer tabelas no LaTeX a extensão excel2latex para Excel. Facilita muito a elaboração de tabelas. Na internet tem vários tutoriais de instalação e de como utilizá-lo.

    http://www.ctan.org/tex-archive/support/excel2latex/

  6. Kelvin 27.03.15 at 21:32 - Reply

    Nossa, ajudou muito. Muito bem explicado e bem simples. Valeu!

  7. Edison 09.06.15 at 16:08 - Reply

    E se eu quiser Tabela A em vez de Tabela 1, como faço?

  8. Pedro Hnerique do Cabo 07.12.15 at 14:05 - Reply

    SEU LINDO!

  9. Rodrigo 04.01.16 at 13:34 - Reply

    Olá, Gostei do seu artigo!

    Gostaria de saber como faço para centralizar apenas a primeira linha da tabela (aquela linha: posição, país e IDH no seu exemplo) e manter as demais linhas alinhadas a esquerda?

    Desde já agradeço.

  10. Matheus 04.05.16 at 15:29 - Reply

    Olá, obrigado. como faço para colocar o título da tabela (caption) com um tamanho de letra específico, n° 10 por exemplo?

    Além disso, como fazer para alinhar todas as seções de um sumário totalmente a esquerda?

    Desde já. obrigado

  11. 4He2 01.05.17 at 12:13 - Reply

    Olá, ótimo tutorial! Gostaria de saber como deixar o título da tabela centralizado sobre a mesma com quebra de texto em caso de um título longo. Será que poderiam ajudar? Agradeço!

  12. Nina 05.07.17 at 12:20 - Reply

    Vlw cara, ajudou bastante!

  13. MOALLISON FERREIRA 05.09.18 at 09:39 - Reply

    Muito obrigado cara!

Leave A Comment