5

I really want to make this table fit in the page, even if just for it the margins of the document are not respected.

I have seen a lot of possible solutions in the web, but could not quite understand what did each actually meant. I have tried to fix the spacing using \hspace*{-1.5cm} before \begin{threeparttable}. It kind of worked for the table, but not for the notes, and I do not know how to correct that.

I would really appreciate some help.

\documentclass[12pt]{article}
\usepackage{booktabs}
\usepackage[utf8]{inputenc}
\usepackage[flushleft]{threeparttable}
\usepackage[vmargin=3cm, hmargin=2.5cm]{geometry}

\usepackage{pifont}
\usepackage{changepage}
\begin{document}


\begin{table}[!htbp] \centering 
  \caption{Robustez dos resultados - inclusão de controles adicionais} 
  \label{} 
\hspace*{-1.5cm}\begin{threeparttable}
\begin{tabular}
{l@{\hspace{0.7em}}
*{6}{c@{\hspace{0.7em}}}}

\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & \multicolumn{6}{c}{Variável dependente:} \\ 
\cline{2-7} 
\\[-1.8ex] & \multicolumn{2}{c}{\% Votos (x100)} & \multicolumn{2}{c}{Log(Receitas)} & \multicolumn{2}{c}{\textit{Dummy} Eleição} \\ 
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}  
\\[-1.8ex] 
\\[-1.8ex] & (1) & (2) & (3) & (4) & (5) & (6)\\ 
\hline \\[-1.8ex] 
 Tratamento &  &  &  &  & 0,891$^{***}$ & $-$0,704$^{***}$ \\ 
  &  &  &  &  & (0,055) & (0,042) \\ 
  & & & & & & \\ 
 Tempo $*$ Tratamento & $-$0,079$^{*}$ & $-$0,116$^{***}$ & $-$0,212$^{***}$ & $-$0,306$^{***}$ &  &  \\ 
  & (0,046) & (0,036) & (0,026) & (0,020) &  &  \\ 
  & & & & & & \\ 
 Interação -  Candidatos/Vagas & 0,004 &  & $-$0,003$^{*}$ &  & $-$0,119$^{***}$ &  \\ 
  & (0,003) &  & (0,002) &  & (0,005) &  \\ 
  & & & & & & \\ 
 Interação - Tratamento no município &  & 2,306$^{***}$ &  & 1,418$^{***}$ &  & 8,776$^{***}$ \\ 
  &  & (0,660) &  & (0,368) &  & (0,782) \\ 
  & & & & & & \\ 
 Constante & $-$0,407$^{***}$ & $-$0,408$^{***}$ & 0,123$^{***}$ & 0,123$^{***}$ & $-$0,051  & $-$0,003 \\ 
  & (0,046) & (0,046) & (0,025) & (0,025) & (0,168) & (0,166) \\ 
  & & & & & & \\ 
\hline \\[-1.8ex] 
Primeiras diferenças & \ding{51} & \ding{51} & \ding{51} & \ding{51} & & \\
\textit{Dummies} de partido & \ding{51} & \ding{51} & \ding{51} & \ding{51} & \ding{51} & \ding{51} \\
Doações de empresas via partido & \ding{51} & \ding{51} & \ding{51} & \ding{51} &  &  \\

\hline \\[-1.8ex] 
Média Var. Dep. Tratados & 3,48 & 3,48 & 27.858 & 27.868 & 57,4\% & 57,4\% \\
Observações & 39.894 & 39.894 & 39.894 & 39.894 & 39.894 & 39.894 \\ 
R$^{2}$ & 0,040 & 0,041 & 0,016 & 0,016 &  &  \\ 
\hline 
\hline \\[-1.8ex] 
\end{tabular}
\end{threeparttable}
\begin{tablenotes}
Notas: {$^{*}$p$<$0,1; $^{**}$p$<$0,05; $^{***}$p$<$0,01} \\ 
Todas os modelos apresentados acima incluem controles com \textit{dummies} de raça, escolaridade e sexo. Além das variáveis usadas nas especificações 'padrão', foram adicionadas a essas regressões interações de partido e tempo. Para os modelos 1 a 4, também controlou-se pela importância de recursos de pessoas jurídicas recebidos através do partido do candidato. Essa proporção foi calculada pelo produto da porcentagem de recursos do candidato vindos do seu partido e da porcentagem dos recursos de origem de empresas do diretório partidário no município em 2012. 
\end{tablenotes}
\end{table} 

\end{document}
8

Why using threeparttable at all if you don't use it?

Table allowed to overflow the margin by half a centimeter on both sides using package scrextend. The first column was given a fixed width with breakable content. Made the notes \small. Option showframe is just to see where the textblock is.

You should have a closer look at your numbers, the whole number should be input in math mode. Probably also aligned properly within each column. Package booktabs provides tabular rules with nicer spacig. See @Mico's answer for that.

arthurcarvalhobritoTabular

\documentclass[12pt]{article}
\usepackage{booktabs}
\usepackage[utf8]{inputenc}
\usepackage[vmargin=3cm, hmargin=2.5cm,showframe]{geometry}

\usepackage{pifont}
\usepackage{ragged2e}
\usepackage{array}
\usepackage{scrextend}
\begin{document}


\begin{table}%[!htbp]% you should not use that for your tables as default
\begin{addmargin}{-.5cm}
 {\centering 
  \caption{Robustez dos resultados - inclusão de controles adicionais} 
  \label{} 
\begin{tabular}
{>{\RaggedRight}p{4cm}@{\hspace{0.7em}}
*{6}{c@{\hspace{0.7em}}}}

\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & \multicolumn{6}{c}{Variável dependente:} \\ 
\cline{2-7} 
\\[-1.8ex] & \multicolumn{2}{c}{\% Votos (x100)} & \multicolumn{2}{c}{Log(Receitas)} & \multicolumn{2}{c}{\textit{Dummy} Eleição} \\ 
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}  
\\[-1.8ex] 
\\[-1.8ex] & (1) & (2) & (3) & (4) & (5) & (6)\\ 
\hline \\[-1.8ex] 
 Tratamento &  &  &  &  & 0,891$^{***}$ & $-$0,704$^{***}$ \\ 
  &  &  &  &  & (0,055) & (0,042) \\ 
  & & & & & & \\ 
 Tempo $*$ Tratamento & $-$0,079$^{*}$ & $-$0,116$^{***}$ & $-$0,212$^{***}$ & $-$0,306$^{***}$ &  &  \\ 
  & (0,046) & (0,036) & (0,026) & (0,020) &  &  \\ 
  & & & & & & \\ 
 Interação -  Candidatos/Vagas & 0,004 &  & $-$0,003$^{*}$ &  & $-$0,119$^{***}$ &  \\ 
  & (0,003) &  & (0,002) &  & (0,005) &  \\ 
  & & & & & & \\ 
 Interação - Tratamento no município &  & 2,306$^{***}$ &  & 1,418$^{***}$ &  & 8,776$^{***}$ \\ 
  &  & (0,660) &  & (0,368) &  & (0,782) \\ 
  & & & & & & \\ 
 Constante & $-$0,407$^{***}$ & $-$0,408$^{***}$ & 0,123$^{***}$ & 0,123$^{***}$ & $-$0,051  & $-$0,003 \\ 
  & (0,046) & (0,046) & (0,025) & (0,025) & (0,168) & (0,166) \\ 
  & & & & & & \\ 
\hline \\[-1.8ex] 
Primeiras diferenças & \ding{51} & \ding{51} & \ding{51} & \ding{51} & & \\
\textit{Dummies} de partido & \ding{51} & \ding{51} & \ding{51} & \ding{51} & \ding{51} & \ding{51} \\
Doações de empresas via partido & \ding{51} & \ding{51} & \ding{51} & \ding{51} &  &  \\

\hline \\[-1.8ex] 
Média Var. Dep. Tratados & 3,48 & 3,48 & 27.858 & 27.868 & 57,4\% & 57,4\% \\
Observações & 39.894 & 39.894 & 39.894 & 39.894 & 39.894 & 39.894 \\ 
R$^{2}$ & 0,040 & 0,041 & 0,016 & 0,016 &  &  \\ 
\hline 
\hline \\[-1.8ex] 
\end{tabular}
}\par\small
Notas: {$^{*}$p$<$0,1; $^{**}$p$<$0,05; $^{***}$p$<$0,01} \\ 
Todas os modelos apresentados acima incluem controles com \textit{dummies} de raça, escolaridade e sexo. Além das variáveis usadas nas especificações 'padrão', foram adicionadas a essas regressões interações de partido e tempo. Para os modelos 1 a 4, também controlou-se pela importância de recursos de pessoas jurídicas recebidos através do partido do candidato. Essa proporção foi calculada pelo produto da porcentagem de recursos do candidato vindos do seu partido e da porcentagem dos recursos de origem de empresas do diretório partidário no município em 2012. 
\end{addmargin}
\end{table} 

\end{document}
  • Thank you! I was using threeparttable because is was being used on other tables... kind of came along. Using your solution some of the text in the first column was split into different lines. Is there a way to fix it? – Arthur Carvalho Brito Oct 2 '17 at 5:42
  • 1
    I changed that column specifier to get a fixed width and to hyphenate the content. This was done on purpose. You can change it back to use tge l column that you had. @Arthur – Johannes_B Oct 2 '17 at 5:44
  • To center the tabular environment horizontally, do exchange the order } and \par immediately after \end{tabular}. – Mico Oct 2 '17 at 14:38
  • @Mico Thanks, i overlooked this. I was writing the answer in a hurry, without looking deeper. I just noticed now how horrible the number markup is. – Johannes_B Oct 3 '17 at 6:15
3

If you're willing to permit linebreaks in the first column -- say, by using a tabularx environment -- there's no need to make the tabular material wider than \textwidth.

I would also like to recommend you use the line-drawing macros of the booktabs package more consistently and that you align the numbers in the upper half of the table on their decimal markers, say, using the facilities of the dcolumn package.

enter image description here

\documentclass[12pt,a4paper]{article}
\usepackage{booktabs,tabularx,ragged2e}
\newcolumntype{Y}{>{\RaggedRight}X}
\usepackage[skip=0.333\baselineskip]{caption}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D,,{#1}}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[vmargin=3cm, hmargin=2.5cm]{geometry}
\usepackage[portuguese]{babel}

\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\newcommand\mcx[1]{\multicolumn{1}{c@{}}{#1}}

\usepackage{pifont}
\begin{document}

\begin{table}[!htbp]
  \caption{Robustez dos resultados -- inclusão de controles adicionais} 
  \label{} 
\setlength\tabcolsep{4pt}
\begin{tabularx}{\textwidth}{@{} Y *{6}{d{2.5}} @{}}

\toprule
& \multicolumn{6}{c@{}}{Variável dependente} \\ 
\cmidrule(l){2-7} 
& \multicolumn{2}{c}{\% Votos ($\times$100)} 
& \multicolumn{2}{c}{$\log(\textrm{Receitas})$} 
& \multicolumn{2}{c@{}}{\textit{Dummy} Eleição} \\ 
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(l){6-7}  
 & \mc{(1)} & \mc{(2)} & \mc{(3)} & \mc{(4)} & \mc{(5)} & \mcx{(6)} \\ 
\midrule 
 Tratamento &  &  &  &  & 0,891^{***} & -0,704^{***} \\ 
  &  &  &  &  & (0,055) & (0,042) \\ 
\addlinespace 
 Tempo $\times$ Tratamento & -0,079^{*} & -0,116^{***} & -0,212^{***} & -0,306^{***} &  &  \\ 
  & (0,046) & (0,036) & (0,026) & (0,020) &  &  \\ 
\addlinespace
 Interação -- Candidatos\slash  & 0,004 &  & -0,003^{*} &  & -0,119^{***} &  \\ 
Vagas  & (0,003) &  & (0,002) &  & (0,005) &  \\ 
\addlinespace
 Interação -- Tratamento &  & 2,306^{***} &  & 1,418^{***} &  & 8,776^{***} \\ 
no município   &  & (0,660) &  & (0,368) &  & (0,782) \\ 
\addlinespace
 Constante & -0,407^{***} & -0,408^{***} & 0,123^{***} & 0,123^{***} & -0,051  & -0,003 \\ 
  & (0,046) & (0,046) & (0,025) & (0,025) & (0,168) & (0,166) \\ 
\midrule
Primeiras diferenças & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} \\
\textit{Dummies} de partido & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} & \mcx{\ding{51}} \\
Doações de empresas via partido & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} & \mc{\ding{51}} \\
\midrule 
Média Var.\ Dep.\ Tratados & \mc{3,48} & \mc{3,48} & \mc{27.858} & \mc{27.868} & \mc{57,4\%} & \mcx{57,4\%} \\
Observações & \mc{39.894} & \mc{39.894} & \mc{39.894} & \mc{39.894} & \mc{39.894} & \mcx{39.894} \\ 
R$^{2}$ & \mc{0,040} & \mc{0,041} & \mc{0,016} & \mc{0,016} \\ 
\bottomrule
\end{tabularx}

\smallskip
Notas: $^{*}\ p<0{,}1$; $^{**}\ p<0{,}05$; $^{***}\ p<0{,}01$ 

\smallskip
Todas os modelos apresentados acima incluem controles com \textit{dummies} de raça, escolaridade e sexo. Além das variáveis usadas nas especificações `padrão', foram adicionadas a essas regressões interações de partido e tempo. Para os modelos 1 a 4, também controlou-se pela importância de recursos de pessoas jurídicas recebidos através do partido do candidato. Essa proporção foi calculada pelo produto da porcentagem de recursos do candidato vindos do seu partido e da porcentagem dos recursos de origem de empresas do diretório partidário no município em 2012. 

\end{table} 

\end{document}

Addendum to address the OP's follow-up query: It is indeed feasible to use the S column type of the siunitx package instead of the D column type of the dcolumn package. To do so, the most important directive would be

\sisetup{input-symbols=(),
         table-space-text-post={\sym{***}},
         output-decimal-marker={,}}

to be inserted immediately after \begin{table}. You would also need to provide the instruction

\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

in the preamble. To center-set the numbers in the lower half of the table, it suffices to encase them in {...} "wrappers".

The modified MWE would look like this:

\documentclass[12pt,a4paper]{article}
\usepackage{booktabs,tabularx,ragged2e}
\newcolumntype{Y}{>{\RaggedRight}X}
\usepackage[skip=0.333\baselineskip]{caption}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[vmargin=3cm, hmargin=2.5cm]{geometry}
\usepackage[portuguese]{babel}

\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

\usepackage{siunitx}

\usepackage{pifont}
\begin{document}

\begin{table}[!htbp]
\sisetup{input-symbols=(),
         table-space-text-post={\sym{***}},
         output-decimal-marker={,}}
\caption{Robustez dos resultados -- inclusão de controles adicionais} 
  \label{} 
\setlength\tabcolsep{3pt}
\begin{tabularx}{\textwidth}{@{} Y *{6}{S[table-format={-1.3}]} @{}}

\toprule
& \multicolumn{6}{c@{}}{Variável dependente} \\ 
\cmidrule(l){2-7} 
& \multicolumn{2}{c}{\% Votos ($\times$100)} 
& \multicolumn{2}{c}{$\log(\textrm{Receitas})$} 
& \multicolumn{2}{c@{}}{\textit{Dummy} Eleição} \\ 
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(l){6-7}  
 & {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} \\ 
\midrule 
 Tratamento &  &  &  &  & 0,891\sym{***} & -0,704\sym{***} \\ 
  &  &  &  &  & (0,055) & (0,042) \\ 
\addlinespace 
 Tempo $\times$ Tratamento & -0,079\sym{*} & -0,116\sym{***} & -0,212\sym{***} & -0,306\sym{***} &  &  \\ 
  & (0,046) & (0,036) & (0,026) & (0,020) &  &  \\ 
\addlinespace
 Interação -- Candida-  & 0,004 &  & -0,003\sym{*} &  & -0,119\sym{***} &  \\ 
tos\slash Vagas  & (0,003) &  & (0,002) &  & (0,005) &  \\ 
\addlinespace
 Interação -- Trata- &  & 2,306\sym{***} &  & 1,418\sym{***} &  & 8,776\sym{***} \\ 
mento no município   &  & (0,660) &  & (0,368) &  & (0,782) \\ 
\addlinespace
 Constante & -0,407\sym{***} & -0,408\sym{***} & 0,123\sym{***} & 0,123\sym{***} & -0,051  & -0,003 \\ 
  & (0,046) & (0,046) & (0,025) & (0,025) & (0,168) & (0,166) \\ 
\midrule
Primeiras diferenças & {\ding{51}} & {\ding{51}} & {\ding{51}} & {\ding{51}} \\
\textit{Dummies} de partido & {\ding{51}} & {\ding{51}} & {\ding{51}} & {\ding{51}} & {\ding{51}} & {\ding{51}} \\
Doações de empresas via partido & {\ding{51}} & {\ding{51}} & {\ding{51}} & {\ding{51}} \\
\midrule 
Média Var.\ Dep.\ Tratados & {3,48} & {3,48} & {27.858} & {27.868} & {57,4\%} & {57,4\%} \\
Observações & {39.894} & {39.894} & {39.894} & {39.894} & {39.894} & {39.894} \\ 
R$^{2}$ & {0,040} & {0,041} & {0,016} & {0,016} \\ 
\bottomrule
\end{tabularx}

\small

\medskip
Notas: $\sym{*}\ p<0{,}1$; $\sym{**}\ p<0{,}05$; $\sym{***}\ p<0{,}01$ 

\smallskip
Todas os modelos apresentados acima incluem controles com \textit{dummies} de raça, escolaridade e sexo. Além das variáveis usadas nas especificações `padrão', foram adicionadas a essas regressões interações de partido e tempo. Para os modelos 1 a 4, também controlou-se pela importância de recursos de pessoas jurídicas recebidos através do partido do candidato. Essa proporção foi calculada pelo produto da porcentagem de recursos do candidato vindos do seu partido e da porcentagem dos recursos de origem de empresas do diretório partidário no município em 2012. 

\end{table} 
\end{document}
  • Thank you! How can I do that when the rest of the document uses siunitx' s columns instead of d columns? – Arthur Carvalho Brito Oct 2 '17 at 22:57
  • 1
    @ArthurCarvalhoBrito - I'll post an addendum to show how the job might be completed using the S column type of the siunitx package instead of the D column type of the dcolumn package. – Mico Oct 3 '17 at 0:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.