Hi, I uploaded lmtx. There have been some additions to tabulate. \starttext % \showboxes % \showstruts \starttabulate[|w(top,3cm)|w(top,3cm)|] \NC test \NC test \par test \NC \NR \NC test \NC test \par test \NC \NR \stoptabulate \starttabulate[|w(top,packed,3cm)|w(top,packed,3cm)|] \NC test \NC test \par test \NC \NR \NC test \NC test \par test \NC \NR \stoptabulate \starttabulate[interlinespace=no,format={|w(bottom,3cm)|w(bottom,3cm)|}] \NC test \NC test \par test \NC \NR \NC test \NC test \par test \NC \NR \stoptabulate \starttabulate[format={|w(3cm)|w(3cm)|}] \NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR \NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR \stoptabulate \starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}] \NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR \NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR \stoptabulate \starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}] \NC \vbox{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR \NC \vbox{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR \stoptabulate \starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}] \NC \vtop{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR \NC \vbox{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR \stoptabulate \stoptext This permits top and bottom alignments of text blobs without interrow spacing being disturbed. A bit more weird addition is the new \TM (move) option: \starttext \defineorientation[test][orientation=down,vertical=top] \startbuffer[b] \definetabulatemove[a][xoffset=40pt] \definetabulatemove[b][orientation=test,yoffset=depth] \starttabulate[|c|c|] \TM[a] \NC \darkred cell one \NC \darkgray cell one \NC \NR \TM[b] \NC \darkgreen cell one \NC \darkblue cell one \NC \NR \TM[a] \NC \darkred cell two \NC \darkgray cell two \NC \NR \TM[b] \NC \darkgreen cell two \NC \darkblue cell two \NC \NR \TM[a] \NC \darkred cell three \NC \darkgray cell three \NC \NR \TM[b] \NC \darkgreen cell three \NC \darkblue cell three \NC \NR \TM[a] \NC \darkred cell four \NC \darkgray cell four \NC \NR \TM[b] \NC \darkgreen cell four \NC \darkblue cell four \NC \NR \stoptabulate \stopbuffer \start \showmakeup[line] \showstruts \ruledvbox{\getbuffer[b]} \stop \start \showstruts \ruledvbox{\getbuffer[b]} \stop \start \ruledvbox{\getbuffer[b]} \stop \startbuffer[b] \definetabulatemove[a][xoffset=20pt] \starttabulate[|p|p|] \TM[a] \NC \darkred \samplefile{tufte} \NC \darkgray \samplefile{ward} \NC \NR \NC \darkgreen \samplefile{tufte} \NC \darkblue \samplefile{ward} \NC \NR \TM[a] \NC \darkred \samplefile{tufte} \NC \darkgray \samplefile{ward} \NC \NR \NC \darkgreen \samplefile{tufte} \NC \darkblue \samplefile{ward} \NC \NR \stoptabulate \stopbuffer \start \small \small \showmakeup[line] \showstruts \getbuffer[b] \stop \stoptext This uses some new low level alignment options that operate on rows as a whole. As usual, I have no clue what users will come up with but the idea is that these 'moves' are independent of the alignment so the in this case shifted columns actually keeps their alignment. (It is mostly about consistent support luametatex engine features but it might come in handy.) Some other 'new' things are too obscure to mention now, Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------