我在 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