我正在使用threeparttable
和tablenotes
包来为表格创建脚注。我发现,要获得我想要的设计(悬挂符号,而不是上标),我可以简单地使用选项para
并手动输入脚注,而不是使用常规\item[]
语法。但是,这样做会在符号和文本之间产生一些奇怪的空格(即使我用括号括起来,或者使用非常短的文本行)。在mbox
注释周围放置一个可以解决问题,但文本超出了表格宽度。在pbox
它周围放置一个也不能解决问题。
我很好奇为什么会发生这种情况,以及可能有什么简单的解决方案。请参阅下面的图片和代码以获取解释。
平均能量损失
\documentclass{scrartcl}
\usepackage{booktabs}
\usepackage[para]{threeparttable}
\usepackage{tablefootnote}
\renewcommand{\TPTnoteSettings}{\footnotesize}
\newcommand{\tabfnote}[2]{\llap{#1. }#2}
\begin{document}
\begin{table}[tbph]
\begin{threeparttable}[t]
\begin{tabular}{ll} \toprule
Alpha & Beta \\
Gamma & Delta \\ \bottomrule
\end{tabular}
\begin{tablenotes}
\tabfnote{a}{Why is there space above?}\\
\tabfnote{b}{But not above this one...}\\
\tabfnote{c}{Or this one}
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
答案1
vertical mode
在 的最开始处发生了一些事情tablenotes
,我不太明白,但\leavevmode
在 的定义开头添加\tabfnote
可以解决问题:
\documentclass{scrartcl}
\usepackage{booktabs}
\usepackage[para]{threeparttable}
\usepackage{tablefootnote}
\renewcommand{\TPTnoteSettings}{\footnotesize}
\newcommand{\tabfnote}[2]{\leavevmode\llap{#1. }#2}
\begin{document}
\begin{table}[tbph]
\begin{threeparttable}[t]
\begin{tabular}{ll} \toprule
Alpha & Beta \\
Gamma & Delta \\ \bottomrule
\end{tabular}
\begin{tablenotes}
\tabfnote{a}{Why is there space above?}\\
\tabfnote{b}{But not above this one...}\\
\tabfnote{c}{Or this one}
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}