mathml_core/helpers/matrix/
mod.rs1use super::*;
2
3#[doc = include_str!("vmatrix.xml")]
13pub fn matrix<I>(rows: I) -> MathML
14where
15 I: IntoIterator<Item = MathML>,
16{
17 MathTable::matrix(rows).into()
18}
19
20#[doc = include_str!("vmatrix.xml")]
30pub fn smallmatrix<I>(rows: I) -> MathML
31where
32 I: IntoIterator<Item = MathML>,
33{
34 todo!()
36}
37
38#[doc = include_str!("bmatrix.xml")]
48pub fn bmatrix<I>(rows: I) -> MathML
49where
50 I: IntoIterator<Item = MathML>,
51{
52 MathRow::new(vec![MathML::operation("[").into(), MathTable::matrix(rows).into(), MathML::operation("]").into()]).into()
53}
54
55#[doc = include_str!("bmatrix2.xml")]
65pub fn Bmatrix<I>(rows: I) -> MathML
66where
67 I: IntoIterator<Item = MathML>,
68{
69 MathRow::new(vec![MathML::operation("{").into(), MathTable::matrix(rows).into(), MathML::operation("}").into()]).into()
70}
71
72#[doc = include_str!("vmatrix.xml")]
82pub fn vmatrix<I>(rows: I) -> MathML
83where
84 I: IntoIterator<Item = MathML>,
85{
86 MathRow::new(vec![MathML::operation("|").into(), MathTable::matrix(rows).into(), MathML::operation("|").into()]).into()
87}
88
89#[doc = include_str!("vmatrix2.xml")]
100pub fn Vmatrix<I>(items: I) -> MathML
101where
102 I: IntoIterator<Item = MathML>,
103{
104 MathRow::new(vec![MathML::operation("‖").into(), MathTable::matrix(items).into(), MathML::operation("‖").into()]).into()
105}
106
107#[doc = include_str!("pmatrix.xml")]
117pub fn pmatrix<I>(items: I) -> MathML
118where
119 I: IntoIterator<Item = MathML>,
120{
121 MathRow::new(vec![MathML::operation("(").into(), MathTable::matrix(items).into(), MathML::operation(")").into()]).into()
122}
123
124#[doc = include_str!("cases.xml")]
134pub fn cases<I>(items: I) -> MathML
135where
136 I: IntoIterator<Item = MathML>,
137{
138 MathRow::new(vec![MathML::operation("{").into(), MathTable::matrix(items).with_attribute("columnalign", "left").into()])
139 .into()
140}