tabular/stackengine:如何超出/破坏行或单元格框架

tabular/stackengine:如何超出/破坏行或单元格框架

我有一张表格,其中一些单元格可能在其内容上方包含一个额外的限定符元素。

想象一下在某个时间点的 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

你可以使用\smashed-\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(..)设置来设置堆叠在顶部的内容,最好将其包装在宏中。

相关内容