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