1.8.1 • Published 9 months ago

@unified-latex/unified-latex-util-align v1.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

unified-latex-util-align

What is this?

Functions to parse an analyze "align" environments like \begin{align}...\end{align} or \begin{bmatrix}...\end{bmatrix}.

When should I use this?

If you need to process the contents of an align environment for, e.g., pretty-printing.

Install

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.

Functions

createMatchers(rowSepMacros, colSep)

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

ParamType
rowSepMacrosstring[]
colSepstring[]

parseAlignEnvironment(ast, colSep, rowSepMacros)

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

ParamType
astAst.Node[]
colSepstring[]
rowSepMacrosstring[]