我用它threeparttable
来向表格中添加表格注释tabu
*。一个常见的用例是在单元格末尾添加注释。但是,如果注释未添加到单元格的最后一个单词,则后面的空间将被吞噬。
可以\hspace
在注释后面添加一个,如第三行所示。此外,作为全局解决方法,可以在\tnote
命令的定义中添加一个空格:
\renewcommand{\tnote}[1]{\protect\TPToverlap{\textsuperscript{\TPTtagStyle{#1}}}~}%
\footnote
前一种解决方案在某种程度上是可以接受的,而后一种解决方案则有点老套。有没有更好的方法来实现不是吞咽空间?
\documentclass{article}
\usepackage{booktabs}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{xpatch}
\makeatletter
\chardef\TPT@@@asteriskcatcode=\catcode`*
\catcode`*=11
\xpatchcmd{\threeparttable}
{\TPT@hookin{tabular}}
{\TPT@hookin{tabular}\TPT@hookin{tabu}}
{}{}
\catcode`*=\TPT@@@asteriskcatcode
\makeatother
\begin{document}
\centering
\begin{threeparttable}
\begin{tabu} to .4\textwidth {XX}
a & b\tnote{*} and c \\\toprule
1 & {2\tnote{*}}{~and 3} \\
4 & 5\tnote{*}\hspace{1.5ex}and 6 \\\bottomrule
\end{tabu}
\begin{tablenotes}
\footnotesize
\item[*] The table note.
\end{tablenotes}
\end{threeparttable}
\end{document}
(*)这得益于@egreg 的补丁。
答案1
threeparttable
定义\tnote
使得它所排版的符号不会影响单元格的宽度,这就是 的含义\TPToverlap
。
我建议保持\tnote
原样(对于出现在单元格文本末尾的注释)并定义
\newcommand{\mtnote}[1]{\textsuperscript{\TPTtagStyle{#1}}}
为“中调”。