Tengo el siguiente 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}
Lo que produce la salida:
Pero quiero que se vea así:
Actualmente, estoy trabajando en un documento A3, pero como se trata de un trabajo de investigación, debo enviarlo en formato A4. Sin embargo, se corta al final de la página.
Entonces mis dos preguntas son:
¿Cómo puedo crear la tabla en la imagen de arriba?
¿Cómo puedo formatearlo para que quepa en un documento A4?
Respuesta1
Le sugiero que adopte dos soluciones principales: Primero, omita el dígito final ( 0
) de todos los números en las columnas 1 a 6. Segundo, dé a la tabla una apariencia mucho más abierta omitiendo todas las reglas verticales y la mayoría de las reglas horizontales. El primer trabajo se puede realizar fácilmente con la ayuda de la maquinaria del siunitx
paquete y su S
tipo de columna. El segundo trabajo se vuelve sencillo al adoptar las macros de dibujo de líneas (tales \toprule
y \bottomrule
) del paquete booktabs.
Las líneas del marco en los bordes de la siguiente captura de pantalla están dibujadas porque el geometry
paquete está cargado con la opción showframe
. Observe que la tabla ahora cabe fácilmente dentro con el ancho de un bloque de texto de papel A4.
\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}
Respuesta2
He agregado algo de espacio vertical entre las filas (modificando \arraystretch
).
Me he tomado la libertad de cambiar ligeramente el texto (la masa m
en cursiva, al ser variable, la unidad entre paréntesis).
De forma predeterminada, la \multirow
celda se justifica a la izquierda cuando se especifica un ancho (si en lugar de un ancho, ingresamos a *
, la columna usa el ancho natural del texto dado para la fila múltiple, pero aquí, el ancho natural es demasiado grande). Entonces, para centrar el texto, redefinimos \multirowsetup
con un \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}
Respuesta3
- Su MWE no proporciona datos para su última columna, así que le dejé dos contenidos escritos en ella.
- Para los números, sugiero usar
S
el tipo de columna definido ensiunitx
el paquete (cargado comotabularray
biblioteca) - Con
tabularray
el código de la tabla del paquete es breve y simple:
\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}