Documentation

matElement
Question mark

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;
) $
Preview

Parameters
Question mark

delim
none or str or array or symbol
Settable
Question mark

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.

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

Default: ("(", ")")

align
alignment
Settable
Question mark

The horizontal alignment that each cell should have.

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

Default: center

augment
none or int or dictionary
Settable
Question mark

Draws augmentation lines in a matrix.

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

Default: none

gap

The gap between rows and columns.

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

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

Default: 0% + 0pt

row-gap
relative
Settable
Question mark

The gap between rows.

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

Default: 0% + 0.2em

column-gap
relative
Settable
Question mark

The gap between columns.

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

Default: 0% + 0.5em

rows
array
Required Positional
Question mark
Variadic
Question mark

An array of arrays with the rows of the matrix.

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