- Changed Peggy to implement a caching parser to prevent large slowdown on some files.
- Added initial PreTeXt conversion support
- Upgraded deps
- Added
amsartmacros - Consume the whitespace after special character macros when expanding ligatures. For example
\o yproducesøyinstead ofø y - Fix signatures of
\hyphenation
- Types fix for
@unified-latex/unified-latex-types - Fixed AST when expanding
\sysdelimmacros for rendering\systeme{}macros with KaTeX
- Switch build system to
vite. Should result in smaller bundles. - Save default arguments when parsing if the macro signature specifies them e.g.
{signature: "O{foo}"}. The defaults are substituted in when expanding the macros with the optional arguments omitted. - Preserve position information when comments are modified. (Sometimes, during a
parse, but never during aparseMinimal, comments are modified to remove leading whitespace. Previously, modified comments would have their position information deleted. Position information is now preserved.)
- Pass
VisitInfoas an additional argument otmacroReplacersandenvironmentReplacersinunifiedLatexToHast. - Allow skipping of HTML validation in
unifiedLatexToHast. - The
mintedenvironment parses its contents as a verbatim.
- Embellishment tokens are now supported in macro
signatures. E.g., axxx: {signature: "e{^_}"}will allow\xxx_{foo}^{bar}and\xxx^{foo}_{bar}to parse correctly. - Stop tokens can now be regular string characters. For example
xxx: {signature: "ua"}will allow\xxx YYYaBBBto consumeYYYleavingBBBunconsumed. - Break after
\\macro when pretty printing (Issue #59) - [DEVELOPMENT] Added
tsconfig.jsonfiles to eachtest/folder for more granular control of the typescript settings.
- HTML conversion:
vspaceandhspacenow give the amount in adata-amountattribute. - HTML conversion: unknown macros now have their arguments wrapped in spans instead of appearing as formatted LaTeX code.
- Add basic Markdown conversion support.
- Avoid slowdown when paring incomplete environments (e.g.
\newcommand{\x}{\begin{x}}). This is accomplished by enabling caching in PEGjs. - Added
"ligature and\paragraphand\subparagraphto HTML conversion.
- Many more ligatures added to the HTML converter.
- Fixed issue #40 where the optional argument to
\\was being parsed even if preceded by a space. (E.g.,\\[10pt]and\\ [10pt]) were parsed the same. Not allowing the space should more closely match expected behavior. - Bump Prettier to v2.8.8
- Better CJS support (now
unifiedis compiled in rather than left as an external dependency. This is needed becauseunifiedis ESM-only). mintedandlistingsenvironments now accept optional arguments and parse their contents verbatim. This makes them much more efficient.
- Initial support for parsing and pretty-printing of tikz environments.
- Added support for xparse
u-type arguments. - Can now pass an
argumentParserattribute for custom argument parsing (instead of relying on an xparse signature)