×

footnote of tables in LaTeX (svjour)

96
iMark
2017.07.14 20:41* 字数 547

本文针对 svjour 的文档类

使用 \documentclass[epj]{svjour} 写作,文中有一个小的表格,这个表格在使用 REVTeX 处理的时候是一点问题都没有的。这个表格中包含数学符号、引文标记、注释等三项特殊格式。首先,数学符号没什么好说的,直接使用 amsmath 宏包就能够写了,表格中出现数学符号是再正常不过的事情了,所以没什么好担心的的。其次,引文标记使用 \cite 就可以了,这个在 REVTeX 和 svjour 中的处理方式是完全一样的。最后,特别烦人的一个新问题,REVTeX 中注释的写法在 svjour 中是不起作用的,虽然在表格中会有上标出来,但是并没有对应的注释出现在表格下方。

在 REVTeX 中,对应的代码是:

\begin{table}[h]
\caption{\label{tab:mat}
Elastic properties of materials in this section.}
\begin{ruledtabular}
\begin{tabular}{clccc}
label & material & $\rho~(kg/ m^3$) & $c_l~(m/s$) \footnote{longitudinal wave speed}& $c_t~(m/s$) \footnote{transverse wave speed}\\
\hline
1  & Epoxy & 1142 & 2655 & 1176 \\
2  & $\mathrm{Al_2O_3}$ & 3970 & 10844 & 6421 \\
3  & Au \cite{ZhaoPRB2005}& 19500 & 3360 & 1239 \\
4  & Steel \cite{ZhaoPRB2005}& 7890 & 5780 & 3220 \\
\end{tabular}
\end{ruledtabular}
\end{table}

生成的结果是:

数学符号、引文、注释 一应俱全

可是把同样的代码使用 svjour 来编译的时候却不能得到注释,在网上查阅了相关内容发现要解决这个问题需要使用 threeparttable 这个宏包。可是问题就在于如果引用了这个宏包,会把文章的第一页变成一个空白页(但是有页码),而第二页的顶端出现了一些内容的重合。并且注释的问题仍然不能解决。

使用 \footnotemark

\begin{table}[h]
\caption{\label{tab:mat}
Elastic properties of materials in this section.}
\begin{tabular}{clccc}
\hline
label & material & $\rho~(kg/ m^3$) & $c_l~(m/s$) \footnotemark[1]& $c_t~(m/s$) \footnotemark[2]\\
\hline
1  & Epoxy & 1142 & 2655 & 1176 \\
2  & $\mathrm{Al_2O_3}$ & 3970 & 10844 & 6421 \\
3  & Au \cite{ZhaoPRB2005}& 19500 & 3360 & 1239 \\
4  & Steel \cite{ZhaoPRB2005}& 7890 & 5780 & 3220 \\
\hline
\end{tabular}
\footnotetext[1] 01. $c_l$: longitudinal wave speed;
\footnotetext[2] 02. $c_t$: transverse wave speed
\end{table}

这里面哟个需要注意的地方就是 \footnotetext 后面的内容,他会直接忽略所写内容里面的第一个非空字符,因此我在这些注释的前面都加了一个0,用以保护后面的注释内容,其实可以换成其他任何非空字符的。

虽然 TeXWiKi 里面说 footnote 在Table 中不好用,但是我编译成功并没有任何警告。

svjour 的结果

最后的结果还算是满意的。


需要注意的地方:

svjour 的文档类里面的表格注释使用上标 1,2,3...等来标记,不能使用 字母

LaTeX
Web note ad 1