Разрывы строк внутри многострочных ячеек не увеличивают размер ячейки.

Разрывы строк внутри многострочных ячеек не увеличивают размер ячейки.

У меня есть несколько длинных строк в таблице, и я использую \makecellдля добавления разрывов строк. Обычно это работает нормально (центрирует текст по вертикали и расширяет ячейку, чтобы вместить), но мне это нужно внутри многострочного, и ячейка не расширяется, чтобы вместить текст. Ниже приведен MWB, показывающий поведение вместе с выводом.

Я пробовал использовать табличную среду внутри и снаружи многострочного, но не смог заставить это работать. Я также пробовал использовать {c|p{2cm}|c|c|}и указывать ширину столбца в команде многострочного. Одна вещь, которая сработала, — указание высоты каждой строки с помощью \\[8pt], но тогда текст не центрируется по вертикали.

В идеале я хотел бы решение, в котором размеры ячеек автоматические, и мне нужно только вручную указать разрывы строк, но подойдет любое решение. Вторая картинка — это вывод, который я хочу (сделан в Excel).

\documentclass{article}

\usepackage{multirow}
\usepackage{makecell}

\begin{document}

\begin{table}
    \centering
    \begin{tabular}{|c|c|c|c|}
        \hline
        \multirow{2}{*}{\makecell{Line 1\\Line 2}} & \multirow{2}{*}{\makecell{Line 1\\Line 2\\Line 3}} & \multicolumn{2}{c|}{Wide Line}  \\
        \cline{3-4}
         & & A & B \\
        \hline
    \end{tabular}
\end{table}

\end{document}

Вывод из минимального рабочего примера Идеальный результат

решение1

С tabularray:

\documentclass{article}
\usepackage{tabularray}

\begin{document}

\begin{table}
    \centering
    \begin{tblr}{colspec={*4c}, vlines, hlines, hspan=even, vspan=even}
        \SetCell[r=2]{c}{Line 1\\Line 2} & \SetCell[r=2]{c}{Line 1\\Line 2\\Line 3} & \SetCell[c=2]{c}{Wide Line} & \\
        & & A & B \\
    \end{tblr}
\end{table}

\end{document}

введите описание изображения здесь

Связанный контент