- Changed Peggy to implement a caching parser to prevent large slowdown on some files.
- Added initial PreTeXt conversion support
- Upgraded deps
- Added
amsart
macros - Consume the whitespace after special character macros when expanding ligatures. For example
\o y
producesøy
instead ofø y
- Fix signatures of
\hyphenation
- Types fix for
@unified-latex/unified-latex-types
- Fixed AST when expanding
\sysdelim
macros 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
VisitInfo
as an additional argument otmacroReplacers
andenvironmentReplacers
inunifiedLatexToHast
. - Allow skipping of HTML validation in
unifiedLatexToHast
. - The
minted
environment parses its contents as a verbatim.
- Embellishment tokens are now supported in macro
signature
s. 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 YYYaBBB
to consumeYYY
leavingBBB
unconsumed. - Break after
\\
macro when pretty printing (Issue #59) - [DEVELOPMENT] Added
tsconfig.json
files to eachtest/
folder for more granular control of the typescript settings.
- HTML conversion:
vspace
andhspace
now give the amount in adata-amount
attribute. - 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\paragraph
and\subparagraph
to 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
unified
is compiled in rather than left as an external dependency. This is needed becauseunified
is ESM-only). minted
andlistings
environments 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
argumentParser
attribute for custom argument parsing (instead of relying on an xparse signature)