有什么办法可以将我的内容放入我的单元格内吗?
我尝试过“剪切”第二列的内容并将其放入附加行(我试过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
包的更多可能性和详细信息,请参阅/阅读包文档。