我有一张表格,其中一些单元格可能在其内容上方包含一个额外的限定符元素。
想象一下在某个时间点的 3 栋房子及其主人。一些主人可能与之前的主人有亲属关系,如下例所示。
梅威瑟:
\documentclass{article}
\usepackage{stackengine}
\begin{document}
\begin{tabular}{rccc}
Year & 1 & 2 & 3 \\
\hline
1810 & John Doe & John Deere & John Denver \\
1820 & & & \\
1830 & & \stackon{James Deere}{\tiny{(son)}} & \\
1840 & \stackon{Jane Doe}{\tiny{(daughter)}} & & \\
1850 & & & Jack Johnson \\
\end{tabular}
\end{document}
如您所见,这会导致行的高度不同。我希望关系限定符能够延伸到其行之外并进入上一行。我宁愿不将它们放在实际的上方单元格中。
我如何实现这个目标?
答案1
你可以使用\smash
ed-\stack
构造on
:
\documentclass{article}
\usepackage{stackengine}
\let\oldstackon\stackon
\renewcommand{\stackon}[2]{\strut\smash{\oldstackon{#1}{\tiny(#2)}}}
\begin{document}
\begin{tabular}{ r ccc }
Year & 1 & 2 & 3 \\
\hline
1810 & John Doe & John Deere & John Denver \\
1820 & & & \\
1830 & & \stackon{James Deere}{son} & \\
1840 & \stackon{Jane Doe}{daughter} & & \\
1850 & & & Jack Johnson \\
\end{tabular}
\end{document}
我已经针对您的用例介绍了一些一致性注意事项。如果您总是使用\tiny(..)
设置来设置堆叠在顶部的内容,最好将其包装在宏中。