///|
fn cases_columns() -> Array[ArrayColumn] {
[
AlignColumn(alignment="l", pre_gap=0.0, post_gap=1.0),
AlignColumn(alignment="l", pre_gap=0.0, post_gap=0.0),
]
}
///|
fn cases_environment_handler(
context : EnvironmentContext,
_ : Array[ParseNode],
_ : Array[ParseNode?],
) -> ParseNode raise ParseFailure {
let array = (context.parse_array)({
columns: Some(cases_columns()),
array_stretch: 1.2,
hskip_before_and_after: false,
cell_style: if context.env_name == "dcases" || context.env_name == "drcases" {
DisplayStyle
} else {
TextStyle
},
max_columns: None,
single_row: false,
auto_tag: None,
leqno: false,
add_jot: false,
column_separation_type: None,
})
let right_brace = context.env_name == "rcases" ||
context.env_name == "drcases"
LeftRight(
mode=context.mode,
body=[array],
left=if right_brace { "." } else { "\\{" },
right=if right_brace { "\\}" } else { "." },
right_color=None,
)
}