\multirow 调整合并行的高度

\multirow 调整合并行的高度


我正在尝试创建一个表格,表格的单元格中几乎都是文本。有些单元格是合并的(\multirow)。合并后的单元格,行高不会自动调整,文本会溢出上面的单元格。
有没有解决方案可以根据多行下的文本量自动调整高度?
提前谢谢
。Lenny
错误

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{array} % for tables
\usepackage{tabularx}% for tables  
\usepackage{multirow}
\begin{document}

\begin{center}
\begin{tabularx}{1\textwidth} {
  |p{\dimexpr.15\linewidth-2\tabcolsep-1.3333\arrayrulewidth}% column 1
  |p{\dimexpr.2\linewidth-2\tabcolsep-1.3333\arrayrulewidth}% column 2
  |p{\dimexpr.325\linewidth-2\tabcolsep-1.3333\arrayrulewidth}% column 3
  |p{\dimexpr.325\linewidth-2\tabcolsep-1.3333\arrayrulewidth}|% column 4
  }
\hline
 Cell1 & Cell2 & Cell3 & Cell4 \\
\hline
Lorem ipsum dolor sit  & 
amet, consectetur adipiscing &
\multirow{2}{=}{elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur} 

& \multirow{2}{=}{Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium} \\ \cline{1-2}  

aspernatur aut odit aut fugit  & sed quia consequuntur magni &   &  \\ 
\hline

 numquam eius modi  & tempora incidunt ut labore & Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?Quis autem vel eum iure reprehenderit qui in & ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?  \\ 
\hline
\end{tabularx}
\end{center}

\end{document}]```

答案1

如果单元格中的文本较长,最好将单元格内容与表格布局分开,以便更好地显示后者。本例中使用了 10 个单元格。

包含最长文本的单元格将占据表格布局的主导地位,因此我们首先在多行单元格中添加第 1 行第 3 列,并进行顶部对齐。

由于宽度分配给第 3 列,因此会创建 15 条线,因此需要下方的 14 个空单元格。

因此,我们用\multirow[t]{15}{=}{\ciii}来填充此单元格。第 4 列第 1 行的单元格也类似。

现在我们必须决定如何划分第 1 列中的 15 行以添加两个 3 行单元格。我们为顶部单元格选择 7 行,为底部单元格选择 8 行。第 2 列使用相等的排列。

为了完成表格的第三行,我们重复相同的步骤,从第 2 列的第二个单元格开始,包含 9 行文本。

A

% !TeX TS-program = pdflatex

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{array} % for tables
\usepackage{multirow}
\usepackage{calc}

\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1\textwidth-2\tabcolsep-1.5\arrayrulewidth}}

\begin{document}        
    
%% Define the cell contents 
\newcommand{\ci}{Lorem ipsum dolor sit}
\newcommand{\cii}{amet, consectetur adipiscing}
\newcommand{\ciii}{elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur}
\newcommand{\civ}{Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum ed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium}
\newcommand{\cv}{aspernatur aut odit aut fugit}
\newcommand{\cvi}{sed quia consequuntur magni}
\newcommand{\cvii}{numquam eius modi}
\newcommand{\cviii}{tempora incidunt ut labore}
\newcommand{\cix}{Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in}    
\newcommand{\cx}{a voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?}    

% Table layout

\begin{tabular}{| P{.15}| P{.20}| P{.325}| P{.325}|}
    \hline
    Cell1                     & Cell2                      & Cell3                      & Cell4                     \\ \hline
    \multirow[t]{7}{=}{\ci}   & \multirow[t]{7}{=}{\cii}   & \multirow[t]{15}{=}{\ciii} & \multirow[t]{15}{=}{\civ} \\ % #1
                              &                            &                            &                           \\ % #2
                              &                            &                            &                           \\ % #3
                              &                            &                            &                           \\ % #4
                              &                            &                            &                           \\ % #5
                              &                            &                            &                           \\ % #6
                              &                            &                            &                           \\ \cline{1-2} % #7
    \multirow[t]{8}{=}{\cv}   & \multirow[t]{8}{=}{\cvi}   &                            &                           \\ % #8
                              &                            &                            &                           \\ % #9
                              &                            &                            &                           \\ % #10
                              &                            &                            &                           \\ % #11
                              &                            &                            &                           \\ % #12
                              &                            &                            &                           \\ % #13
                              &                            &                            &                           \\ % #14
                              &                            &                            &                           \\ \hline  % #15
    \multirow[t]{9}{=}{\cvii} & \multirow[t]{9}{=}{\cviii} & \multirow[t]{9}{=}{\cix}   & \multirow[t]{9}{=}{\cx}   \\  % #1
                              &                            &                            &                           \\ 
                              &                            &                            &                           \\ 
                              &                            &                            &                           \\ 
                              &                            &                            &                           \\ 
                              &                            &                            &                           \\ 
                              &                            &                            &                           \\
                              &                            &                            &                           \\
                              &                            &                            &                           \\ \hline  % #9
\end{tabular}
    
\end{document}

相关内容