多排垂直定位

多排垂直定位

我无法指定多行内容的垂直位置。以下内容编译正常:

\documentclass{standalone}
\usepackage{booktabs,multirow}
\begin{document}
    \begin{tabular}{p{3cm}ccc}
        \toprule
        \multirow{2}{3cm}{Cat cat cat cat cat cat cat}
        &\multicolumn{3}{c}{Food}\\
        \cmidrule{2-4}
        & A&B&C\\
        \midrule
        D & 123 & 456 & 789\\\addlinespace
        E & 123 & 456 & 789\\\addlinespace
        F & 123 & 456 & 789\\
        \bottomrule
    \end{tabular}
\end{document}

但是当我添加[b]到多行时它就变得混乱了:

\documentclass{standalone}
\usepackage{booktabs,multirow}
\begin{document}
    \begin{tabular}{p{3cm}ccc}
        \toprule
        \multirow[b]{2}{3cm}{Cat cat cat cat cat cat cat}
        &\multicolumn{3}{c}{Food}\\
        \cmidrule{2-4}
        & A&B&C\\
        \midrule
        D & 123 & 456 & 789\\\addlinespace
        E & 123 & 456 & 789\\\addlinespace
        F & 123 & 456 & 789\\
        \bottomrule
    \end{tabular}
\end{document}

根据多行文档语法应该没问题...

答案1

在此处输入图片描述

使用规则booktabs添加一些不能自动补偿的垂直空间,multirow对于类似情况multirow可以手动调整内容位置:

\documentclass[margin=3mm]{standalone}
\usepackage{booktabs,multirow}

\begin{document}
    \begin{tabular}{p{3cm}ccc}
        \toprule
        \multirow{2}{=}[-0.5ex]{Cat cat cat cat cat cat cat}% [-0.tex] is manual adjusting of posititon
          &   \multicolumn{3}{c}{Food}  \\
        \cmidrule{2-4}
          &  A  &  B  &   C             \\
        \midrule
        D & 123 & 456 & 789             \\\addlinespace
        E & 123 & 456 & 789             \\\addlinespace
        F & 123 & 456 & 789             \\
        \bottomrule
    \end{tabular}
\end{document}

答案2

问题出在 周围的垂直填充\cmidrule。您必须对此进行更正。

我建议另一种解决方案,以防您真的不需要p列类型;使用该包,您可以在标准单元格内换行。我编写了一个代码,它给出了与 手动换行makecell相同的结果:\multirowcell

\documentclass[border = 3pt]{standalone}
\usepackage{booktabs,multirow, makecell}

\begin{document}

\begin{tabular}{p{3cm}ccc}
  \toprule
  \multirow[b]{2}{3cm}[-\dimexpr\aboverulesep + \belowrulesep + \cmidrulewidth]{Cat cat cat cat cat cat cat}
    & \multicolumn{3}{c}{Food} \\
  \cmidrule{2-4}%
    & A & B & C \\
  \midrule
  D & 123 & 456 & 789 \\\addlinespace
  E & 123 & 456 & 789 \\\addlinespace
  F & 123 & 456 & 789 \\
  \bottomrule
\end{tabular}
\qquad\renewcommand\cellalign{bl}
\begin{tabular}{lccc}
  \toprule\
  \ & \multicolumn{3}{c}{Food} \\
  \cmidrule{2-4}%
  \multirowcell{-2}{Cat cat cat cat \\ cat cat cat} & A&B&C\\
  \midrule
  D & 123 & 456 & 789 \\\addlinespace
  E & 123 & 456 & 789 \\\addlinespace
  F & 123 & 456 & 789 \\
  \bottomrule
\end{tabular}

\end{document} 

在此处输入图片描述

相关内容