我正在使用 TABLE 设计地图图例。第一行合并单元格时我遇到了麻烦。当我使用此代码时,一切都按预期运行:
\starttext
%\setupTABLE[column][1,3][width=3em,align={middle,lohi}]
\setupTABLE[column][2,4][width=0.42 \textwidth,align=lohi]
\setupTABLE[row][first][align=flushleft]
\bTABLE
\bTR \bTH[nc=2] I. My first part \eTH \bTH[nc=2] II. My second part\eTH \eTR
\bTR \bTD sqr \eTD \bTD some text \eTD \bTD sqr \eTD \bTD some text \eTD \eTR
\eTABLE
但是,如果我取消注释第 1 列和第 3 列的设置行,我的第一行就会出现意外的、不需要的大垂直空格。
\starttext
\setupTABLE[column][1,3][width=3em,align={middle,lohi}]
\setupTABLE[column][2,4][width=0.42 \textwidth,align=lohi]
\setupTABLE[row][first][align=flushleft]
\bTABLE
\bTR \bTH[nc=2] I. My first part \eTH \bTH[nc=2] II. My second part\eTH \eTR
\bTR \bTD sqr \eTD \bTD some text \eTD \bTD sqr \eTD \bTD some text \eTD \eTR
\eTABLE
我不明白为什么。删除对齐选项不会改变任何东西。我该怎么办?这种意外行为从何而来?
答案1
我不知道第一行的高度计算会发生什么,但你可以强制一些合理的值,例如4ex
:
\starttext
\setupTABLE[column][1,3][width=3em,align={middle,lohi}]
\setupTABLE[column][2,4][width=0.42 \textwidth,align=lohi]
\setupTABLE[row][first][align=flushleft,height=4ex]
\bTABLE
\bTR \bTH[nc=2] I. My first part \eTH \bTH[nc=2] II. My second part\eTH \eTR
\bTR \bTD sqr \eTD \bTD some text \eTD \bTD sqr \eTD \bTD some text \eTD \eTR
\eTABLE
\stoptext
编辑
当然,您可以切换到xtables
更好地计算表的大小:
\startxtable[option=stretch]
\startxtablehead
\startxrow
\startxcell[nx=2] I. My first part \stopxcell
\startxcell[nx=2] II. My second part \stopxcell
\stopxrow
\stopxtablehead
\startxtablebody
\startxrow
\startxcell[width=3em,align={middle,lohi}] sqr \stopxcell
\startxcell[width=.4\textwidth] sometext \stopxcell
\startxcell[width=3em,align={middle,lohi}] sqr \stopxcell
\startxcell[width=.4\textwidth] sometext \stopxcell
\stopxrow
\stopxtablebody
\stopxtable