Functions to parse an analyze "align" environments like \begin{align}...\end{align}
or
\begin{bmatrix}...\end{bmatrix}
.
If you need to process the contents of an align environment for, e.g., pretty-printing.
npm install @unified-latex/unified-latex-util-align
This package contains both esm and commonjs exports. To explicitly access the esm export,
import the .js
file. To explicitly access the commonjs export, import the .cjs
file.
function createMatchers(
rowSepMacros: string[],
colSep: string[]
): {
isRowSep: Ast.TypeGuard<Ast.Macro & { content: string }>;
isColSep: (node: Ast.Node) => boolean;
isWhitespace: (node: Ast.Node) => node is Ast.Whitespace;
isSameLineComment: (node: Ast.Node) => boolean;
isOwnLineComment: (node: Ast.Node) => boolean;
};
Parameters
Param | Type |
---|---|
rowSepMacros | string[] |
colSep | string[] |
Parse the content of an align environment into an array of row objects. Each row object looks like
{
cells: [...],
colSeps: [...],
rowSep: ...,
trailingComment: ...
}
...
may be an ast node or null
.
function parseAlignEnvironment(
ast: Ast.Node[],
colSep: string[],
rowSepMacros: string[]
): Row[];
Parameters
Param | Type |
---|---|
ast | Ast.Node[] |
colSep | string[] |
rowSepMacros | string[] |