Como faço para criar e formatar esta tabela em um documento A4?

Como faço para criar e formatar esta tabela em um documento A4?

Eu tenho o seguinte código:

\documentclass{article}
\usepackage{multirow}
\usepackage{geometry}
 \geometry{
 a3paper,
 total={170mm,300mm},
 left=20mm,
 top=20mm,
 }
\begin{document}
\begin{center}
  \begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|  }
 \hline
 \multicolumn{7}{|c|}{Frequency/f, Hz $\pm 0.001$} \\
 \hline
 Mass,m /Kg& Trial 1 & Trial 2 & Trial 3 & Trial 4 & Trial 5 & Average \\
 \hline
 0.050   & 16.200 & 16.630 & 16.560 & 16.840 & 16.550 & 16.556 \\
 \hline
 0.100 & 23.650 & 22.800 & 22.810 & 22.970 & 22.700 & 22.986 \\
\hline
 0.150 & 28.060 & 27.650 & 27.600 & 27.470 & 27.440 & 26.644 \\
 \hline
 0.200 & 34.300 & 32.030 & 32.340 & 32.380 & 32.030 & 32.616 \\
 \hline
 0.250 & 35.500 & 35.480 & 35.420 & 35.520 & 35.350 & 35.454 \\
 \hline
 0.300 & 38.780 & 38.820 & 38.580 & 39.000 & 38.790 & 38.794 \\
 \hline
 0.350 & 41.800 & 42.050 & 41.750 & 41.980 & 41.950 & 41.906 \\
 \hline
 0.400 & 44.400 & 44.760 & 44.670 & 45.020 & 44.900 & 44.750 \\
 \hline
 0.450 & 47.450 & 47.550 & 47.520 & 47.500 & 47.650 & 47.534 \\
 \hline
 0.500 & 50.350 & 50.190 & 49.840 & 50.170 & 49.900 & 50.090 \\
 \hline
\end{tabular}
  
\end{center}

\end{document}

O que produz a saída:

insira a descrição da imagem aqui

Mas eu quero que fique assim:

insira a descrição da imagem aqui

Atualmente estou trabalhando em um documento A3, mas como se trata de um trabalho de pesquisa, preciso enviá-lo em formato A4. No entanto, é cortado no final da página.

Então, minhas duas perguntas são:

Como posso criar a tabela da imagem acima?
Como posso formatá-lo para que caiba em um documento A4?

Responder1

Sugiro que você adote duas soluções principais: primeiro, deixe de lado o dígito final ( 0) de todos os números nas colunas 1 a 6. Segundo, dê à tabela uma aparência muito mais aberta, omitindo todas as regras verticais e a maioria das regras horizontais. O primeiro trabalho pode ser realizado facilmente com o auxílio do maquinário da siunitxembalagem e seu Stipo de coluna. O segundo trabalho se torna simples ao adotar as macros de desenho de linha (como \toprulee \bottomrule) do pacote booktabs.

As linhas do quadro nas bordas da captura de tela a seguir são desenhadas porque o geometrypacote é carregado com a opção showframe. Observe que a tabela agora cabe facilmente dentro da largura de um bloco de texto de papel A4.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{geometry}
  \geometry{a4paper,   % note: 'a4paper', not 'a3paper'
            showframe, % omit 'showframe' option in real document
            %total={170mm,300mm},
            %left=20mm, top=20mm,
            margin=20mm
  }
\usepackage{siunitx,booktabs}
\newcolumntype{T}[1]{S[table-format=#1]}

\begin{document}

\null 

\begin{center}
\sisetup{round-mode=places,round-precision=2} % <-- default: rounding to 2 decimal digits
\begin{tabular}{ @{} 
                 T{1.2} 
                 *{5}{T{2.2}} 
                 % increase # of decimal digits to 3:
                 S[table-format=2.3,round-precision=3] 
                 S[table-format=1.3,round-precision=3] @{}}
 \toprule
 {Mass/ $m$, \unit{\kilo\gram}} &
 \multicolumn{6}{c}{Frequency/ $f$, \unit{\hertz} $\pm 0.001$} &
 {Tension} \\
 \cmidrule(lr){2-7}
 & {Trial 1} & {Trial 2} & {Trial 3} & {Trial 4} & {Trial 5} & {Average} \\
 \midrule
 0.050 & 16.200 & 16.630 & 16.560 & 16.840 & 16.550 & 16.556 & 0.491 \\
 0.100 & 23.650 & 22.800 & 22.810 & 22.970 & 22.700 & 22.986 & 0.981 \\
 0.150 & 28.060 & 27.650 & 27.600 & 27.470 & 27.440 & 26.644 & \dots \\
 0.200 & 34.300 & 32.030 & 32.340 & 32.380 & 32.030 & 32.616 & \dots \\
 0.250 & 35.500 & 35.480 & 35.420 & 35.520 & 35.350 & 35.454 & \dots \\
 \addlinespace
 0.300 & 38.780 & 38.820 & 38.580 & 39.000 & 38.790 & 38.794 & \dots \\
 0.350 & 41.800 & 42.050 & 41.750 & 41.980 & 41.950 & 41.906 & \dots \\
 0.400 & 44.400 & 44.760 & 44.670 & 45.020 & 44.900 & 44.750 & \dots \\
 0.450 & 47.450 & 47.550 & 47.520 & 47.500 & 47.650 & 47.534 & \dots \\
 0.500 & 50.350 & 50.190 & 49.840 & 50.170 & 49.900 & 50.090 & \dots \\
 \bottomrule
\end{tabular}
\end{center}

\end{document}

Responder2

Eu adicionei algum espaço vertical entre as linhas (modificando \arraystretch).

Tomei a liberdade de alterar um pouco o texto (a massa mem itálico, por ser uma variável, a unidade entre parênteses).

Por padrão, a \multirowcélula é justificada à esquerda quando uma largura é especificada (se, em vez disso, uma largura, inserirmos a *, a coluna usa a largura natural do texto fornecido para a multilinha, mas aqui, a largura natural é muito grande). Então, para centralizar o texto, redefinimos \multirowsetupcom a \renewcommand.

\documentclass[a4paper]{article}
\usepackage{multirow}

\renewcommand{\arraystretch}{1.2}
\renewcommand{\multirowsetup}{\centering}

\begin{document}
\begin{center}

 \begin{tabular}{|c|c|c|c|c|c|c|c|}
 \hline
 \multirow{2}{1.2cm}{Mass $m$ (kg)} & \multicolumn{6}{|c|}{Frequency $f$ (Hz) $\pm 0.001$} & \multirow{2}{*}{Tension} \\ 
 \cline{2-7}
 & Trial 1 & Trial 2 & Trial 3 & Trial 4 & Trial 5 & Average &  \\
 \hline
 0.050   & 16.200 & 16.630 & 16.560 & 16.840 & 16.550 & 16.556 & 0.491\\
 \hline
 0.100 & 23.650 & 22.800 & 22.810 & 22.970 & 22.700 & 22.986 & 0.981 \\
\hline
 0.150 & 28.060 & 27.650 & 27.600 & 27.470 & 27.440 & 26.644 & 1.472\\
 \hline
 0.200 & 34.300 & 32.030 & 32.340 & 32.380 & 32.030 & 32.616 & 1.962\\
 \hline
 0.250 & 35.500 & 35.480 & 35.420 & 35.520 & 35.350 & 35.454 & 2.453 \\
 \hline
 0.300 & 38.780 & 38.820 & 38.580 & 39.000 & 38.790 & 38.794 & 2.943\\
 \hline
 0.350 & 41.800 & 42.050 & 41.750 & 41.980 & 41.950 & 41.906 & 3.434\\
 \hline
 0.400 & 44.400 & 44.760 & 44.670 & 45.020 & 44.900 & 44.750 & 3.924\\
 \hline
 0.450 & 47.450 & 47.550 & 47.520 & 47.500 & 47.650 & 47.534 & 4.415 \\
 \hline
 0.500 & 50.350 & 50.190 & 49.840 & 50.170 & 49.900 & 50.090 & 4.905 \\
 \hline
\end{tabular}
  
\end{center}

\end{document}

insira a descrição da imagem aqui

Responder3

  • Seu MWE não fornece dados para sua última coluna, então deixei dois conteúdos escritos para você
  • Para números sugiro usar So tipo de coluna definido no siunitxpacote (carregado como tabularraybiblioteca)
  • Com tabularrayo código da tabela de pacotes é curto e simples:
\documentclass{article}
\usepackage[a4paper]{geometry}  % <---

\usepackage{tabularray}
\UseTblrLibrary{siunitx}

\begin{document}
    \begin{center}
\begin{tblr}{hlines, vlines,
             colspec = {     Q[c,si={table-format=1.3}]
                        *{6}{X[c,si={table-format=2.3}]}
                             X[c,si={table-format=1.3}]
                        },
             row{1,2} = {guard}
             }
\SetCell[r=2]{f}    Mass, $m$ (kg)
        &   \SetCell[c=6]{c}  Frequency, $f$ (Hz) $\pm 0.001$ 
                    &           &           &           &           &           & \SetCell[r=2]{f}   Tension \\
        & Trial 1   & Trial 2   & Trial 3   & Trial 4   & Trial 5   & Average   &       \\
0.050   & 16.200    & 16.630    & 16.560    & 16.840    & 16.550    & 16.556    & 0.491 \\
0.100   & 23.650    & 22.800    & 22.810    & 22.970    & 22.700    & 22.986    &       \\
0.150   & 28.060    & 27.650    & 27.600    & 27.470    & 27.440    & 26.644    &       \\
0.200   & 34.300    & 32.030    & 32.340    & 32.380    & 32.030    & 32.616    &       \\
0.250   & 35.500    & 35.480    & 35.420    & 35.520    & 35.350    & 35.454    &       \\
0.300   & 38.780    & 38.820    & 38.580    & 39.000    & 38.790    & 38.794    &       \\
0.350   & 41.800    & 42.050    & 41.750    & 41.980    & 41.950    & 41.906    &       \\
0.400   & 44.400    & 44.760    & 44.670    & 45.020    & 44.900    & 44.750    &       \\
0.450   & 47.450    & 47.550    & 47.520    & 47.500    & 47.650    & 47.534    &       \\
0.500   & 50.350    & 50.190    & 49.840    & 50.170    & 49.900    & 50.090    & 4.905 \\
\end{tblr}
    \end{center}
\end{document}

insira a descrição da imagem aqui

informação relacionada