如何将三部分表格中的表格注释居中

如何将三部分表格中的表格注释居中

给定三部分表

\documentclass{scrartcl}

\usepackage{booktabs,threeparttable}

\begin{document}

\begin{table}[htb]
    \centering
    \begin{threeparttable}
        \caption{caption}
        \begin{tabular}{lll}
            \toprule
            abc &   def &   ghi     \\ \midrule
            abc1    &   def1    &   ghi1    \\ \bottomrule
        \end{tabular}
        \begin{tablenotes}
            \item Source: xyz
        \end{tablenotes}
    \end{threeparttable}    
\end{table}

\end{document}

我怎样才能使表格注释(或单个项目,如果这更容易的话)居中,以便表格注释与表格标题水平对齐?

答案1

如果您不使用\tnote指令,并且环境中只有一行tablenotes,那么您基本上就是在误用(实际上是滥用)threeparttable机器的一个关键部分。不要这样做。在这种情况下,只需在环境\centering后面的行之前立即发出指令tabular即可实现您的格式化目标。

如果您确实有一个或多个\tnote指令,我建议您threeparttable使用选项加载该包flushleft

以下屏幕截图和相关的 LaTeX 代码探讨了这两种可能性。

在此处输入图片描述

\documentclass{scrartcl}

\usepackage{booktabs}
\usepackage[flushleft]{threeparttable}
\renewcommand{\TPTtagStyle}{\itshape}

\begin{document}

\begin{table}[htb] 
    \centering
    \begin{threeparttable} % Case 1: no '\tnote' directives
        \caption{Caption}
        \begin{tabular}{@{}lll@{}}
            \toprule
            abc     &   def     &   ghi     \\ \midrule
            abcde1  &   defgh1  &   ghijk1  \\ \bottomrule
        \end{tabular}

        \smallskip\footnotesize\centering % <-- note the '\centering' directive
        Source: xyz
    \end{threeparttable}    

    \bigskip\bigskip

    \begin{threeparttable} % Case 2: with '\tnote' directives
        \caption{Caption}
        \begin{tabular}{@{}lll@{}}
            \toprule
            abc     &   def     &   ghi\tnote{a} \\ \midrule
            abcde1  &   defgh1  &   ghijk1       \\ \bottomrule
        \end{tabular}

        \smallskip
        \begin{tablenotes}
        \footnotesize
        \item[a] Source: xyz
        \end{tablenotes}
    \end{threeparttable}    
\end{table}

\end{document}

相关内容