Table too long for a single page Latex

Viewed 652

I am creating a table in Latex. It contains several rows, so it does not fit in 1 page. This is how it seems: My table

This is my LaTex code:

\documentclass[11pt, a4paper]{article}
\pagenumbering{gobble}
\usepackage[ 
    %showframe, 
    top=1pt, 
    bottom=1pt,
    paperwidth=8.5in,
    paperheight=11in,
]{geometry}
\usepackage{multirow}
\usepackage{tabularray}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\begin{table}[!hbt]
\setlength\extrarowheight{-1cm}
\caption{Multi-row table}
\centering
\begin{tblr}{|c|c|c|c|c|}
    \hline
    Category & Epochs per round & Dataset & FedAvg & FedCurv \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
\end{tblr}
%\end{center}
\label{tab:multicol}
\end{table}
 
\end{document}

As you can see, I have many rows, so the table goes out of bounds. Now, an idea can be to split the table in two pages, however, I do not know if I will like this solution. Otherwise I prefer to fit the table in one page. Maybe reducing the spacing between rows or maybe reducing the dimension of the text, but I do not know how can I do. Any solution is appreciated. Thanks.

1 Answers

You can squeeze the table into one page by reducing the rowsep:

\documentclass[11pt, a4paper]{article}
\pagenumbering{gobble}
\usepackage[ 
    %showframe, 
    top=1pt, 
    bottom=1pt,
    paperwidth=8.5in,
    paperheight=11in,
]{geometry}
\usepackage{multirow}
\usepackage{tabularray}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\begin{table}[!hbt]
%\setlength\extrarowheight{-1cm}
\caption{Multi-row table}
\centering
\SetTblrInner{rowsep=0pt}
\begin{tblr}{|c|c|c|c|c|}
    \hline
    Category & Epochs per round & Dataset & FedAvg & FedCurv \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
    \SetCell[r=9]{} Uniform Distribution &  1 & \SetCell[r=3]{} MNIST & accuracy & accuracy \\ 
    & 10 &  & accuracy & accuracy \\ 
    & 30 &  & accuracy & accuracy \\ \cline{2-5}
    & 1 & \SetCell[r=3]{}CIFAR10  & accuracy & accuracy\\
    & 10 &  & accuracy & accuracy\\ 
    & 30 &  & accuracy & accuracy \\\cline{2-5}
    & 1 & \SetCell[r=3]{}TinyImageNet & accuracy & accuracy \\
    & 10 &  & accuracy & accuracy \\
    & 30 &  & accuracy & accuracy \\
    \hline
\end{tblr}
%\end{center}
\label{tab:multicol}
\end{table}
 
\end{document}

enter image description here

Related