threeparttable - 패키지가 flashleft 옵션으로 호출된 경우 \TPTnoteSettings에 명령을 추가하면 작동하지 않습니다.

threeparttable - 패키지가 flashleft 옵션으로 호출된 경우 \TPTnoteSettings에 명령을 추가하면 작동하지 않습니다.

tablenotes패키지 에 의해 정의된 환경 에서 threeparttable내 문서 전체에 걸쳐 내 노트의 크기를 전체적으로 조정하고 싶었습니다.

비슷한 문제에 대해 누군가 게시한 질문에 대한 답변을 찾았습니다.\appto패키지 에서 etoolbox추가하여 사용\TPTnoteSettings.

threeparttable이제 다음과 같은 옵션을 사용하여 호출 하면 이 솔루션이 작동하지 않는 것으로 나타났습니다. flushleftMWE를 참조하세요. 결과는 다음과 같습니다(표 아래의 텍스트는 표의 텍스트와 크기가 동일합니다). 변경되지 않은 각주

옵션 없이 또는 를 사용하여 패키지를 호출하는 것과 비교해 보세요 [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}

여기에 이미지 설명을 입력하세요

관련 정보