我正在尝试制作一个表格,其中几列包含长文本,或者至少有多行文本,但似乎无法弄清楚。
我尝试使用 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}