Como reduzir o espaçamento entre linhas em tabelas LaTex?

Como reduzir o espaçamento entre linhas em tabelas LaTex?

Eu fiz uma tabela usando o pacote \booktabs e o resultado é o seguinte

insira a descrição da imagem aqui

com o código:

\begin{table}[h!]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\ 
\midrule 
GGF & 43.92   \\
VBF & 3.748   \\
WH & 1.380   \\
ZH & 0.9753  \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}

Porém, quero que a mesa não fique tão espalhada verticalmente, ou seja, reduza o espaçamento entre as linhas. Algo assim:

insira a descrição da imagem aqui

Como posso fazer isso? Obrigado!

Responder1

O espaçamento entre as linhas da tabela pode ser controlado usando \def\arraystretch{0.50}.

\documentclass[english]{article}
\usepackage{booktabs}

\begin{document}

\begingroup
\tabcolsep = 15.0pt
\def\arraystretch{0.50}


\begin{table}[h!]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\ 
\midrule 
GGF & 43.92   \\
VBF & 3.748   \\
WH & 1.380   \\
ZH & 0.9753  \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}

\endgroup

\end{document}

Responder2

insira a descrição da imagem aqui

A configuração da segunda tabela é na verdade a configuração padrão, mas mostra como o trecho da matriz pode ser redefinido para 1 se tiver sido ampliado anteriormente no documento. Nos comentários você indicou que não sabia que parte do seu código estava configurando ou qual valor ele tinha, então mostro aqui uma maneira de imprimi-lo na legenda (ou em qualquer lugar) apenas para depuração. Com a maioria das fontes, \arraystretchnão deve ser definido menos que 1 como isso tornará as linhas da tabela altas o suficiente para conter seu conteúdo, normalmente um espaçamento mínimo consistente entre linhas é mantido, mesmo que uma linha tenha todas as letras minúsculas ou conteúdo vazio.

\documentclass{article}
\usepackage{booktabs}
\renewcommand\arraystretch{3}
\begin{document}

\begin{table}[htp]% never use h on its own like: [h!]
\centering
\caption{with \arraystretch}
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\ 
\midrule 
GGF & 43.92   \\
VBF & 3.748   \\
WH & 1.380   \\
ZH & 0.9753  \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}

\renewcommand\arraystretch{1}
\begin{table}[htp]% never use h on its own like: [h!]
\centering
\caption{with \arraystretch}
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\ 
\midrule 
GGF & 43.92   \\
VBF & 3.748   \\
WH & 1.380   \\
ZH & 0.9753  \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

Responder3

O problema \arraystretchjá foi explicado em outras respostas. Aditivos:

  • Os números podem ser alinhados no marcador decimal via package siunitx.
  • Existem apenas duas colunas.
  • Uma tabela centralizada horizontalmente que não seja um objeto flutuante e não tenha legenda pode ser definida mais facilmente com ambiente center.

Arquivo de exemplo completo:

\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{center}
  \renewcommand*{\arraystretch}{1}% reset to default
  \begin{tabular}{lS[table-format=2.4]}
    \toprule
    Process & {Cross section [\si{\pico\barn}]}\\
    \midrule
    GGF & 43.92   \\
    VBF &  3.748  \\
    WH  &  1.380  \\
    ZH  &  0.9753 \\
    ttH &  0.5085 \\
    bbH &  0.5116 \\
    \bottomrule
  \end{tabular}
\end{center}
\end{document}

Resultado

informação relacionada