3
\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{makecell}

\newcommand{\blank}{--}

\begin{document}


\begin{table}[h]
\renewcommand{\arraystretch}{1.2}
\footnotesize\setlength{\tabcolsep}{1pt}
\begin{tabular}{llcccccc}  
& & \thead{\bfseries Sessualità} & \thead{\bfseries Temperamento} & \thead{\bfseries Valori} & \thead{\bfseries Comportamento} & \thead{\bfseries Comunicazione \\\bfseries prosociale} & \thead{\bfseries Comunicazione\\ \bfseries non verbale} \\
\midrule

% ROW 1%
\multirow{2}*{\bfseries Sessualità} & Pearson's  $r$ & \blank  & $\textbf{-0.329$^{***}$}$ & $0.131$ & $\textbf{-0.145$^*$}$ & $0.055$ & $-0.064$\\
& $p$-value & \blank  & $<.001$ & $0.070$ & $0.044$ & $0.449$ & $0.378$ \\

% ROW 2%
\multirow{2}*{\bfseries Temperamento} & Pearson's $r$ &  & \blank & $-0.094$ & $0.012$ & $-0.063$ & $0.125$\\
& $p$-value & & \blank  & $0.189$ & $0.870$ & $0.377$ & $0.082$\\

% ROW 3%
\multirow{2}*{\bfseries Valori} & Pearson's $r$ & & & \blank & $0.035$ & $0.048$ & $0.090$ \\
& $p$-value & & & \blank & $0.624$ & $0.504$ & $0.208$ \\

% ROW 4%
\multirow{2}*{\bfseries Comportamento} & Pearson's $r$ & & & & \blank & $0.094$ & $-0.125$ \\
& $p$-value & & & & \blank & $0.189$ & $0.080$ \\

% ROW 5%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries prosociale}} & Pearson's $r$ & & & & & \blank & $0.069$\\
& $p$-value & & & & & \blank & $0.334$\\

% ROW 6%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries  non verbale}} & Pearson's $r$ & & & & & & \blank \\
& $p$-value & & & & & & \blank \\

\bottomrule
\multicolumn{8}{l}{$^* p<.05, ^{**} p<0.1, ^{***}p<.001$}
\end{tabular}
\caption{Correlazioni tra i fattori}
\label{table:correlazione}
\end{table}


\end{document}

Table

I can't size properly the columns' width so that the table fits to the page. What's the best way to fix it?

Also, apart from the number of columns, the two headers Comunicazione prosociale and Comunicazione non verbale seem too wide. I used makecell to break them. Though, the second lines prosociale and non verbale are not even left-aligned ...

Are there any other coding mistake? This table is really driving me crazy ...

2
  • Can you use abbreviations for the column and row headers? This might save a lot of horizontal space? Alternatively, would rotating the table by 90 degrees be an option?
    – leandriis
    Commented Mar 18, 2019 at 18:37
  • Have you tried, sometimes, siunitx package to have alignment to the decimal places?
    – Sebastiano
    Commented Mar 18, 2019 at 22:17

4 Answers 4

1

A golden rule for tables is “never repeat common objects”. The table is a correlation, so the columns are named as the rows: it's unnecessary to repeat the names in the column headers, the reader will easily infer that “S” stands for “Sessualità” and so on.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}

\usepackage{booktabs,siunitx}
\usepackage{etoolbox}

\robustify{\bfseries}

\newcommand{\tn}[1]{\makebox[0pt][l]{$^{#1}$}}

\begin{document}


\begin{table}[htp]
\centering

\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}

\begin{tabular}{
  @{}
  ll
  *{6}{S[table-format=-1.3,detect-weight,mode=text]}
  @{}
}
\toprule
& & {S} & {T} & {V} & {C} & {CP} & {CNV} \\
\midrule

% ROW 1%
Sessualità
& $r$ & {--} & \bfseries -0.329\tn{***} & 0.131 & \bfseries -0.145\tn{*} & 0.055 & -0.064 \\
& $p$ & {--} & {<0.001}       & 0.070 &  0.044       & 0.449 &  0.378 \\

\addlinespace

% ROW 2%
Temperamento
& $r$ & & {--} & -0.094 & 0.012 & -0.063 & 0.125\\
& $p$ & & {--} &  0.189 & 0.870 &  0.377 & 0.082\\

\addlinespace

% ROW 3%
Valori
& $r$ & & & {--} & 0.035 & 0.048 & 0.090 \\
& $p$ & & & {--} & 0.624 & 0.504 & 0.208 \\

\addlinespace

% ROW 4%
Comportamento
& $r$ & & & & {--} & 0.094 & -0.125 \\
& $p$ & & & & {--} & 0.189 & 0.080 \\

\addlinespace

% ROW 5%
Comunicazione
& $r$ & & & & & {--} & 0.069\\
prosociale
& $p$ & & & & & {--} & 0.334\\

\addlinespace

% ROW 6%
Comunicazione
& $r$ & & & & & & {--} \\
non verbale
& $p$ & & & & & & {--} \\

\bottomrule
\addlinespace
\multicolumn{8}{@{}l}{%
  $r$: Pearson's $r$; $p$: $p$-value;
  $^*$: $p<0.05$; $^{**}$: $p<0.1$; $^{***}$: $p<0.001$.}
\end{tabular}
\caption{Correlazioni tra i fattori}
\label{table:correlazione}
\end{table}

\end{document}

enter image description here

3

Here are two variants using abbreviations or a rotated table:

enter image description here

enter image description here

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{calc}

\usepackage{rotating}


\newcommand{\blank}{--}

\begin{document}


\begin{table}
\renewcommand{\arraystretch}{1.2}
\setlength{\tabcolsep}{4pt}
\begin{tabular}{llcccccc}  
& & \thead{\bfseries S} & \thead{\bfseries T} & \thead{\bfseries V} & \thead{\bfseries C} & \thead{\bfseries CP} & \thead{\bfseries CNV} \\
\midrule

% ROW 1%
\multirow{2}*{\bfseries S} & Pearson's  $r$ & \blank  & $\textbf{-0.329$^{***}$}$ & $0.131$ & $\textbf{-0.145$^*$}$ & $0.055$ & $-0.064$\\
& $p$-value & \blank  & $<.001$ & $0.070$ & $0.044$ & $0.449$ & $0.378$ \\

% ROW 2%
\multirow{2}*{\bfseries T} & Pearson's $r$ &  & \blank & $-0.094$ & $0.012$ & $-0.063$ & $0.125$\\
& $p$-value & & \blank  & $0.189$ & $0.870$ & $0.377$ & $0.082$\\

% ROW 3%
\multirow{2}*{\bfseries V} & Pearson's $r$ & & & \blank & $0.035$ & $0.048$ & $0.090$ \\
& $p$-value & & & \blank & $0.624$ & $0.504$ & $0.208$ \\

% ROW 4%
\multirow{2}*{\bfseries C} & Pearson's $r$ & & & & \blank & $0.094$ & $-0.125$ \\
& $p$-value & & & & \blank & $0.189$ & $0.080$ \\

% ROW 5%
\multirow{2}*{\bfseries CP } & Pearson's $r$ & & & & & \blank & $0.069$\\
& $p$-value & & & & & \blank & $0.334$\\

% ROW 6%
\multirow{2}*{\bfseries CNV} & Pearson's $r$ & & & & & & \blank \\
& $p$-value & & & & & & \blank \\

\bottomrule
\multicolumn{8}{l}{$^* p<.05, ^{**} p<0.1, ^{***}p<.001$}\\
\multicolumn{8}{p{\textwidth-2\tabcolsep}}{Abbreviations: S: Sessualità; T: Temperamento; V: Valori; C: Comportamento; CP.: Comunicazione prosociale;  CNV.: Comunicazione  non verbale}
\end{tabular}
\caption{Correlazioni tra i fattori}
\label{table:correlazione}
\end{table}

\begin{sidewaystable}
\renewcommand{\arraystretch}{1.2}
\setlength{\tabcolsep}{5pt}
\begin{tabular}{llcccccc}  
& & \thead{\bfseries Sessualità} & \thead{\bfseries Temperamento} & \thead{\bfseries Valori} & \thead{\bfseries Comportamento} & \thead{\bfseries Comunicazione \\\bfseries prosociale} & \thead{\bfseries Comunicazione\\ \bfseries non verbale} \\
\midrule

% ROW 1%
\multirow{2}*{\bfseries Sessualità} & Pearson's  $r$ & \blank  & $\textbf{-0.329$^{***}$}$ & $0.131$ & $\textbf{-0.145$^*$}$ & $0.055$ & $-0.064$\\
& $p$-value & \blank  & $<.001$ & $0.070$ & $0.044$ & $0.449$ & $0.378$ \\

% ROW 2%
\multirow{2}*{\bfseries Temperamento} & Pearson's $r$ &  & \blank & $-0.094$ & $0.012$ & $-0.063$ & $0.125$\\
& $p$-value & & \blank  & $0.189$ & $0.870$ & $0.377$ & $0.082$\\

% ROW 3%
\multirow{2}*{\bfseries Valori} & Pearson's $r$ & & & \blank & $0.035$ & $0.048$ & $0.090$ \\
& $p$-value & & & \blank & $0.624$ & $0.504$ & $0.208$ \\

% ROW 4%
\multirow{2}*{\bfseries Comportamento} & Pearson's $r$ & & & & \blank & $0.094$ & $-0.125$ \\
& $p$-value & & & & \blank & $0.189$ & $0.080$ \\

% ROW 5%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries prosociale}} & Pearson's $r$ & & & & & \blank & $0.069$\\
& $p$-value & & & & & \blank & $0.334$\\

% ROW 6%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries  non verbale}} & Pearson's $r$ & & & & & & \blank \\
& $p$-value & & & & & & \blank \\

\bottomrule
\multicolumn{8}{l}{$^* p<.05, ^{**} p<0.1, ^{***}p<.001$}
\end{tabular}
\caption{Correlazioni tra i fattori}
\label{table:correlazione}
\end{sidewaystable}


\end{document}
1

One possibility is to use a command \newcommand*\rot{\rotatebox{75}} to rotate the used table heads about 75 degrees. You need to call package graphicx.

Please see the following code

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{graphicx} % <==================================== \rotatebox

\newcommand{\blank}{--}
\newcommand*\rot{\rotatebox{75}} % <=========== rotate heading 75 degree


\begin{document}

\begin{table}[h]
\renewcommand{\arraystretch}{1.2}
\footnotesize
\setlength{\tabcolsep}{1pt}
\begin{tabular}{llcccccc}
& & \thead{\rot{\bfseries Sessualità}} % <==============================
  & \thead{\rot{\bfseries Temperamento}} 
  & \thead{\rot{\bfseries Valori}} 
  & \thead{\rot{\bfseries Comportamento}} 
  & \thead{\rot{\bfseries Comunicazione prosociale}} 
  & \thead{\rot{\bfseries Comunicazione non verbale}} \\
\midrule

% ROW 1%
\multirow{2}*{\bfseries Sessualità} & Pearson's  $r$ & \blank  & $\textbf{-0.329$^{***}$}$ & $0.131$ & $\textbf{-0.145$^*$}$ & $0.055$ & $-0.064$\\
& $p$-value & \blank  & $<.001$ & $0.070$ & $0.044$ & $0.449$ & $0.378$ \\

% ROW 2%
\multirow{2}*{\bfseries Temperamento} & Pearson's $r$ &  & \blank & $-0.094$ & $0.012$ & $-0.063$ & $0.125$\\
& $p$-value & & \blank  & $0.189$ & $0.870$ & $0.377$ & $0.082$\\

% ROW 3%
\multirow{2}*{\bfseries Valori} & Pearson's $r$ & & & \blank & $0.035$ & $0.048$ & $0.090$ \\
& $p$-value & & & \blank & $0.624$ & $0.504$ & $0.208$ \\

% ROW 4%
\multirow{2}*{\bfseries Comportamento} & Pearson's $r$ & & & & \blank & $0.094$ & $-0.125$ \\
& $p$-value & & & & \blank & $0.189$ & $0.080$ \\

% ROW 5%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries prosociale}} & Pearson's $r$ & & & & & \blank & $0.069$\\
& $p$-value & & & & & \blank & $0.334$\\

% ROW 6%
\multirow{2}*{\makecell{\bfseries Comunicazione\\ \bfseries  non verbale}} & Pearson's $r$ & & & & & & \blank \\
& $p$-value & & & & & & \blank \\

\bottomrule
\multicolumn{8}{l}{$^* p<.05, ^{**} p<0.1, ^{***}p<.001$}
\end{tabular}
\caption{Correlazioni tra i fattori}
\label{table:correlazione}
\end{table}

\end{document}

and its result:

resulting table

0

Here is the code for the table I came up with

\begin{table}[h]
\renewcommand{\arraystretch}{1.2}
\scriptsize\setlength{\tabcolsep}{1.2pt}
\renewcommand\theadfont{\scriptsize \bfseries}
\captionof{table}{Correlazioni tra i fattori}
\begin{tabular}{llcccccc}
& & \thead{Sessualità} & \thead{Temperamento} & \thead{Valori} & \thead{Comportamento} & \thead{Comunicazione \\prosociale} & \thead{Comunicazione\\ non verbale} \\
\midrule

% ROW 1%
\multirow{2}*{\bfseries Sessualità} & Pearson's  $r$ & \blank  & $\textbf{-0.329$^{***}$}$ & $0.131$ & $\textbf{-0.145$^*$}$ & $0.055$ & $-0.064$\\
& $p$-value & \blank  & $<.001$ & $0.070$ & $0.044$ & $0.449$ & $0.378$ \\

% ROW 2%
\multirow{2}*{\bfseries Temperamento} & Pearson's $r$ &  & \blank & $-0.094$ & $0.012$ & $-0.063$ & $0.125$\\
& $p$-value & & \blank  & $0.189$ & $0.870$ & $0.377$ & $0.082$\\

% ROW 3%
\multirow{2}*{\bfseries Valori} & Pearson's $r$ & & & \blank & $0.035$ & $0.048$ & $0.090$ \\
& $p$-value & & & \blank & $0.624$ & $0.504$ & $0.208$ \\

% ROW 4%
\multirow{2}*{\bfseries Comportamento} & Pearson's $r$ & & & & \blank & $0.094$ & $-0.125$ \\
& $p$-value & & & & \blank & $0.189$ & $0.080$ \\

% ROW 5%
\multirow{2}*{\makecell[cl]{\bfseries Comunicazione\\ \bfseries prosociale}} & Pearson's $r$ & & & & & \blank & $0.069$\\
& $p$-value & & & & & \blank & $0.334$\\

% ROW 6%
\multirow{2}*{\makecell[cl]{\bfseries Comunicazione\\ \bfseries  non verbale}} & Pearson's $r$ & & & & & & \blank \\
& $p$-value & & & & & & \blank \\

\bottomrule
\multicolumn{8}{l}{$^* p<.05, ^{**} p<0.1, ^{***}p<.001$}
\end{tabular}
\label{table:correlazione}
\end{table}

Where the modifications are essentially:

    \scriptsize\setlength{\tabcolsep}{1.2pt}
    \renewcommand\theadfont{\scriptsize \bfseries}

Note at first I silly wrote the command \bfseries for every thead, instead of writing \renewcommand\theadfont{\scriptsize \bfseries}, where I also change the size.

You must log in to answer this question.

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