# unified-latex-ctan ## What is this? Macro/environment definitions and utilities for specific LaTeX packages from CTAN. Note: basic LaTeX macro/environment definitions come from the `latex2e` package, even though this is technically not a CTAN "package". ## When should I use this? If you want information about special functions/macros from particular CTAN packages, or you need to parse special environments. ## Notes By default all macros/environments that are exported get processed. If multiple packages export a macro with the same name, then the later-exported one takes precedence. If two packages export a macro/environment of the same name but with conflicting argument signatures, this can cause issues when another unified-latex package processes arguments positionally. For example, by default `\textbf` takes one argument, but the beamer version of `\textbf` takes two arguments. During HTML conversion, if arguments are referenced positionally, this may cause previously-working code to fail with when beamer macro signatures are used. A workaround is provided: `_renderInfo.namedArguments`. If `_renderInfo.namedArguments` is specified on both the original macro/environment definition **and** the conflicting one, other unified-latex commands can reference arguments by name instead of by position. ## Install ```bash npm install @unified-latex/unified-latex-ctan ``` 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. # Constants | Name | Type | Description | | :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- | | `environmentInfo` | `{ amsart: EnvInfoRecord; cleveref: EnvInfoRecord; exam: EnvInfoRecord; geometry: EnvInfoRecord; hyperref: EnvInfoRecord; ... 11 more ...; multicol: EnvInfoRecord; }` | Info about the environments for available ctan packages. `latex2e` contains the standard environments for LaTeX. | | `macroInfo` | `{ amsart: MacroInfoRecord; cleveref: MacroInfoRecord; exam: MacroInfoRecord; geometry: MacroInfoRecord; hyperref: MacroInfoRecord; ... 11 more ...; multicol: MacroInfoRecord; }` | Info about the macros for available ctan packages. `latex2e` contains the standard macros for LaTeX. |