ConTeXt TABLE 中分组表格单元格中的换行符过多

ConTeXt TABLE 中分组表格单元格中的换行符过多

我在 ConTeXt 中有一个表格。它有固定宽度。第一行有一些分组。我在那里看到了奇怪的额外换行符。我可以说文本完全适合,但还有这个额外的空间。

这是我的代码:

\setuppapersize[A4]

\startdocument


{\bTABLE[width=.2\textwidth]
\bTR \bTD[nc=2]  Vasdasdsa asdasdasdsda asda \eTD \bTD[nc=2] Vasdasdsa asdasdasdsda asda \eTD \eTR
\bTR \bTD sdeefdf \eTD \bTD sdeefdf \eTD \bTD sdeefdf \eTD \bTD sdeefdf \eTD \eTR
\eTABLE}

\stopdocument

以下是我得到的结果: 在此处输入图片描述

为什么会发生这种情况以及如何防止这种情况发生?

我有很多非常复杂的表格,设计精美,色彩鲜艳。我的任务是使用类似 TeX 的标记语言来实现它们,以便批量自动生成 PDF。我尝试使用 LaTeX,但遇到了很多问题。所以我尝试了 ConTeXt,认为它可能更强大。感觉我做错了什么。我以前经常使用 HTML/CSS。使用 CSS 我早就可以实现这个了。

答案1

这是由于 造成的干扰width=0.2\textwidth。我不完全记得 ConTeXt 用于确定表格高度和宽度的算法,但实际情况是,单元格的高度是在nc=2应用 之前计算的(或者在我看来是这样的)。

为了解决这个问题,请width=fit在您指定的单元格中添加(这是默认值)nc=2。因此,以下内容有效(并且当第一行不适合一行时仍可继续正常工作):

\starttext

\bTABLE[width=0.2\textwidth]
\bTR 
  \bTD[nc=2,width=fit] Vasdasdsa asdasdasdsda asda \eTD 
  \bTD[nc=2,width=fit] Vasdasdsa asdasdasdsda asda \eTD 
\eTR
\bTR 
  \bTD sdeefdf \eTD 
  \bTD sdeefdf \eTD 
  \bTD sdeefdf \eTD 
  \bTD sdeefdf \eTD 
\eTR
\eTABLE

\stoptext

相关内容