Vladimir, > > following up an old email... :) but this is related closely to your recent email > on "LICR objects in math" i thought i replied to you back then, or not? > no, it would not have broken text, because \halign is redefined in the > following way: > > \let\org@halign\halign > \DeclareRobustCommand\halign{\let\if@mmode\if@mmode@\org@halign} > > and \if@mmode@ is defined like this: > \def\if@mmode@{\reset@if@mmode\ifmmode} > \DeclareRobustCommand\reset@if@mmode{\let\if@mmode\ifmmode} > > so when you have \begin{tabular}[t]{..}, then the FIRST character inside the > cell > will execute \if@mmode@ which will reset \if@mmode to just \ifmmode, thus > preserving all ligatures! that statement is (i think) only partially true, it should read the first LICR that makes some \ifmmode test will ... for Russian language that would be no problem as all chars are LICR's with command names but for other languages it might mean that the resetting happens at any time in them middle of some later word. so yes, the above would avoild the \halign problem (provided it is really safe to stop making \halign a primitive (i think i know at least one package that would break then: bm.sty) but it would not stop the problem of spurious ligature kerning errors (if unlucky long time after the start of the cell). to late at night to think or read further (hope i haven't said nonsense above) good night frank