% threeparttable.sty  (Donald Arseneau)
% \begin{threeparttable}
% \caption{...}
% tabular environment& notes identified with \tnote{a}
% \begin{tablenotes}
% \item [a] the first note
% \end{tablenotes}
% \end{threeparttable}

\expandafter\edef\csname TPT@catcodes\endcsname
  {\catcode`\noexpand\@=\the\catcode`\@\catcode`\noexpand\*=\the\catcode`\*
  \let \csname TPT@catcode\endcsname \noexpand\UndeFyneD}
\catcode`\@=11
\catcode`\*=11

\@ifundefined{@tempboxb}{\@nameuse{newbox}\@tempboxb}{}

\def\threeparttable{% 3 parts: title, tabular environment, notes
\vbox\bgroup\sloppy
\def\@captype{table}%
\topsep\z@
\let\@caption\TPT@caption
\let\LA@tabular\tabular \let\LA@tabular*\tabular*
\def\tabular{\everyhbox{\aftergroup\TPT@endtab \everyhbox{}}\LA@tabular}
\def\tabular*{\everyhbox{\aftergroup\TPT@endtab \everyhbox{}}\LA@tabular*}
}%

\def\endthreeparttable{\egroup\global\@ignoretrue}

\def\TPT@endtab{\everyhbox{}%
\setbox\@tempboxb\lastbox   % grab tabular environment and measure it
\xdef\TPT@hsize{\hsize\the\wd\@tempboxb \linewidth\hsize}\TPT@hsize
\ifx\TPT@docapt\@und*fined\else
  \TPT@docapt \global\let\TPT@docapt\@und*fined \vskip.2\baselineskip
\fi \par \box\@tempboxb \parindent=1em}

\gdef\TPT@hsize{}

\def\TPT@caption#1[#2]#3{\gdef\TPT@docapt{\LA@caption{#1}[#2]{#3}}\ignorespaces}

\def\tablenotes{\TPT@hsize\list{}{\topsep.2\baselineskip \partopsep\z@
\itemsep.2\baselineskip \parsep\z@ \itemindent 1.5em\leftmargin\z@
%\labelwidth 1em\labelsep .5em }%
\labelwidth .5em\labelsep\z@}%%%%%%%%MG
\renewcommand{\makelabel}[1]{\mbox{$^{\hfill\mathrm{##1}}$}}%%%%%%%%MG
}

\def\tnote#1{\rlap{$^{\mathrm{#1}}$}}% change \rm if using NFSS

\let\endtablenotes\endlist
\let\LA@caption\@caption

\TPT@catcodes % restore catcode of @ and * to starting value

\endinput

Example:

Here is some paragraph before the table.  Note that the Table does not
float unless put inside a true table environment.
Example:
\begin{centering}

\noindent
\begin{threeparttable}
\caption[The Skewing Angles ($\beta$) for $\rm Mu(H)+X_2$ and
   $\rm Mu(H)+HX$]{The Skewing Angles ($\beta$) for $\rm Mu(H)+X_2$ and
   $\rm Mu(H)+HX$~\tnote{a}}
\begin{tabular}{rlcc}
\hline
&   & $\rm H(Mu)+F_2$ & $\rm H(Mu)+Cl_2$ \\
\hline
&$\beta$(H)  & $80.9^\circ\tnote{b}$ & $83.2^\circ$ \\
&$\beta$(Mu) & $86.7^\circ$ & $87.7^\circ$ \\
\hline
\end{tabular}
\begin{tablenotes}
\item[a] for the abstraction reaction, $\rm Mu+HX \rightarrow MuH+X$.
\item[b] 1 degree${} = \pi/180$ radians.
\end{tablenotes}
\end{threeparttable}

\end{centering}


