let cell_start ~loc ~(error:Error.error_fun) tab args =
let head, rnb, cnb, align = cell_arguments tab args in
let def_cell = `cell (head, cnb, align) in
begin match tab.current_cell with
| Some c ->
error (Error.mk loc `error `cell_inside_cell);
def_cell
| None ->
let cell_t = {
is_head= head;
cols_used = cnb;
rows_used = rnb;
align = align;
cell_text = Buffer.create 64;
} in
tab.current_cell <- Some cell_t;
def_cell
end