# set default font size for \caption*{}

I currently use \caption*{} elements from the caption package to add small notes and explanations underneath figures and tables. Since I want those notes to be small I write them as

\caption*{\footnotesize This is a note}


I have a lot of these so setting the \footnotesize every time seems a tad redundant. Is there any way to set a default font size for the \caption*{} element and for that element alone (in particular: to leave \caption{} unaffected)?

You can define a new command that way:

\newcommand\mynote[1]{\footnotesize#1}


A better solution, in my opinion, would be to load the threeparttable package and write in the preamble:

\usepackage{etoolbox}
\AtBeginEnvironment{tablenotes}{\footnotesize}


Then use the environment as follows:

\begin{table}
\begin{threeparttable}
\begin{tabular}{xxx}
............
\end{tabular}
\begin{tablenotes}
\item[] Note/explanation1
\item[] Note/explanation2
..........................
\end{tablenotes}
\end{tabular}
\end{threeparttable}
\end{table}


The notes will have the width of the table. For figures, the corresponding environment is measuredfigure.

For long tables, you'll use the threeparttablex package. The syntax is slightly different: the environment is now ThreePartTable and the TableNotes environment is written at the beginning of the environment; the notes are inserted anywhere you want with the \inserTableNotes command, and they can be referenced. Finally, you have a \setTableNoteFont command.

Why do you use the \caption*command if you only need some notes. Simply do

\documentclass{article}
\usepackage{caption}
\def\Par{\par\footnotesize}
\begin{document}

\begin{table}\centering
foo\Par
this is some nonsense text
\end{table}

\begin{table}\centering
foo
\caption{this is some nonsense text}
\end{table}

\end{document}