3

My main text uses one-one-half line spacing, and now the notes below the table are also one-one-half line spaced. I'd prefer them to feature single spacing (all of my other tables don't share this problem). If I were to simply use the tabular environment within a threeparttable, I'd get the desired look for my footnotes, but I can't seem to reproduce the single line spacing for this table. How do I fix the code for this table so that I can stretch the table across the width of the text on the page, but have my footnotes appear below the table with single spacing? Any help would be greatly appreciated.

\documentclass{report}

% packages
\usepackage{amsmath}        % Extra math definitions
\usepackage{graphics}       % PostScript figures
\usepackage{setspace}       % 1.5 spacing
\usepackage{longtable,threeparttablex}          % Tables spanning pages
\usepackage{color}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage[colorlinks=true,linkcolor=red,citecolor=blue,hyperfigures=true]{hyperref}
\usepackage{array}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\usepackage{subcaption}
\usepackage{pdfpages}
\usepackage[notes,backend=bibtex]{biblatex-chicago}
\addbibresource{dissbiblio.bib}
\addbibresource{}
\usepackage[utf8]{inputenc}
\usepackage[full]{textcomp}
\usepackage[T1]{fontenc}
\usepackage{afterpage}
\usepackage{float}
\usepackage{fp}
\usepackage{pdflscape} %To rotate pages with sideways tables or large figures.
\usepackage{xparse}
\usepackage{siunitx} %Lets tables align columns by decimal point.
\usepackage{lmodern}
\usepackage[french,english]{babel}
\usepackage{caption}
\usepackage{pifont}
\usepackage{microtype}
\usepackage{amssymb}
\usepackage{arydshln}
\usepackage{cleveref} 
\usepackage[bottom]{footmisc} %This places footnotes at the bottom so figures will appear above footnotes.

\newcommand{\tabitem}{~~\llap{\textbullet}~~}
\DisableLigatures[f]{encoding=T1}
\crefformat{footnote}{#2\footnotemark[#1]#3}

%Let tables fit to width of page.
\newcommand\totextwidth[1]{%
\sbox{\mytabularbox}{#1}%
\figwidthc=\wd\mytabularbox%
\textwidthc=\textwidth%
\FPdiv\scaleratio{\the\textwidthc}{\the\figwidthc}%
\FPmin\scaleratio{\scaleratio}{1}%
\scalebox{\scaleratio}{\usebox{\mytabularbox}}%
}

\begin {document}

\onehalfspacing

\afterpage{
\begin{ThreePartTable}
\setlength{\LTleft}{0pt}
\setlength{\LTright}{0pt}
\renewcommand\TPTminimum{\textwidth}
\renewcommand{\arraystretch}{0.8}
\begin{TableNotes}[flushleft]
\small
\item \textsuperscript{a} \textit{Event Density} (1.5) refers to the number of notes identified in a 1.5 s window starting from the onset of cadential arrival.
 \item \textsuperscript{b} \textit{Caesura} refers to the presence of a rest across all four instrumental parts.
 \item \textsuperscript{c} \textit{Elision} refers to the superposition of a new intrathematic phrase at the moment of cadential arrival, an accompanimental overlap in the bass, or a melodic lead-in.
 \item \textsuperscript{d} \textit{Interthematic Function} refers to one of the following temporal functions to characterize the passage at the theme level following cadential arrival: Before-the-Beginning, Beginning, Middle, End, After-the-End. \textit{Intrathematic Function} refers to either the Beginning, Middle, or End functions that characterize the passage at the phrase level following cadential arrival.
\end{TableNotes}
\begin{longtable}{@{\hskip\tabcolsep\extracolsep\fill}lccc}
\caption{Descriptive statistics for the 11 retrospective features.} \\
\toprule
\textit{Retrospective Features} & \multicolumn{1}{c}{\textit{M} (\textit{SD})} & \multicolumn{1}{c}{\textit{Range}} &
\multicolumn{1}{c}{\textit{Mode} (\textit{Frequency})} \\
\midrule
\textbf{Segmentational Grouping} &       &       & \textbf{} \\
\multicolumn{1}{l}{\quad (1)   \textit{Next Note Onset} (s)} & \multicolumn{1}{c}{.57 (.44)} & \multicolumn{1}{c}{.1-1.8} & \multicolumn{1}{c}{} \\
\multicolumn{1}{l}{\quad (2)   \textit{Next Bass Note Onset} (s)} & \multicolumn{1}{c}{.97 (.77)} & \multicolumn{1}{c}{.1-2.8} & \multicolumn{1}{c}{} \\
\multicolumn{1}{l}{\quad (3)   \textit{Next Soprano Note Onset} (s)} & \multicolumn{1}{c}{.99 (.66)} & \multicolumn{1}{c}{.1-2.6} & \multicolumn{1}{c}{} \\
\multicolumn{1}{l}{\quad (4)   \textit{Event Density}\textsuperscript{a}} & \multicolumn{1}{c}{9.98 (5.25)} & \multicolumn{1}{c}{3-19} & \multicolumn{1}{c}{} \\
\multicolumn{1}{l}{\quad (5)   \textit{Caesura}\textsuperscript{b}} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{Absent (28)} \\
\multicolumn{1}{l}{\quad (6)   \textit{Elision}\textsuperscript{c}} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{None (26)} \\
\textbf{Temporal Function} & \multicolumn{1}{c}{\textbf{}} & \multicolumn{1}{c}{\textbf{}} & \multicolumn{1}{c}{\textbf{}} \\
\multicolumn{1}{l}{\quad (7)   \textit{Interthematic Function}\textsuperscript{d}} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{End (20)} \\
\multicolumn{1}{l}{\quad (8)   \textit{Intrathematic Function}} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{Beginning (19)} \\
\multicolumn{1}{l}{\quad (9)  \textit{ Repetition}} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{Present (25)} \\
\multicolumn{1}{l}{\quad (10)   \textit{Stimulus Length} (s)} & \multicolumn{1}{c}{15.68 (4.14)} & \multicolumn{1}{c}{9.2-27.6} & \multicolumn{1}{c}{} \\
\multicolumn{1}{l}{\quad (11)   \textit{Stimulus Length from CA} (s)} & \multicolumn{1}{c}{7.20 (2.15)} & \multicolumn{1}{c}{3.6-14.1} & \multicolumn{1}{c}{} \\
\bottomrule
\insertTableNotes
\end{longtable}
\label{tab:ex2rhetorical}%
\end{ThreePartTable}
}

\end{document}
  • 1
    I have no idea what the result of that looks like (and I wrote half the code it's using) Please always make examples a complete document loading all needed packages so that people can run them locally. – David Carlisle Feb 2 '15 at 14:59
  • 1
    what do you mean by "because I'm using longtable, which allows me to stretch the table to textwidth. " ? longtable has no features for controlling horizontal widths other than those inherited from the underlying tabular longtable just allows page breaks. – David Carlisle Feb 2 '15 at 15:01
  • Okay, I've included all of the preamble material so you should be able to reproduce the table as I currently see it. – David S Feb 2 '15 at 15:36
3

(Aside: I updated/simplified significantly after the OP indicated the method he/she uses to change the default line spacing of the document as well as the packages needed to make the code compilable.)

I have several suggestions:

  • Since you're using the setspace package and the instruction \onehalfspacing to change the default line spacing for the document as a whole, you could insert the instruction \singlespacing after the start of the ThreePartTable environment to switch locally to single-spacing.

  • The contents of the longtable environment are made needlessly complicated because of all those \multicolumn{1}{l}{...} and \multicolumn{1}{c}{...} wrappers. As far as I can tell, these wrappers are not needed. (All they do is create code clutter.)

  • Since you're using the threeparttablex package, you could write \tnote{a} and \item[a] instead of the more-laborious \textsuperscript{a} and \item \textsuperscript{a}, etc.

Here's a simplified version of the example code you gave. I've commented out the instructions that load packages that aren't actually used in the MWE. By the way, there's no point in loading graphics and graphicx individually since the rotating package loads graphicx. Similarly, don't load color if you're also going to load xcolor.

enter image description here

\documentclass{report}

% packages
%\usepackage{amsmath}        % Extra math definitions
%\usepackage{graphics}       % PostScript figures
\usepackage{setspace}       % 1.5 spacing
\usepackage{longtable,threeparttablex}          % Tables spanning pages
%\usepackage{color}
%\usepackage{graphicx}
%\usepackage{rotating}
%\usepackage{array}
%\usepackage{multirow}
\usepackage{booktabs}
%\usepackage[table]{xcolor}
%\usepackage{subcaption}
%\usepackage{pdfpages}
%\usepackage[notes,backend=bibtex]{biblatex-chicago}
%\addbibresource{dissbiblio.bib}
%\addbibresource{}
\usepackage[utf8]{inputenc}
%\usepackage[full]{textcomp}
\usepackage[T1]{fontenc}
\usepackage{afterpage}
%\usepackage{float}
%\usepackage{fp}
%\usepackage{pdflscape} %To rotate pages with sideways tables or large figures.
%\usepackage{xparse}
%\usepackage{siunitx} %Lets tables align columns by decimal point.
%\usepackage{lmodern}
%\usepackage[french,english]{babel}
%\usepackage{caption}
%\usepackage{pifont}
%\usepackage{microtype}
%\usepackage{amssymb}
%\usepackage{arydshln}
%\usepackage[bottom]{footmisc} %This places footnotes at the bottom so figures will appear above footnotes.
%\usepackage[colorlinks=true,linkcolor=red,citecolor=blue,hyperfigures=true]{hyperref}
%\usepackage{cleveref}

%\newcommand{\tabitem}{~~\llap{\textbullet}~~}
%\DisableLigatures[f]{encoding=T1}
%\crefformat{footnote}{#2\footnotemark[#1]#3}
%
%%Let tables fit to width of page.
%\newcommand\totextwidth[1]{%
%\sbox{\mytabularbox}{#1}%
%\figwidthc=\wd\mytabularbox%
%\textwidthc=\textwidth%
%\FPdiv\scaleratio{\the\textwidthc}{\the\figwidthc}%
%\FPmin\scaleratio{\scaleratio}{1}%
%\scalebox{\scaleratio}{\usebox{\mytabularbox}}%
%}

\begin {document}

\onehalfspacing

\afterpage{%
\begin{ThreePartTable}
\singlespacing  % switch locally to single-spacing
\setlength{\LTleft}{0pt}
\setlength{\LTright}{0pt}
\renewcommand\TPTminimum{\textwidth}
%\renewcommand{\arraystretch}{0.8}  % not necessary, is it?
\begin{TableNotes}[flushleft]
\small
\item[a] \textit{Event Density} (1.5) refers to the number of notes identified in a 1.5~s window starting from the onset of cadential arrival.
 \item[b] \textit{Caesura} refers to the presence of a rest across all four instrumental parts.
 \item[c] \textit{Elision} refers to the superposition of a new intrathematic phrase at the moment of cadential arrival, an accompanimental overlap in the bass, or a melodic lead-in.
 \item[d] \textit{Interthematic Function} refers to one of the following temporal functions to characterize the passage at the theme level following cadential arrival: Before-the-Beginning, Beginning, Middle, End, After-the-End.
     \textit{Intrathematic Function} refers to either the Beginning, Middle, or End functions that characterize the passage at the phrase level following cadential arrival.
\end{TableNotes}
\setlength\tabcolsep{0.1pt}  % default value: 6pt
\begin{longtable}{@{\extracolsep\fill}lccc}  % make longtable span width of text block
\caption{Descriptive statistics for the 11 retrospective features.} \label{tab:ex2rhetorical}\\
\toprule
\textit{Retrospective Features}
& \textit{M} (\textit{SD})
& \textit{Range}
& \textit{Mode} (\textit{Frequency}) \\
\midrule
\textbf{Segmentational Grouping} & & & \\
\quad (1) \textit{Next Note Onset} (s) & .57 (.44) & .1--1.8 & \\
\quad (2) \textit{Next Bass Note Onset (s)} & .97 (.77) & .1--2.8 & \\
\quad (3) \textit{Next Soprano Note Onset} (s) & .99 (.66) & .1--2.6 & \\
\quad (4) \textit{Event Density}\tnote{a} & 9.98 (5.25) & 3--19 & \\
\quad (5) \textit{Caesura}\tnote{b} & & & Absent (28) \\
\quad (6) \textit{Elision}\tnote{c} & & & None (26) \\
\textbf{Temporal Function} & & & \\
\quad (7) \textit{Interthematic Function}\tnote{d} & & & End (20) \\
\quad (8) \textit{Intrathematic Function} & & & Beginning (19) \\
\quad (9) \textit{Repetition} & & & Present (25) \\
\quad (10) \textit{Stimulus Length} (s) & 15.68 (4.14) & 9.2--27.6 & \\
\quad (11) \textit{Stimulus Length from CA} (s) & 7.20 (2.15) & 3.6--14.1 & \\
\bottomrule
\insertTableNotes
\end{longtable}
\end{ThreePartTable}
}
\end{document}
  • Perhaps you should update your remarks to reflect the use of threeparttablex (don't know if you added that you the OPs example) – daleif Feb 2 '15 at 16:01
  • @daleif - Thanks. I had revised my answer after the OP indicated that he/she was using the setspace package, but I didn't notice right away that he/she also posted some information about the other packages that are being loaded. I've now deleted the second bullet point from the answer. Incidentally, I seem to have no problems combining longtable and threeparttable (and hence don't find it necessary to load the threeparttablex package). Is that because of the recent updates to these packages? – Mico Feb 2 '15 at 16:15
  • You cannot use longtable and threeparttable directly. The threparttable env is a block that cannot be broken. That is why threparttablex provide extra envs of a different name. Actually the ThreePartTable env does not do much more than making sure a certain macro exists. – daleif Feb 2 '15 at 16:41
  • @daleif - Many thanks for this explanation. I realize now that this issue doesn't show up in the OP's code because the threeparttable in question doesn't span more than one page. – Mico Feb 2 '15 at 16:46
  • Exactly the point – daleif Feb 2 '15 at 17:46

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.