如何使表格中的长文本自动换行和分段?

如何使表格中的长文本自动换行和分段?

我正在尝试制作一个表格,其中几列包含长文本,或者至少有多行文本,但似乎无法弄清楚。

我尝试使用 p{width}、tabularx 和 \makecell,但每个方法都有问题。\makecell 似乎很理想,因为我可以在需要时添加新行。但是,当需要时,它似乎不会自动换行。相反,tabularx 和 p{width} 会自动换行,但不允许在单元格内手动分段。

\begin{center}
\begin{tabularx}{\linewidth}{ | X | X | X | X |}
  \hline
  \thead{Heading.} & \thead{Heading} & \thead{Heading} & \thead{Heading} \\
  \hline
  S1 &  \makecell[cl]{Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text .  More text text text text. More text text text text text text}  & Text text text & lots of words here, maybe some loooooooooooong words \\
  \hline
\end{tabularx}
\end{center}

得到下面的图像: 编译代码

我大致描述了我在 Word 中想要实现的功能,并将其附加在此处。在列中使用 \vspace 结合 tabularx 有点效果,但似乎将空间放在了随机位置。

示例表

我不介意长文本最终变成一列狭窄的文本,每行只有几个单词,本质上我只是需要能够在段落/行之间插入空格。如果有简单的解决方案,请原谅,我以前从未做过这样的事情。我是否遗漏了这些命令的某些内容,或者是否有一种优雅的方法来实现它?

答案1

你可以模仿这样的段落:

\documentclass{article}

\usepackage{tabularx}
\usepackage{makecell}

\begin{document}

\begin{center}
\begin{tabularx}{\linewidth}{ | X | X | X | X |}
  \hline
  \thead{Heading.} & \thead{Heading} & \thead{Heading} & \thead{Heading} \\
  \hline
  S1 &  Text Text Text Text\medskip\newline  Text Text Text Text Text Text Text Text Text Text Text Text.  More text text text text. More text text text text text text  & Text text text & lots of words here, maybe some loooooooooooong words \\
  \hline
\end{tabularx}
\end{center}

\end{document}

使用该包的替代方法tabularray

\documentclass{article}

\usepackage{tabularray}

\begin{document}

\begin{center}
\begin{tblr}{
  colspec={| X | X | X | X[l] |},
  hlines,
  row{1}={halign=c}
}
  Heading. & Heading & Heading & Heading \\
  S1 &  Text Text Text Text\medskip\par  Text Text Text Text Text Text Text Text Text Text Text Text.\medskip\par  More text text text text. More text text text text text text  & Text text text & lots of words here, maybe some loooooooooooong words \\
\end{tblr}
\end{center}

\end{document}

相关内容