Почему у моего стола из трех частей tnote нахально выпирает? Как можно (автоматически) отрегулировать здесь ширину?

Почему у моего стола из трех частей tnote нахально выпирает? Как можно (автоматически) отрегулировать здесь ширину?

Почему у моего стола из трех частей tnote нахально выпирает? Как можно (автоматически) отрегулировать здесь ширину?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabulary}
\usepackage{threeparttable}
\usepackage{array}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{lipsum}
\renewcommand{\arraystretch}{1.2}
\sisetup{round-mode=places,round-precision=1, add-decimal-zero=true, add-integer-zero=true, round-integer-to-decimal}

\begin{document}



\lipsum[1]



\begin{table}
\centering
\begin{threeparttable}
\caption{Some long boring caption don't fall asleep 2013}

\begin{tabulary}{\textwidth}{@{}*{1}{l}*{2}{S[table-format=3.2]}@{}}
\toprule
& {incl.\ Ingredients A\tnote{1a}} & {excl.\ Ingredients A\tnote{1b}} \\
\midrule
DDDDDDDDDDD & 36.1 & 22.0\\
GGGGGGGGGGGG & 30.9 & 20.0\\
GGGG\tnote{2} & 33.0 & 22.8\\
OOOO\tnote{2} & 33.766 & 24.643
\\ \bottomrule
\end{tabulary}

\begin{tablenotes}
\item [2] Unweighted Average
\item [] Source: radiowaves from outer space 1999
\end{tablenotes}

\end{threeparttable}
\end{table}



\lipsum[2]



\end{document}

решение1

\tnoteнабирает свой аргумент в поле нулевой ширины, поэтому он не повлияет на набор данных. Этомощьнежелательно в заголовках или описаниях; вы можете добавить команду, которая имитирует работу, \tnoteно использует всю ширину.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabulary}
\usepackage{threeparttable}
\usepackage{array}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{lipsum}
\renewcommand{\arraystretch}{1.2}
\sisetup{round-mode=places,
 round-precision=1,
 add-decimal-zero=true,
 add-integer-zero=true,
 round-integer-to-decimal}

% This is like `\tnote`, but uses the space of the argument    
\newcommand\stnote[1]{\textsuperscript{\TPTtagStyle{#1}}}

\begin{document}

\lipsum[1]

\begin{table}[ht]
\centering
\begin{threeparttable}
\caption{Some long boring caption don't fall asleep 2013}

\begin{tabulary}{\textwidth}{@{} L *{2}{S[table-format=3.2]}@{}}
\toprule
& {incl.\ Ingredients A\stnote{1a}} & {excl.\ Ingredients A\stnote{1b}} \\
\midrule
DDDDDDDDDDD   & 36.1   & 22.0   \\
GGGGGGGGGGGG  & 30.9   & 20.0   \\
GGGG\tnote{2} & 33.0   & 22.8   \\
OOOO\tnote{2} & 33.766 & 24.643 \\
\bottomrule
\end{tabulary}

\begin{tablenotes}
\item [2] Unweighted Average
\item [] Source: radiowaves from outer space 1999
\end{tablenotes}

\end{threeparttable}
\end{table}

\lipsum[2]

\end{document}

введите описание изображения здесь

Обратите внимание, что для того, чтобы сделать что-то разумное, tabularyвам придется добавить как минимум «столбец неопределенной ширины», указанный одним символом из LCRJкаждой, обозначающей желаемое выравнивание в ячейках столбца: выравнивание по левому краю (рваное справа), центрирование, выравнивание по правому краю (рваное слева), по ширине.


Немного другое определение, которое позволяет использовать \stnoteв подписи без его появления в списке таблиц: измените определение \stnoteна

\usepackage{etoolbox}
\makeatletter
\apptocmd{\TPT@begintabbox}{\let\mTPTprint\@firstofone}{}{}
\apptocmd{\threeparttable}{\let\mTPTprint\relax}{}{}
\newcommand\stnote[1]{\protect\mTPTprint{\textsuperscript{\TPTtagStyle{#1}}}}
\newcommand\mTPTprint[1]{}
\makeatother

Связанный контент