![由于内容超出了最后一列的单元格,导致得到的 3 列不一致?](https://linux22.com/image/452884/%E7%94%B1%E4%BA%8E%E5%86%85%E5%AE%B9%E8%B6%85%E5%87%BA%E4%BA%86%E6%9C%80%E5%90%8E%E4%B8%80%E5%88%97%E7%9A%84%E5%8D%95%E5%85%83%E6%A0%BC%EF%BC%8C%E5%AF%BC%E8%87%B4%E5%BE%97%E5%88%B0%E7%9A%84%203%20%E5%88%97%E4%B8%8D%E4%B8%80%E8%87%B4%EF%BC%9F.png)
有什么办法可以将我的内容放入我的单元格内吗?
我尝试过“剪切”第二列的内容并将其放入附加行(我试过makecell
),这样内容就会保留在单元格中。但对于最后一列,内容超出了单元格的范围。那么为什么最后一列的宽度不会自动增加,尤其是当有空间可以增加宽度且内容仍保留在单元格内时?!
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{makecell}
\begin{document}
\begin{table}[htb]
\begin{tblr}{hlines={blue}, vlines={blue},
colspec = {*{3}{X[l]}},
row{1} = {c, font=\bfseries, fg=white, bg=blue},
row{even} = {bg=blue!10}
}
XXXXXXXX & \makecell{XXXXXXXXXX\\ XX} & [email protected]\\
XXXXXXXX & \makecell{XXXXXXXXXX\\ XX} & [email protected]\\
XXXXXXXX & \makecell{XXXXXXXXXX\\ XX} & [email protected]\\
XXXXXXXX & \makecell{XXXXXXXXXX\\ XX} & [email protected]\\
\end{tblr}
\end{table}
\end{document}
答案1
您应该意识到,把大象放进梨子里是不可能的 :-(。所以,您应该非常非常小心,在表格中放什么,以及单元格内容最终如何分成更多行。我们无法为您做到这一点,因为我们没有关于您的文档及其所需设计的任何信息。
可能的解决方案之一可以基于:
- 增加
\textwidth
(使用包geometry
) - 减小字体大小,例如
\footnotesize
- 至少在一列中可以将文本分成几行
一个例子:
\documentclass{article}
\usepackage{geometry}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{table}[htb]
\small % \footnotesize
\begin{tblr}{hlines={blue}, vlines={blue},
colspec = {l X[0.8, l] X[1.2, l]},
colsep=3pt,
row{1} = {c, font=\bfseries, fg=white, bg=blue},
row{even} = {bg=blue!10}
}
XXXXXXXX & XXXXXX XXXXXXX XXXXX & [email protected]\\
XXXXXXXX & XXXXXXXXX XXXXXXXXX & [email protected]\\
XXXXXXXX & XXXXXXXXX XXXXXXXXX & [email protected]\\
XXXXXXXX & XXXXXX XXXXXXXXXXXX & [email protected]\\
\end{tblr}
\end{table}
\end{document}
以上 MWE 产生:
笔记:
有关tabularray
包的更多可能性和详细信息,请参阅/阅读包文档。