我的行内的胶水\halign
没有按应有的方式减少。内容\halign
表现得好像它们有无限的水平空间。
这是第一个表的源代码(它非常冗长,因为我必须扩展我定义的大多数宏以使它在我自己的文件中更小):
{
\offinterlineskip
\vfil
\vbox{%
\halign{%
% Preamble
#
\aligntab
\hbox to 0.8cm{#}
\aligntab
\hskip 0.2em{#}\hskip 5mm minus 5mm
\aligntab
\LightFont{#}\hskip 5mm minus 5mm
\aligntab
\LightFont{#}
\cr
%
\multispan5{\hbox to 5.6cm{}} \cr
\vrule height2ex depth3pt width0pt
\aligntab
\aligntab
\multispan3\Mot{CG}\hfilll
\cr
\aligntab \aligntab \multispan3\leaders\hrule\hfil \cr
\vrule height2ex depth3pt width0pt
\aligntab
\Num{5909}
\aligntab
Levorin Msa
\aligntab
Dianteira
\aligntab
80/100-18
\cr
\aligntab \aligntab \multispan3\leaders\hrule\hfil \cr
\vrule height2ex depth3pt width0pt
\aligntab
\Num{5904}
\aligntab
Max Tube
\aligntab
Dianteira
\aligntab
80/100-18
\cr
\aligntab \aligntab \multispan3\leaders\hrule\hfil \cr
\vrule height2ex depth3pt width0pt
\aligntab
\Num{8159}
\aligntab
Michelin
\aligntab
Dianteira
\aligntab
80/100-18
\cr
\aligntab \aligntab \multispan3\leaders\hrule\hfil \cr
\vrule height2ex depth3pt width0pt
\aligntab
\Num{6947}
\aligntab
Monte Cristo
\aligntab
Dianteira
\aligntab
80/100-18
\cr
\aligntab \aligntab \multispan3\leaders\hrule\hfil \cr
}}}
我怎样才能强制\halign
具有最大宽度,以便胶水可以正确收缩?
观察:我正在使用 ConTeXt,因此需要使用\aligntab
而不是&
。
答案1
您的示例很容易使用自然表重现。文档可以在花园。
\setupbodyfont[dejavu,sans]
\starttext
\startsetups table:colors
\setupTABLE[column][1][style=blue]
\setupTABLE[row][1][style=red]
\stopsetups
\startsetups table:rules
\setupTABLE[frame=off]
\setupTABLE[row][each][bottomframe=on]
\setupTABLE[column][1][bottomframe=off]
\stopsetups
\startTABLE[setups={table:colors,table:rules}]
\NC\NC CG \NC\NR
\NC 5909 \NC Levorin Msa \NC Dianteira \NC 80/100-18 \NC\NR
\NC 5904 \NC Max Tube \NC Dianteira \NC 80/100-18 \NC\NR
\NC 8159 \NC Michelin \NC Dianteira \NC 80/100-18 \NC\NR
\NC 6947 \NC Monte Cristo \NC Dianteira \NC 80/100-18 \NC\NR
\stopTABLE
\stoptext