[Tex/LaTex] Ignore margins for too wide table

marginstables

I have quite a big table that runs into the right margin but is aligned on the left side. Instead, I would like it to be centered on the page ignoring the text margins I specified for the document.

I know this is a common problem and I have tried several solutions for hours but neither the \makebox workaround nor trying to temporarily adjust the margins through \adjustmargins works for me.

I know there must be something I am missing here but I simply cannot seem to find what.

Below is a minimum reproducible sample of my code:

\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}
\usepackage{geometry}
 \geometry{a4paper, left=3cm, top=3cm, bottom=3cm, right=3cm}
\usepackage{booktabs}
\usepackage{pdfpages}
\usepackage[labelfont = sc]{caption}
\DeclareCaptionFormat{mycaptionfont}{\fontsize{12}{13}\selectfont#1#2#3}
\captionsetup{format=mycaptionfont}
\usepackage{threeparttable}
\usepackage{graphicx}

\begin{document}

\begin{table}
\begin{threeparttable}
\captionsetup{font=large}
\caption{\textsc{Caption here}}
\label{table:1}
\scriptsize
\begin{tabular}{lcccccccccc}
\toprule
\addlinespace[0.7em]
& \multicolumn{2}{c}{log [var1111122222} & \multicolumn{2}{c}{var21111111} & \multicolumn{2}{c}{var3} & \multicolumn{2}{c}{var422222222} & \multicolumn{2}{c}{var566666666} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
\cmidrule(lr){8-9}
\cmidrule(lr){10-11}
 & (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) & (9) & (10) \\
\midrule
 &  &  &  &  &  &  &  &  &  &  \\
\addlinespace[0.5em]
Patient & 8.48*** & 4.86*** & 12.84*** & 9.84** & 5.11*** & 2.78 & -0.99*** & -0.50*** & 7.98 & -3.24 \\
 & (1.97) & (1.48) & (3.63) & (3.78) & (1.71) & (1.76) & (0.21) & (0.18) & (7.83) & (7.14) \\
\addlinespace[0.5em]
Retaliative & 1.71 & -0.53 & 2.50 & 5.31 & 7.12** & 7.29** & -0.27 & -0.19 & -7.29 & -7.48 \\
 & (3.80) & (2.85) & (6.66) & (6.40) & (3.48) & (3.40) & (0.46) & (0.34) & (16.67) & (12.86) \\
\addlinespace[0.5em]
Pro-Social & 2.43 & -0.07 & 7.05* & 6.71 & 2.55 & 2.01 & -0.28 & -0.06 & -13.14 & -17.54** \\
 & (2.37) & (1.98) & (4.02) & (4.47) & (2.07) & (2.08) & (0.27) & (0.19) & (9.75) & (7.97) \\
\addlinespace[0.5em]
Constant & 5.42*** & 7.28*** & 1.04 & 0.52 & -1.11 & -1.40 & 0.69*** & 0.47** & 7.85 & 16.20** \\
 & (1.58) & (1.88) & (2.76) & (3.30) & (1.36) & (2.07) & (0.17) & (0.20) & (6.15) & (7.38) \\
\addlinespace[0.5em]
Controls & No & Yes & No & Yes & No & Yes & No & Yes & No & Yes \\
&  &  &  &  &  &  &  &  &  &  \\
Observations & 76 & 73 & 64 & 61 & 76 & 73 & 75 & 72 & 75 & 73 \\
Adjusted R\textsuperscript{2} & 0.45 & 0.67 & 0.30 & 0.37 & 0.11 & 0.21 & 0.41 & 0.65 & 0.15 & 0.43 \\
  \bottomrule
\end{tabular}
\begin{tablenotes}
      \tiny
      \item\textit{Notes:} OLS estimates, robust standard errors in parentheses.*** p$<$0.01, ** p$<$0.05, * p$<$0.1
    \end{tablenotes}
\end{threeparttable}
\end{table}

\lipsum[1]
\end{document}

Best Answer

First method: if there are many columns, you may reduce the value of \tabcolsep(6pt by default). Here, with 11 columns, setting it to $4pt is enough, as it saves 22×2pt=44pt (nearly 8mm) and the table is not so much wider than \textwidth. You also can play with the fontsize to save some more space.

Second method: you can use the adjustwidth environment, from changepage to have locally a smaller margin:

\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}
\usepackage{geometry}
 \geometry{a4paper, left=3cm, top=3cm, bottom=3cm, right=3cm}
\usepackage{booktabs}
\usepackage{changepage}
\usepackage{pdfpages}
\usepackage[labelfont = sc]{caption}
\DeclareCaptionFormat{mycaptionfont}{\fontsize{12}{13}\selectfont#1#2#3}
\captionsetup{format=mycaptionfont}
\usepackage{threeparttable}
\usepackage{graphicx}

\begin{document}

\begin{table}
\begin{adjustwidth}{-1cm}{-1cm}
\centering
\begin{threeparttable}
\captionsetup{font=large}
\caption{\textsc{Caption here}}
\label{table:1}
\scriptsize
\begin{tabular}{l*{10}{c}}
\toprule
\addlinespace[0.7em]
& \multicolumn{2}{c}{log [var1111122222} & \multicolumn{2}{c}{var21111111} & \multicolumn{2}{c}{var3} & \multicolumn{2}{c}{var422222222} & \multicolumn{2}{c}{var566666666} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
\cmidrule(lr){8-9}
\cmidrule(lr){10-11}
 & (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) & (9) & (10) \\
\midrule
 & & & & & & & & & & \\
\addlinespace[0.5em]
Patient & 8.48*** & 4.86*** & 12.84*** & 9.84** & 5.11*** & 2.78 & -0.99*** & -0.50*** & 7.98 & -3.24 \\
 & (1.97) & (1.48) & (3.63) & (3.78) & (1.71) & (1.76) & (0.21) & (0.18) & (7.83) & (7.14) \\
\addlinespace[0.5em]
Retaliative & 1.71 & -0.53 & 2.50 & 5.31 & 7.12** & 7.29** & -0.27 & -0.19 & -7.29 & -7.48 \\
 & (3.80) & (2.85) & (6.66) & (6.40) & (3.48) & (3.40) & (0.46) & (0.34) & (16.67) & (12.86) \\
\addlinespace[0.5em]
Pro-Social & 2.43 & -0.07 & 7.05* & 6.71 & 2.55 & 2.01 & -0.28 & -0.06 & -13.14 & -17.54** \\
 & (2.37) & (1.98) & (4.02) & (4.47) & (2.07) & (2.08) & (0.27) & (0.19) & (9.75) & (7.97) \\
\addlinespace[0.5em]
Constant & 5.42*** & 7.28*** & 1.04 & 0.52 & -1.11 & -1.40 & 0.69*** & 0.47** & 7.85 & 16.20** \\
 & (1.58) & (1.88) & (2.76) & (3.30) & (1.36) & (2.07) & (0.17) & (0.20) & (6.15) & (7.38) \\
\addlinespace[0.5em]
Controls & No & Yes & No & Yes & No & Yes & No & Yes & No & Yes \\
& & & & & & & & & & \\
Observations & 76 & 73 & 64 & 61 & 76 & 73 & 75 & 72 & 75 & 73 \\
Adjusted R\textsuperscript{2} & 0.45 & 0.67 & 0.30 & 0.37 & 0.11 & 0.21 & 0.41 & 0.65 & 0.15 & 0.43 \\
  \bottomrule
\end{tabular}
\begin{tablenotes}
      \tiny
      \item\textit{Notes:} OLS estimates, robust standard errors in parentheses.*** p$<$0.01, ** p$<$0.05, * p$<$0.1
    \end{tablenotes}
\end{threeparttable}
\end{adjustwidth}
\end{table}

\lipsum[1]

\end{document} 

enter code here