sig
type alignment = [ `center | `left | `right ]
type cell = {
is_head : bool;
cols_used : int;
rows_used : int;
align : Bracetax_commands.Table.alignment;
cell_text : Buffer.t;
}
val default_default_align : Bracetax_commands.Table.alignment
type table = {
col_nb : int;
label : string option;
mutable cells : Bracetax_commands.Table.cell list;
mutable current_cell : Bracetax_commands.Table.cell option;
caption : Buffer.t;
default_align : Bracetax_commands.Table.alignment;
}
val table_args :
string list -> int * string option * Bracetax_commands.Table.alignment
val cell_arguments :
Bracetax_commands.Table.table ->
string list -> bool * int * int * Bracetax_commands.Table.alignment
val write : Bracetax_commands.Table.table -> string -> unit
val start :
string list ->
Bracetax_commands.Table.table * [> `table of int * string option ] *
(string -> unit)
val cell_start :
loc:Bracetax_commands.Error.location ->
error:Bracetax_commands.Error.error_fun ->
Bracetax_commands.Table.table ->
string list ->
[> `cell of bool * int * Bracetax_commands.Table.alignment ]
val cell_stop :
loc:'a ->
error:Bracetax_commands.Error.error_fun ->
Bracetax_commands.Table.table -> unit
module Util :
sig
val nb_rows : Bracetax_commands.Table.table -> int
val make_riddle :
Bracetax_commands.Table.table -> (int * int) array array
val fill_riddle :
(int * int) array array -> int -> int -> int -> int -> unit
val next_coordinates :
(int * int) array array ->
Bracetax_commands.Table.table -> int -> int -> int * int
type in_table =
[ `cell of Bracetax_commands.Table.cell
| `filed of int * int
| `none ]
val matrix_next_coordinates :
[> `none ] array array ->
Bracetax_commands.Table.table -> int -> int -> int * int
val cells_to_matrix :
Bracetax_commands.Table.table ->
int * int *
[> `cell of Bracetax_commands.Table.cell
| `filled of int * int
| `none ]
array array
end
end