srs-document/node_modules/@unified-latex/unified-latex-util-environments/README.md
2025-03-24 15:42:48 +07:00

92 lines
2.2 KiB
Markdown

<!-- DO NOT MODIFY -->
<!-- This file was autogenerated by build-docs.ts -->
<!-- Edit the docstring in index.ts and regenerate -->
<!-- rather than editing this file directly. -->
# unified-latex-util-environments
## What is this?
Functions to report on/manipulate environments in a `unified-latex` Abstract Syntax Tree (AST).
## When should I use this?
If you are working on the internals of `unified-latex-util-parse` or need to make a custom parser
that treats environments differently.
## Install
```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.
# Plugins
## `unifiedLatexProcessEnvironments`
Unified plugin to process environment content and attach arguments.
### Usage
`unified().use(unifiedLatexProcessEnvironments[, options])`
#### options
```typescript
{ environments: EnvInfoRecord; }
```
### Type
`Plugin<{ environments: EnvInfoRecord; }[], Ast.Root, Ast.Root>`
```typescript
function unifiedLatexProcessEnvironments(options: {
environments: EnvInfoRecord;
}): (tree: Ast.Root) => void;
```
# Functions
## `processEnvironment(envNode, envInfo)`
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` |
| envInfo | `Ast.EnvInfo` |
## `processEnvironments(tree, environments)`
Recursively search for and process the specified environments. Arguments are
consumed according to the `signature` specified. The body is processed
with the specified `processContent` 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` |
| environments | `Ast.EnvInfoRecord` |