Opções de espaçamento vertical em tabelas criadas no pacote tabularx

Opções de espaçamento vertical em tabelas criadas no pacote tabularx

Metas:

  • Adicione um espaço acima e abaixo da linha de texto que contém os cabeçalhos das colunas da Tabela 1.
  • Adicione um espaço abaixo da segunda linha.
  • Adicione um espaço acima da terceira linha.

O código abaixo contém a tabela original (#1) junto com várias tentativas fracassadas (#2,#3,#4) para atingir os objetivos mencionados acima.

Detalhes adicionais:

  1. Estou usando pdflatexpara renderizar o .texarquivo

  2. Estou usando o tabularxpacote.

  3. Estou usando xtable()em R para construir .texessas tabelas, mas não é necessário responder a pergunta com xtableopções, pois posso editar .texdepois de usar R.

Qualquer ajuda seria muito apreciada. Sugestões?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

%%%%%%%%%%
\documentclass{article}
\usepackage{graphicx}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\usepackage[labelfont=sf,hypcap=false,format=hang,width=1\columnwidth]{caption}
\geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=3cm,rmargin=3cm}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{array}
\begin{document}
%%%%%%%%%%

\title{Understanding Tables: Vertical Spacing}
\author{Brian}
\maketitle
This report is designed to be a quick resource for editing the vertical spacing in 'tabularx' tables. \\

\begin{table}[ht]
\captionof{table}{Original}
\centering
\begin{tabular}{lrrrrrr}
  \hline
Type & Total & Mean & Median & Stdev & Min & Max \\
  \hline
Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
  Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
   \hline
\end{tabular}
\end{table}

{\renewcommand{\arraystretch}{2}%
\begin{table}[ht]
\captionof{table}{Spaceing stretched above and below ALL cells}
\centering
\begin{tabular}{lrrrrrr}
  \hline
Type & Total & Mean & Median & Stdev & Min & Max \\
  \hline
Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
  Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
   \hline
\end{tabular}
\end{table}}

\begin{table}[ht]
\captionof{table}{Spacing streched ABOVE header}
\centering
\begin{tabular}{lrrrrrr}
  \hline
\rule{0pt}{4ex}Type & Total & Mean & Median & Stdev & Min & Max \\
  \hline
Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
  Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
   \hline
\end{tabular}
\end{table}


\begin{table}[ht]
\captionof{table}{Spacing streched ABOVE ALL cells}
\centering
\setlength\extrarowheight{14pt}
\begin{tabular}{lrrrrrr}
  \hline
Type & Total & Mean & Median & Stdev & Min & Max \\
  \hline
Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
  Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
   \hline
\end{tabular}
\end{table}

\end{document}

Responder1

A sua abordagem aqui (em termos de regras horizontais) corresponde à sugerida porbooktabs. Aqui está o que eu usaria:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\usepackage[labelfont=sf,hypcap=false,format=hang,width=\columnwidth]{caption}
\geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=3cm,rmargin=3cm}
\usepackage{tabularx,booktabs}
\begin{document}

\begin{table}[ht]
  \caption{Original}
  \centering
  \begin{tabular}{lrrrrrr}
    \hline
    Type & Total & Mean & Median & Stdev & Min & Max \\
    \hline
    Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
    Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
    \hline
  \end{tabular}
\end{table}


\begin{table}[ht]
  \renewcommand{\arraystretch}{1.2}%
  \caption{\texttt{booktabs} version}
  \centering
  \begin{tabular}{l *{6}{r} }
    \toprule
    Type & Total & Mean & Median & Stdev & Min & Max \\
    \midrule
    Test1 & 490 &  15 &   8 &  24 &   1 & 115 \\
    Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
    \bottomrule
  \end{tabular}
\end{table}

\end{document}

booktabs' \toprulee insere regras adicionais (brancas) para separar um pouco o texto em torno dessas regras \midrule. \bottomruleIsto, juntamente com o uso de um aumento, \arraystretchparece suficiente para obter um resultado respirável.

Responder2

Você pode experimentar o cellspacepacote, que definemínimoespaçamento vertical acima e abaixo das células em colunas com especificador prefixado com a letra S. Se alguém usar o siunitxpacote que também usa a letra S, o prefixo será substituído pela letra C:

%%%%%%%%%%
\documentclass{article}
\usepackage{graphicx}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\usepackage[labelfont=sf,hypcap=false,format=hang,width=1\columnwidth]{caption}
\geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=3cm,rmargin=3cm}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{array, booktabs}
\usepackage{siunitx}
\sisetup{table-format =4.0,table-number-alignment = center}
\usepackage{cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}

\begin{document}
%%%%%%%%%%

\title{Understanding Tables: Vertical Spacing}
\author{Brian}
\maketitle
This report is designed to be a quick resource for editing the vertical spacing in 'tabularx' tables. \\

\begin{table}[ht]
\captionof{table}{With \texttt{cellspace}}
\centering
\begin{tabular}{ClS[table-format=5.0]SSS[table-format=3.0]S[table-format=3.0] S}
  \toprule
Type & {Total} & {Mean} & {Median} & {Stdev} & {Min} & {Max} \\
  \midrule
Test1 & 490 & 15 & 8 & 24 & 1 & 115 \\
  Test2 & 52610 & 1697 & 1620 & 430 & 920 & 2850 \\
   \bottomrule
\end{tabular}
\end{table}

\end{document} 

insira a descrição da imagem aqui

informação relacionada