Tools for manipulating unified-latex ASTs
npm install @unified-latex/unified-latex-util-environmentsFunctions to report on/manipulate environments in a unified-latex Abstract Syntax Tree (AST).
If you are working on the internals of unified-latex-util-parse or need to make a custom parser
that treats environments differently.
``bash`
npm install @unified-latex/unified-latex-util-environments
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.
Unified plugin to process environment content and attach arguments.
unified().use(unifiedLatexProcessEnvironments[, options])
#### options
`typescript`
{ environments: EnvInfoRecord; }
Plugin<{ environments: EnvInfoRecord; }[], Ast.Root, Ast.Root>
`typescript`
function unifiedLatexProcessEnvironments(options: {
environments: EnvInfoRecord;
}): (tree: Ast.Root) => void;
Performs any needed processing on the environment (as specified by envInfo)
including attaching arguments and possibly manipulating the environment's body.
`typescript`
function processEnvironment(
envNode: Ast.Environment,
envInfo: Ast.EnvInfo
): void;
Parameters
| Param | Type |
| :------ | :---------------- |
| envNode | Ast.Environment |Ast.EnvInfo
| envInfo | |
Recursively search for and process the specified environments. Arguments are
consumed according to the signature specified. The body is processedprocessContent
with the specified function (if given). Any specified renderInfo
is attached to the environment node.
`typescript`
function processEnvironments(
tree: Ast.Ast,
environments: Ast.EnvInfoRecord
): void;
Parameters
| Param | Type |
| :----------- | :------------------ |
| tree | Ast.Ast |Ast.EnvInfoRecord` |
| environments |