多行表中嵌套单元格的垂直对齐

多行表中嵌套单元格的垂直对齐

这是我目前想到的:

在此处输入图片描述

我试图让右列垂直居中在父行上,例如包含“Puffer”的单元格,这样就不会影响前面的列。我在这里并不想要固定长度,因为我只想要一个项目列表。

不幸的是,它总是与顶部对齐,并且似乎只在多行单元格中的第一个单元格内呈现,这会破坏整个设计。

我已经尝试过使用 stack 和 itemize,但是我似乎错过了一些更基本的东西。

希望有人能帮助我,因为我无法在任何地方找到合适或可理解的解决方案。

\documentclass[12pt,a4paper]{article}
\usepackage[a4paper,lmargin={2.5cm},rmargin={2.5cm},tmargin={3cm},bmargin={2.5cm}]{geometry}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman, english]{babel} 

\usepackage{makecell}
\usepackage[table]{xcolor}
\usepackage{multirow}

\newcommand{\arr}{$\rightarrow$ }

\usepackage{array}
\usepackage{enumitem}
\usepackage{latexsym}
\usepackage{caption}


\begin{document}

\begin{table}[ht]
\centering
%\rowcolors{2}{gray!25}{white}
\begin{tabular}[c]{|c|c|c|}\cline{3-3}
\multicolumn{2}{c|}{\multirow{1}{*}{}}&\multicolumn{1}{c|}{Inhalt}\\\cline{3-3}
\hline
\multicolumn{1}{|c|}{
                    \multirow{4}{*}{12/2020}}&
                    1. Woche&
                    \multicolumn{1}{|c|}{\multirow{3}{*}{
                    
                    \makecell{\arr Test \\ \arr Test}
                    }}\\\cline{2-2}&
                    2. Woche&
                    \multicolumn{1}{|c|}{}\\\cline{2-3}&
                    3. Woche&
                    \multicolumn{1}{|c|}{\multirow{2}{*}{\arr Puffer}}\\\cline{2-2}&
                    4. Woche&
                    \multicolumn{1}{|c|}{}\\
                    \hline
\end{tabular}
\end{table}

\end{document}

更新:

我添加了@Bernard 的简化版本,并添加了更多文本,以查看它是否仍能正确对齐。代码:

\begin{table}\setlength{\extrarowheight}{2pt}
    \begin{tabular}{|c|c|l|}\cline{3-3}
    \multicolumn{2}{c|}{\multirow{1}{*}{}}&\multicolumn{1}{c|}{Inhalt}\\\cline{3-3}
    \hline
                        \multirow{4}{*}{12/2020} & 
                        1. Woche &
                       \multirowcell{2}{\arr Prepare samples \\[2pt] \arr Implement Feedback}
                       \\\cline{2-2}&
                        2. Woche &
                        \\ \cline{2-3}&
                        3. Woche & \multirow{2}{*}{\arr Puffer} \\\cline{2-2}&
                        4. Woche & \\
                        \hline
    \end{tabular}
\end{table}

结果是: 3 列表格,第一列为全高,第 2 列和第 3 列嵌套 4 行

答案1

我建议使用这个更简单的代码,右列左对齐(列标题除外):

\begin{table}\setlength{\extrarowheight}{2pt}
    \begin{tabular}{|c|c|l|}\cline{3-3}
    \multicolumn{2}{c|}{\multirow{1}{*}{}}&\multicolumn{1}{c|}{Inhalt}\\\cline{3-3}
    \hline
                        \multirow{4}{*}{12/2020} & %}&
                        1. Woche &
                       \multirowcell{2}{\arr Test \\[2pt] \arr Test}
                       \\\cline{2-2}&
                        2. Woche&
                        \\ \cline{2-3}&
                        3. Woche & \multirow{2}{*}{\arr Puffer} \\\cline{2-2}&
                        4. Woche & \\
                        \hline
    \end{tabular}
\end{table}

在此处输入图片描述

编辑:对于较长的项目,代码按预期工作:

\setlength{\extrarowheight}{2pt}
    \begin{tabular}{|c|c|l|}\cline{3-3}
    \multicolumn{2}{c|}{\multirow{1}{*}{}}&\multicolumn{1}{c|}{Inhalt}\\
    \hline
                        \multirow{4}{*}{12/2020} &
                        1. Woche &
                       \multirowcell{2}[0pt][l]{\arr Prepare samples\\ 
                       \arr Implement Feedback
                       }
                       \\\cline{2-2}&
                        2. Woche&
                        \\ \cline{2-3}&
                        3. Woche & \multirow{2}{*}{\arr Puffer} \\\cline{2-2}&
                        4. Woche & \\
                        \hline
    \end{tabular}

在此处输入图片描述

答案2

看起来你想要\arr Test\\ \arr Test占据三行。如果是这样,你需要让1. Woche2. Woche占据两行。

\documentclass{article}
\usepackage{multirow}
\usepackage{makecell}
\newcommand{\arr}{$\rightarrow$ }

\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{|c|c|c|}
\cline{3-3}
  \multicolumn{2}{c|}{} & \multicolumn{1}{c|}{Inhalt}\\
\hline
  \multirow{5}{*}{12/2020} & \multirow{2}{*}{1. Woche}
    & \multirowcell{3}{\arr Test\\ \arr Test} \\
  & &\\
\cline{2-2}
  & 2. Woche &\\
\cline{2-3}
  & 3. Woche & \multirow{2}{*}{\arr Puffer}\\
\cline{2-2}
  & 4. Woche &\\
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容