1

I am trying to produce a table 24*9 with text. If you run the code below you see that the columns to the right is outside of the table. I guess this could have something to do with the first and second column being connect too, no space between the values inside the columns.

Thankful for any input. Thanks.

\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[h!]
\small
\caption{DM Test}
\label{table:5:2}

\begin{tabular*}{\textwidth}{c @{\extracolsep{\fill}} lllllllll}
\toprule
     {} & \multicolumn{2}{c}{Zone 1} & \multicolumn{2}{c}{Zone 2}
    & \multicolumn{2}{c}{Zone 3} & \multicolumn{2}{c}{Zone 4}  \\
    \cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9}
    {} &   2021  &  2022 &   2021  &   2022  &   2021  &   2022  &   2021  &  2022   \\
\midrule
1  & Auto & Auto & Auto & Auto & Auto & Auto & Auto & Auto  \\
2  & Auto & Auto* & Auto & Auto & LEAR & LEAR & Auto & Auto*  \\
3   & Auto & LEAR*** & Auto & Auto*** & LEAR & LEAR & LEAR & LEAR***   \\
4   & Auto & Expert*** & Auto & Expert*** & LEAR & LEAR & LEAR & LEAR**  \\
5   & Auto*** & Expert** & Expert*** & Expert*** & LEAR & LEAR & LEAR & Expert***   \\
6   & Expert** & Expert** & Expert** & Expert** & Expert** & LEAR & Expert** & Expert***   \\
7   & Expert* & Expert* & Expert* & Expert* & Expert & LEAR* & Expert & LEAR***  \\
8   & Expert & Expert*** & LEAR*** & LEAR*** & Expert** & LEAR & Expert*** & LEAR**   \\
9   & Expert & Expert*** & Expert*** & Expert** & Expert*** & LEAR & Expert*** & LEAR*   \\
10  & Expert & LEAR*** & Expert* & Expert*** & LEAR*** & LEAR & LEAR** & LEAR***   \\
11  & Expert & Expert*** & Expert*** & Expert*** & Expert** & LEAR* & Expert*** & LEAR***   \\
12  & Expert & Expert* & Expert** & Expert* & Expert** & LEAR & Expert*** & Auto***   \\
13  & Expert & Expert** & Expert & Expert* & Expert** & LEAR & Expert*** & LEAR***   \\
14  & Expert & Expert** & Expert* & Expert* & Expert* & LEAR* & Expert*** & LEAR***   \\
15  & Expert* & Expert** & Expert** & Expert* & Expert & LEAR*** & Expert*** & LEAR***   \\
16  & Expert & Expert* & Expert** & Expert** & Expert & Expert*** & Expert*** & LEAR***   \\
17  & Expert* & Expert*** & Expert*** & Expert*** & Expert*** & Expert* & Expert*** & LEAR***   \\
18  & Expert & LEAR** & LEAR*** & LEAR*** & Expert*** & Naive** & LEAR** & Naive**    \\
19  & Naive*** & LEAR*** & Naive*** & LEAR*** & Naive*** & Naive & Expert*** & Naive   \\
20  & Naive*** & LEAR*** & Naive** & LEAR*** & Naive** & Naive* & LEAR* & Naive   \\
21  & Naive & LEAR** & Naive & LEAR** & Naive* & LEAR* & LEAR*** & Naive   \\
22  & Naive & LEAR** & Naive & LEAR* & Naive & LEAR** & Expert** & Naive*    \\
23  & Naive & LEAR** & Naive & LEAR** & Naive & LEAR* & Expert** & Naive*    \\
24  & Naive & LEAR* & Naive & LEAR* & Naive & LEAR & Naive & Naive*    \\
\bottomrule
\end{tabular*}
\smallskip

\footnotesize


\end{table}
\end{document}
3
  • Please tell us which paper size you employ and how wide the margins are supposed to be.
    – Mico
    Dec 27, 2022 at 12:38
  • Already answered i think: tex.stackexchange.com/questions/439111/…
    – anis
    Dec 27, 2022 at 12:51
  • 2
    Your table is probably wider than \textwidth. Try using a page size that is wider. And also you specify 10 columns, but only use 9 of them. Dec 27, 2022 at 13:13

2 Answers 2

2

I suggest you set \tabcolsep to 0pt and let LaTeX figure out the available amount of intercolumn whitespace.

enter image description here

\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry} % set applicable page parameter values
\usepackage{booktabs}

\begin{document}

\begin{table}[h!]
%\small  % not needed
\setlength\tabcolsep{0pt} % let LaTeX figure out intercol. whitespace
\caption{DM Test\strut}
\label{table:5:2}

\begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} *{8}{l}}
\toprule
& \multicolumn{2}{c}{Zone 1} & \multicolumn{2}{c}{Zone 2}
& \multicolumn{2}{c}{Zone 3} & \multicolumn{2}{c}{Zone 4}  \\
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-7} \cmidrule{8-9}
& 2021 & 2022 & 2021 & 2022 & 2021 & 2022 & 2021 & 2022 \\
\midrule
1  & Auto & Auto & Auto & Auto & Auto & Auto & Auto & Auto  \\
2  & Auto & Auto* & Auto & Auto & LEAR & LEAR & Auto & Auto*  \\
3  & Auto & LEAR*** & Auto & Auto*** & LEAR & LEAR & LEAR & LEAR***   \\
4  & Auto & Expert*** & Auto & Expert*** & LEAR & LEAR & LEAR & LEAR**  \\
5  & Auto*** & Expert** & Expert*** & Expert*** & LEAR & LEAR & LEAR & Expert***   \\
6  & Expert** & Expert** & Expert** & Expert** & Expert** & LEAR & Expert** & Expert***   \\
\addlinespace
7  & Expert* & Expert* & Expert* & Expert* & Expert & LEAR* & Expert & LEAR***  \\
8  & Expert & Expert*** & LEAR*** & LEAR*** & Expert** & LEAR & Expert*** & LEAR**   \\
9  & Expert & Expert*** & Expert*** & Expert** & Expert*** & LEAR & Expert*** & LEAR*   \\
10 & Expert & LEAR*** & Expert* & Expert*** & LEAR*** & LEAR & LEAR** & LEAR***   \\
11 & Expert & Expert*** & Expert*** & Expert*** & Expert** & LEAR* & Expert*** & LEAR***   \\
12 & Expert & Expert* & Expert** & Expert* & Expert** & LEAR & Expert*** & Auto***   \\
\addlinespace
13 & Expert & Expert** & Expert & Expert* & Expert** & LEAR & Expert*** & LEAR***   \\
14 & Expert & Expert** & Expert* & Expert* & Expert* & LEAR* & Expert*** & LEAR***   \\
15 & Expert* & Expert** & Expert** & Expert* & Expert & LEAR*** & Expert*** & LEAR***   \\
16 & Expert & Expert* & Expert** & Expert** & Expert & Expert*** & Expert*** & LEAR***   \\
17 & Expert* & Expert*** & Expert*** & Expert*** & Expert*** & Expert* & Expert*** & LEAR***   \\
18 & Expert & LEAR** & LEAR*** & LEAR*** & Expert*** & Naive** & LEAR** & Naive**    \\
\addlinespace
19 & Naive*** & LEAR*** & Naive*** & LEAR*** & Naive*** & Naive & Expert*** & Naive   \\
20 & Naive*** & LEAR*** & Naive** & LEAR*** & Naive** & Naive* & LEAR* & Naive   \\
21 & Naive & LEAR** & Naive & LEAR** & Naive* & LEAR* & LEAR*** & Naive   \\
22 & Naive & LEAR** & Naive & LEAR* & Naive & LEAR** & Expert** & Naive*    \\
23 & Naive & LEAR** & Naive & LEAR** & Naive & LEAR* & Expert** & Naive*    \\
24 & Naive & LEAR* & Naive & LEAR* & Naive & LEAR & Naive & Naive*    \\
\bottomrule
\end{tabular*}
\end{table}

\end{document}
1
  • Thank you. I think this solution is sligthly better then the other answer since here the stars on the last column is inside the table limits. Dec 28, 2022 at 9:59
2
  • Your table is quite a bit wider than default \textwidth of ąrticle document class, so I suggest to use geometry package and make it bigger
  • If this is not an option, than you need to put table landscape oriented page
  • I suppose that you looking for threeparttable or talltblr equivalent of tabularray package:
\documentclass{article}
\usepackage{geometry}       %  needed!  otherwise cells will overlap
\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\begin{document}
    \begin{table}[h!]
\SetTblrStyle{note}{font=\footnotesize}
\begin{talltblr}[
    \small
caption = {DM Test},
  label = {table:5:2},
note{} = {some text, *:    \dots,
          **:   \dots and 
          ***:  \dots.
          }
                ]{colspec = {@{} r *{8}{X[l]} @{}},
                  row{3-Z}= {rowsep  = 0pt},
                  row{even[3-X]} = {belowsep=1ex}
                  }
\toprule
    &   \SetCell[c=2]{c}    Zone 1 
        &   &   \SetCell[c=2]{c}    Zone 2
                &   &   \SetCell[c=2]{c}  Zone 3
                        &   &   \SetCell[c=2]{c}    Zone 4
                                &               \\
    \cmidrule[r]{2-3} \cmidrule[r]{4-5} \cmidrule[r]{6-7} \cmidrule{8-9}
    &   2021    &   2022    &   2021    &   2022    &   2021    &   2022    &   2021    &  2022     \\
    \midrule
1   & Auto      & Auto      & Auto      & Auto      & Auto      & Auto      & Auto      & Auto      \\
2   & Auto      & Auto*     & Auto      & Auto      & LEAR      & LEAR      & Auto      & Auto*     \\
3   & Auto      & LEAR***   & Auto      & Auto***   & LEAR      & LEAR      & LEAR      & LEAR***   \\
4   & Auto      & Expert*** & Auto      & Expert*** & LEAR      & LEAR      & LEAR      & LEAR**    \\
5   & Auto***   & Expert**  & Expert*** & Expert*** & LEAR      & LEAR      & LEAR      & Expert*** \\
6   & Expert**  & Expert**  & Expert**  & Expert**  & Expert**  & LEAR      & Expert**  & Expert*** \\
7   & Expert*   & Expert*   & Expert*   & Expert*   & Expert    & LEAR*     & Expert    & LEAR***   \\
8   & Expert    & Expert*** & LEAR***   & LEAR***   & Expert**  & LEAR      & Expert*** & LEAR**    \\
9   & Expert    & Expert*** & Expert*** & Expert**  & Expert*** & LEAR      & Expert*** & LEAR*     \\
10  & Expert    & LEAR***   & Expert*   & Expert*** & LEAR***   & LEAR      & LEAR**    & LEAR***   \\
11  & Expert    & Expert*** & Expert*** & Expert*** & Expert**  & LEAR*     & Expert*** & LEAR***   \\
12  & Expert    & Expert*   & Expert**  & Expert*   & Expert**  & LEAR      & Expert*** & Auto***   \\
13  & Expert    & Expert**  & Expert    & Expert*   & Expert**  & LEAR      & Expert*** & LEAR***   \\
14  & Expert    & Expert**  & Expert*   & Expert*   & Expert*   & LEAR*     & Expert*** & LEAR***   \\
15  & Expert*   & Expert**  & Expert**  & Expert*   & Expert    & LEAR***   & Expert*** & LEAR***   \\
16  & Expert    & Expert*   & Expert**  & Expert**  & Expert    & Expert*** & Expert*** & LEAR***   \\
17  & Expert*   & Expert*** & Expert*** & Expert*** & Expert*** & Expert*   & Expert*** & LEAR***   \\
18  & Expert    & LEAR**    & LEAR***   & LEAR***   & Expert*** & Naive**   & LEAR**    & Naive**   \\
19  & Naive***  & LEAR***   & Naive***  & LEAR***   & Naive***  & Naive     & Expert*** & Naive     \\
20  & Naive***  & LEAR***   & Naive**   & LEAR***   & Naive**   & Naive*    & LEAR*     & Naive     \\
21  & Naive     & LEAR**    & Naive     & LEAR**    & Naive*    & LEAR*     & LEAR***   & Naive     \\
22  & Naive     & LEAR**    & Naive     & LEAR*     & Naive     & LEAR**    & Expert**  & Naive*    \\
23  & Naive     & LEAR**    & Naive     & LEAR**    & Naive     & LEAR*     & Expert**  & Naive*    \\
24  & Naive     & LEAR*     & Naive     & LEAR*     & Naive     & LEAR      & Naive     & Naive*    \\
    \bottomrule
\end{talltblr}
    \end{table}
\end{document}

enter image description here

3
  • 1
    @Mico, thank you very much for editing my answer.
    – Zarko
    Dec 28, 2022 at 1:38
  • Thank you. Is there a way to see that the table is wider than the \textwidth, or how do you know this? Dec 28, 2022 at 9:57
  • @SimonRydstedt, table is defined so, that can't be wider than \textwidth. If you like to see, that this is true, in preamble add \usepackage{showframe} (which you should remove in final version of document).
    – Zarko
    Dec 28, 2022 at 11:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .