由于内容超出了最后一列的单元格,导致得到的 3 列不一致?

由于内容超出了最后一列的单元格,导致得到的 3 列不一致?

有什么办法可以将我的内容放入我的单元格内吗?

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

相关内容