多列未利用 xltabular 中的所有可用空间

多列未利用 xltabular 中的所有可用空间

我有一张包含多列的表格。使用\multicolumn一次后,一切正常。

但是,当使用\multicolumn两次且具有不同的列col值时,文本不会占据所有可用宽度。

请参阅下面的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xltabular}

\title{xltabular}
\author{stephan.hug }
\date{January 2023}

\begin{document}

\maketitle

\section{Introduction}

\begin{xltabular}{\linewidth}{|l|l|l|l|c|l|}
1 & 2 & 3 & 4 & 5 & 6 \\
\hline

% Comment/uncomment the line below to observer strange behaviour regarding the filling of all the available horizontal space
\multicolumn{3}{|X|}{foo bar} & Lead &  & \\

\hline

1 & \multicolumn{4}{|X|}{\textbf{a asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf )}
} & 6 \\

\end{xltabular}

\end{document}

我还附加了显示该行为的屏幕截图:

在第一个屏幕截图中,多列按预期工作并占据所有可用宽度。 按预期使用所有可用宽度的多列

在此截图中,您可以看到我取消了前一行多列的注释,现在第二个多列命令没有占据所有可用空间。 多列不使用所有可用宽度

答案1

longtblrtabularray可能是一个解决方案。您需要添加hspan=minimum列规范才能X工作

\documentclass{article}
\usepackage{tabularray}
\usepackage[nopar]{kantlipsum}

\title{xltabular}
\author{stephan.hug }
\date{January 2023}


\begin{document}
\maketitle
\section{Introduction}

\begin{longtblr}[
    caption = {The caption},
  ]{
    colspec = {*2{Q[l]} X Q[l] Q[c] Q[l]},
    hspan = minimal,
    vlines, hlines,
  }
  1 & 2 & 3 & 4 & 5 & 6 \\
  \SetCell[c=3]{}foo bar & & & Lead & & \\
  1 & \SetCell[c=4]{halign=j,font=\bfseries} \kant[1][1] & & & & 6 \\
\end{longtblr}
\end{document}

在此处输入图片描述

如果您更喜欢使用左对齐,请考虑在行中添加\RaggedRight(来自包)ragged2e

1 & \SetCell[c=4]{font=\bfseries} \RaggedRight\kant[1][1] & & & & 6 \\

这将改善排版。

相关内容