In the environment {NiceTabular}
of nicematrix
, you have a command \Block
to merge cells both vertically and horizontally. The content of the block is placed at the mathematical center of the block. That means that, when you want to merge vertically (as in your example), you have to specify the number of logical rows (and not the number of physical lines as with \multicolumn
).
However, there is no {NiceTabularX}
environment (maybe in a further version). That means that you have to compute "by hand" the width of the third column.
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\begin{document}
\begin{table}[]
\centering
\begin{NiceTabular}{P{1.5cm}P{2.6cm}P{\dimexpr \linewidth -4.1cm - 6 \tabcolsep}}
\toprule
\textbf{Method} & \textbf{Frame} & \textbf{Headline} \\
\midrule
\Block[l]{3-1}{mylabel}& sometext (some information) & this is text that is somewhat longer than the first two columns \\
& sometext (some information) & this is text that is somewhat longer than the first two columns. it's also longer than the text in the first column. much much much much much much much much longer actually! \\
& sometext (some information) & this is text that is somewhat longer than the first two columns \\
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}
You need several compilations (because nicematrix
uses PGF/Tikz nodes under the hood).

You can put \\
in the command \Block
. Example:
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\begin{document}
\begin{table}[]
\centering
\begin{NiceTabular}{P{1.5cm}P{2.6cm}P{\dimexpr \linewidth -4.1cm - 6 \tabcolsep}}
\toprule
\textbf{Method} & \textbf{Frame} & \textbf{Headline} \\
\midrule
\Block[l]{3-1}{mylabel\\ 2nd line}& sometext (some information) & this is text that is somewhat longer than the first two columns \\
& sometext (some information) & this is text that is somewhat longer than the first two columns. it's also longer than the text in the first column. much much much much much much much much longer actually! \\
& sometext (some information) & this is text that is somewhat longer than the first two columns \\
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}

If you want automatic break lines in the \Block
, you have to put a \parbox
in the block (with the right width: maybe this will automated in a further version of nicematrix
).
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\begin{document}
\begin{table}[]
\centering
\begin{NiceTabular}{P{1.5cm}P{2.6cm}P{\dimexpr \linewidth -4.1cm - 6 \tabcolsep}}
\toprule
\textbf{Method} & \textbf{Frame} & \textbf{Headline} \\
\midrule
\Block[l]{3-1}{\parbox{1.5cm}{some text, other text, other text}}& sometext (some information) & this is text that is somewhat longer than the first two columns \\
& sometext (some information) & this is text that is somewhat longer than the first two columns. it's also longer than the text in the first column. much much much much much much much much longer actually! \\
& sometext (some information) & this is text that is somewhat longer than the first two columns \\
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}
