threeparttable - パッケージが flushleft オプションで呼び出された場合、\TPTnoteSettings へのコマンドの追加は機能しません

threeparttable - パッケージが flushleft オプションで呼び出された場合、\TPTnoteSettings へのコマンドの追加は機能しません

tablenotesパッケージによって定義された環境でthreeparttable、ドキュメント全体でノートのサイズを変更したいと考えました。

同様の問題に関して誰かが投稿した質問に対するこの回答を見つけました:\apptoパッケージから追加etoolboxする\TPTnoteSettings

threeparttable今では、このソリューションは、 などのオプションで呼び出された場合は機能しないことが判明していますflushleft。MWE を参照してください。結果は次のようになります (表の下のテキストは表内のテキストと同じサイズであることに注意してください)。 変更なしの脚注

これを、オプションなしでパッケージを呼び出す場合や、 を付けて呼び出す場合と比較してください[normal]。これも機能します。

オプションなしでパッケージが呼び出されたときの小さなテキスト。

\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}

答え1

使用\TPT@defaultsする( は\g@addto@macro必要ありません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}

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

関連情報