JavaScriptKnowledgeBase

KnowledgeBase

Python

Share immutable knowledge across parsers, transform engines, and documents.

KnowledgeBaseclass#

Immutable knowledge shared by parsers, engines and documents.

It defines the known commands, environments, characters, and delimiters that parsing, transforms, and Document construction and edits check against. Share one instance across a Parser, TransformEngine, and their documents. Enumerations are sorted by name and returned as copies.

TypeScript
const knowledgeBase = new KnowledgeBase({ packages: ['ams'] });
const { document } = new Parser({ knowledgeBase }).parse(String.raw`\frac{a}{b}`);

KnowledgeBase#

KnowledgeBase(options: KnowledgeBaseOptions | undefined)

Build the knowledge base once. Throws TexformConfigError for an invalid package name or item.

ParameterType
optionsKnowledgeBaseOptions | undefined

free#

free(): void

[Symbol.dispose]#

[Symbol.dispose](): void

isSame#

isSame(other: KnowledgeBase): boolean

Whether other is the same instance; equality is identity, not recipe.

ParameterType
otherKnowledgeBase
Returns
boolean

packages#

packages(): string[]
Returns
string[]

commands#

commands(mode: RuntimeContentMode): CommandInfo[]
ParameterType
modeRuntimeContentMode
Returns
CommandInfo[]

environments#

environments(mode: RuntimeContentMode): EnvInfo[]
ParameterType
modeRuntimeContentMode
Returns
EnvInfo[]

characters#

characters(mode: RuntimeContentMode): CharacterInfo[]
ParameterType
modeRuntimeContentMode
Returns
CharacterInfo[]

delimiters#

delimiters(): DelimiterInfo[]
Returns
DelimiterInfo[]

isDelimiterControl#

isDelimiterControl(name: string): boolean
ParameterType
namestring
Returns
boolean

knowsCommandName#

knowsCommandName(name: string): boolean
ParameterType
namestring
Returns
boolean

knowsEnvName#

knowsEnvName(name: string): boolean
ParameterType
namestring
Returns
boolean

knowsCharacterName#

knowsCharacterName(name: string): boolean
ParameterType
namestring
Returns
boolean

lookupCharacter#

lookupCharacter(    name: string,    mode: RuntimeContentMode,): CharacterInfo | null
ParameterType
namestring
modeRuntimeContentMode
Returns
CharacterInfo | null

lookupCommand#

lookupCommand(    name: string,    mode: RuntimeContentMode,): CommandInfo | null
ParameterType
namestring
modeRuntimeContentMode
Returns
CommandInfo | null

lookupEnv#

lookupEnv(name: string, mode: RuntimeContentMode): EnvInfo | null
ParameterType
namestring
modeRuntimeContentMode
Returns
EnvInfo | null

lookupExplicitCommand#

lookupExplicitCommand(    name: string,    mode: RuntimeContentMode,): CommandInfo | null
ParameterType
namestring
modeRuntimeContentMode
Returns
CommandInfo | null

KnowledgeBaseOptionsinterface#

Construction options for an immutable KnowledgeBase.

Omit packages to load the default runtime packages, not every package in the catalog. Use listPackages() to see the available names; an unknown name throws TexformConfigError.

FieldTypeDescription
packagesstring[] | undefined

Package names to load; omit to load the default runtime packages.

itemsContextItem[] | undefined

Custom command/environment/delimiter-control knowledge to inject.

removeCommandsstring[] | undefined

Command names to drop from the loaded knowledge.

removeEnvironmentsstring[] | undefined

Environment names to drop from the loaded knowledge.

removeDelimiterControlsstring[] | undefined

Delimiter-control names to drop from the loaded knowledge.

DelimiterInfointerface#

FieldType
namestring
isControlSequenceboolean
allowedModestring
unicodeValuestring
attributes{ mathvariant: string | null }
packagestring

ConstructionOptionsinterface#

Options for the create* methods. mode is the context mode of the detached subtree. It defaults to text for createInlineMath, math for createDelimitedGroup, createScripted, createPrime, and createInfix, the group's own mode for createGroup, and the document root mode otherwise.

FieldType
modeRuntimeContentMode | undefined