4

In the tablenotes environment defined by the threeparttable package, I wanted to resize my notes globally throughout my document.

I have found this answer to a question somebody posted in regards to a similar problem: Using \appto from the etoolbox package to append to \TPTnoteSettings.

Now it turns out: this solution does not work if threeparttable is invoked with an option such as flushleft, see the MWE. The result looks like this (note that the text under the table has the same size as the text in the table): Unchanged footnote

Compare this to calling the package without any options or with [normal], which also works:

Small text when package called without option.

\documentclass{scrartcl}

\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}
\usepackage{etoolbox}

\appto\TPTnoteSettings{\footnotesize}

\begin{document}
  \begin{table}
    \begin{threeparttable}[b]
      \caption{A caption}
      \begin{tabular}{llll}
        \toprule
        42& some & text & to have room\\
        \bottomrule
      \end{tabular}
      \begin{tablenotes}
        \item the first note
      \end{tablenotes}
    \end{threeparttable}
  \end{table}
\end{document}
4

Work with \TPT@defaults (using \g@addto@macro you don't need etoolbox):

\documentclass{scrartcl}
\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}

\makeatletter 
\g@addto@macro\TPT@defaults{\footnotesize} 
\makeatother

\begin{document}
  \begin{table}
    \begin{threeparttable}[b]
      \caption{A caption}
      \begin{tabular}{llll}
        \toprule
        42& some & text & to have room\\
        \bottomrule
      \end{tabular}
      \begin{tablenotes}
        \item the first note
      \end{tablenotes}
    \end{threeparttable}
  \end{table}
\end{document}

enter image description here

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.