给定三部分表
\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}