Documentation

matElement
Question mark
Go to source

A matrix.

The elements of a row should be separated by commas, while the rows themselves should be separated by semicolons. The semicolon syntax merges preceding arguments separated by commas into an array. You can also use this special syntax of math function calls to define custom functions that take 2D data.

Content in cells can be aligned with the align parameter, or content in cells that are in the same row can be aligned with the & symbol.

Example

$ mat(
  1, 2, ..., 10;
  2, 2, ..., 10;
  dots.v, dots.v, dots.down, dots.v;
  10, 10, ..., 10;
) $

Parameters

delim
none or str or symbol or array
Settable
Question mark
Default: ("(", ")")

The delimiter to use.

Can be a single character specifying the left delimiter, in which case the right delimiter is inferred. Otherwise, can be an array containing a left and a right delimiter.

ExpandView example
#set math.mat(delim: "[")
$ mat(1, 2; 3, 4) $

align
alignment
Settable
Question mark
Default: center

The horizontal alignment that each cell should have.

ExpandView example
#set math.mat(align: right)
$ mat(-1, 1, 1; 1, -1, 1; 1, 1, -1) $

augment
none or int or dictionary
Settable
Question mark
Default: none

Draws augmentation lines in a matrix.

ExpandView example: Basic usage
$ mat(1, 0, 1; 0, 1, 2; augment: #2) $
// Equivalent to:
$ mat(1, 0, 1; 0, 1, 2; augment: #(-1)) $
ExpandView example: Customizing the augmentation line
$ mat(0, 0, 0; 1, 1, 1; augment: #(hline: 1, stroke: 2pt + green)) $

gapDefault: 0% + 0pt

The gap between rows and columns.

This is a shorthand to set row-gap and column-gap to the same value.

ExpandView example
#set math.mat(gap: 1em)
$ mat(1, 2; 3, 4) $

row-gap
relative
Settable
Question mark
Default: 0% + 0.2em

The gap between rows.

ExpandView example
#set math.mat(row-gap: 1em)
$ mat(1, 2; 3, 4) $

column-gap
relative
Settable
Question mark
Default: 0% + 0.5em

The gap between columns.

ExpandView example
#set math.mat(column-gap: 1em)
$ mat(1, 2; 3, 4) $

rows
array
RequiredPositional
Question mark
Variadic
Question mark

An array of arrays with the rows of the matrix.

ExpandView example
#let data = ((1, 2, 3), (4, 5, 6))
#let matrix = math.mat(..data)
$ v := matrix $