Tabelas | Tables

This post is slightly different, in that it’s a basic LaTeX tutorial on how to make simple tables. I go through the usual guidelines for tables in academia, and compare that to a ‘bad’ table. So if you’re just looking for linguistic-related posts, you might want to skip this one.


De um modo geral, algumas “regras” são importantes para tabelas em trabalhos acadêmicos/científicos. Como a tabela em LaTeX que vou explorar neste post é baseada nessas “regras” (por falta de outro termo), vou listá-las antes.

  1. Evite linhas verticais. Grande parte dos periódicos não utilizam linhas que dividem colunas.
  2. Evite usar muitas linhas horizontais. Muitas vezes, três são suficientes: topo, fim e imediatamente após classes.
  3. Alinhe o conteúdo da tabela, é claro. Texto: alinhamento à esquerda; números, à direita.
  4. Use legendas minimamente explicativas, para que não seja necessário voltar ao texto para entender símbolos etc.
  5. Evite linhas duplas (verticais ou horizontais).
  6. Saliente as classes, i.e., a primeira linha da tabela, onde estão as categorias.

A ideia dessas regras é “limpar” visualmente a sua tabela. Linhas demais não dão essa impressão. Obviamente, não estou falando de tableaux, que são um caso à parte. Há alguns sites sobre formatação que abordam a questão “tabelas”, e parece haver um consenso de que as regras 1-6 acima são cruciais para publicações. É evidente que cada journal terá certas variações, mas suas tabelas certamente melhorarão se você seguir esse conjunto de “regras”.

Veja um exemplo péssimo, retirado do site scienceeditingexperts:

awful_table


A tabela acima é ruim não só do ponto de vista estético: a distribuição do conteúdo é estranha e desajeitada (além de não esclarecer o que os dados representam exatamente—embora seja difícil interpretar tabelas sem contexto de qualquer forma). OK, vamos ao que interessa para o post. Primeiro, você precisará de alguns pacotes, listados abaixo (veja comentários %)

\usepackage{caption}       % para maior controle sobre legendas
\usepackage{multicol}      % para ajustar alinhamentos de colunas
\usepackage{booktabs}      % pacote estético para tabelas
\usepackage{array}         % para ajustar espaçamentos
                          
% Você não precisa usar \usepackage{} para cada pacote. A linha abaixo é equivalente às quatro linhas acima:

\usepackage{caption,multicol,booktabs,array}

% Assim, em uma linha apenas, você carrega pacotes para tabela, por exemplo.

Vou criar uma tabela simples, com duas colunas. Note que todas as regras acima estão presentes na tabela abaixo. Desta vez, vou primeiro mostrar a tabela (o código vai em seguida).

good_table

\begin{table}[h]                             

\centering                                   % para centr. tabela
\caption{Exemplo 1 de tabela}

\label{tabela:ref}                           
\def\arraystretch{1.2}                       % esp. entre linhas


\begin{tabular}{@{}lr@{}}                    % lr = 2 col (esq/dir)
\toprule                                     % linha topo

\textbf{Coluna 1}  & \textbf{Coluna 2}\\     

\midrule                                     % linha
texto              & 1234\\
texto              & 1234\\
texto              & 1234\\
texto              & 1234\\
\bottomrule                                  % linha final
\end{tabular}                                % encerrando tabular

\end{table}                                  % encerrando "table" 

Depois te fazer suas tabelas, lembre-se que você cria um índice de tabelas com o comando \listoftables. Lembre-se, também, de que tableaux utilizam a mesma estrutura, e, portanto, aparecerão como tabelas. Isso significa que a legenda do tableau dirá “Tabela”, e que não haverá um índice exclusivo para tableaux. Para resolver esse problema, leia o post sobre tableaux.

Aqui, não usei o pacote multicol. Ou seja: quando você declara {lr}, a coluna 1 será toda alinhada à esquerda, e a coluna 2 será toda alinhada à direita. Às vezes, contudo, você quer centralizar a linha 1 (títulos de colunas) e alinhar o conteúdo diferentemente. Para isso, você precisará usar o comando \multicolumn{x}{y}{z}, em que x é o número de células (colunas) afetadas; y é o alinhamento {r,c,l}; e z é o conteúdo da célula. x pode ser importante se você quiser fazer uma célula no nível j que englobe, digamos, duas células no nível j-1. Nem sempre você precisa disso: às vezes você simplesmente quer manter o mesmo alinhamento no conteúdo e título de uma dada coluna (caso em questão).


Agora, vamos reproduzir a primeira tabela do post, fazendo alguns ajustes. Por exemplo, idealmente, mesmo com não significativos, é interessante saber o valor de cada linha/grupo (isso varia de acordo com quem escreve/publica o artigo…). De qualquer forma, uma maneira de melhorar a tabela e reproduzí-la em LaTeX segue abaixo.

\begin{table}[h]

\centering
\caption{Height after treatment}

\label{tabela:ref}
\def\arraystretch{1.2}


\begin{tabular}{@{}lrrrr@{}}
\toprule

\textbf{Group} & \textbf{Light} & {\textbf{5 days}} & {\textbf{10 days}} & {\textbf{$p$ value}}\\

\midrule
control       & $12$ & $70.3\pm2.0$    & $90\pm10.5$  & ?\\
test          & $12$ & $60.4\pm1.5$    & $78\pm7.9$   & $<0.05$\\
control       & $16$ & $75.7\pm8.0$    & $100\pm3.0$  & ?\\
test          & $16$ & $52.2\pm2.0$    & $81\pm6.7$   & ?\\
\bottomrule

\end{tabular}

\end{table}

Por fim, comparamos a tabela gerada pelo código acima à tabela problemática apresentada no início do post:

adjusted_table

awful_table

Advertisements

7 thoughts on “Tabelas | Tables

      1. Oi! Eu queria saber se dar para colocar vírgula em baixo de vírgula e como eu faço isso que comando ou pacotes usar. Por exemplo, estou fazendo uma tabela e a vírgula não está alinhada, a vírgula em um número na tabela está diferente da vírgula do número de cima. Como faço para a vírgula tanto do número que estou falando como do de cima e de baixo fiquem alinhadas, em baixo da outra?

        −2,750
        0,750
        0,375
        0,375

        Like

      2. Ah, entendi. Pois então, para isso acontecer, você precisa alinhar a coluna à direita. Dessa forma, como os valores têm 3 dígitos depois da vírgula, tudo ficará alinhado corretamente—inclusive as vírgulas.

        Para fazer isso, quando você criar a tabela, use “r” para a coluna em questão. Por exemplo:

         
        \begin{tabular}{lr}
        coluna 1 & coluna 2 \\
        \end{tabular}
        

        A coluna 1 acima ficará alinhada à esquerda; a coluna 2, à direita.

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s