threeparttable: flushleft も使用している場合、threeparttable のテーブル ノートのフォント サイズを変更するにはどうすればよいですか?

threeparttable: flushleft も使用している場合、threeparttable のテーブル ノートのフォント サイズを変更するにはどうすればよいですか?

tnotesのフォントサイズを変更threeparttablesしたいユーザーegregのこのアプローチ

機能的アプローチの最小限の動作例 (MWE):

\documentclass{article}
\usepackage{booktabs}
\usepackage{threeparttable}
\usepackage{etoolbox}

\appto\TPTnoteSettings{\footnotesize}% <-- decreases font size of tnote

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

flushleftこのソリューションは、のプリアンブル構成に追加しない限り、完全に正常に機能しますthreeparttable。この追加構成を追加するとすぐに、上記のソリューションは機能しなくなります。


非機能的アプローチの最小限の動作例 (MWE):

\documentclass{article}
\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}% <-- added `para` and `flushleft`
\usepackage{etoolbox}

\appto\TPTnoteSettings{\footnotesize}% <-- decreases font size of tnote

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

これを解決する方法について何かアイデアはありますか?

答え1

\footnotesize別のマクロに追加できます:

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

\appto\TPTdoTablenotes{\footnotesize}

\begin{document}

\begin{table}

\begin{threeparttable}[b]
  \caption{A caption}

  \begin{tabular}{llll}
  \toprule
  Test\tnote{1} & some & text & to have room\\
  \bottomrule
  \end{tabular}
  \begin{tablenotes}
  \item [1] the first tnote long enough to see at least a line break
  \end{tablenotes}
\end{threeparttable}

\end{table}

\end{document}

ここに画像の説明を入力してください

答え2

フォーマットの目的は、実行することで確実に達成できます。

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

前文に。

完全な MWE -各環境の開始時に\smallskipと の両方が実行されることに注意してください。\footnotesizetablenotes

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{booktabs}
\usepackage[flushleft,para]{threeparttable}

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

\begin{document}
    \begin{table}
    \centering
    \begin{threeparttable}
        \caption{A caption}
        \begin{tabular}{llll}
        \toprule
        Test\tnote{1} & some & text & to have room\\
        \bottomrule
        \end{tabular}
        \begin{tablenotes}
        \item[1] The first tnote
        \end{tablenotes}
    \end{threeparttable}
    \end{table}
\end{document}

関連情報