Changelog of @hackage/texmath 0.8
texmath (0.8)
- Added OMML reader (Jesse Rosenthal).
- Support latex \substack (#57).
- Added EBoxed and implemented in readers and writers (#58).
- Handle latex \genfrac. Use \genfrac for \brace, \brack, etc. when amsmath is available.
- Improvements in handling of space characters.
- Use ESpace rather than EText when a mathml mtext just contains a space.
- Use \mspace when needed to get latex spaces with odd sizes, rather than finding the closest simple command.
- Use Rational instead of Double in ESpaced, EScaled.
- Shared: Export getSpaceWidth, getSpaceChars.
- Shared: Export fixTree, isEmpty, empty (formerly in MathML reader).
texmath (0.7.0.2)
- TeX reader: further improvements in error reporting. Instead of reporting line and column, a snippet is printed with a caret indicating the position of the error. Also fixed bad position information when control sequences are followed by a letter.
texmath (0.7.0.1)
-
TeX reader:
- Improved error reporting.
- Optimized parser.
- Treat
\as ESpaced rather than ESymbol. - Internal improvements, including using the parsec3 interface instead of the older parsec2 compatibility interface.
-
Added tests for phantom.
texmath (0.7)
-
Changes in Exp type:
- Removed EUp, EDown, EDownup, EUnary, EBinary.
- Added EFraction (and FractionType), ESqrt, Eroot, EPhantom.
- Added boolean "convertible" parameter to EUnder, EOver, EUnderover.
- Changed parameter of EScaled from String to Double.
- Changed parameter of ESpace from String to Double.
- Removed EStretchy.
- Added EStyled, corresponding to mstyle in mathml, and \mathrm, \mathcal, etc. in TeX (which can contain arbitrary math content, not just text).
- Changed the type of EDelimited. The contents of an EDelimited are now either Right Exp or Left String (the latter case represents a fence in middle position, e.g. \mid| in LaTeX).
-
Module reorganisation: the exposed interface has been completely changed, and modules for reading MathML and writing TeX math have been added:
-
All writers now reside in Text.TeXMath.Writers.
- Text.TeXMath.MathML -> Text.TeXMath.Writers.MathML. toMathML and showExp are removed, writeMathML added.
- Text.TeXMath.OMML -> Text.TeXMath.Writers.OMML. toOMML and showExp removed, writeOMML added.
- Text.TeXMath.Pandoc -> Text.TeXMath.Writers.Pandoc. toPandoc removed, writePandoc added.
- New module Text.TeXMath.Writers.TeX, exporting writeTeX, writeTeXWith, addLaTeXEnvironment (the latter giving control over which packages are assumed to be available).
-
All readers now reside in Text.TeXMath.Readers.
- Text.TeXMath.MathMLParser -> Text.TeXMath.Readers.MathML, exporting readMathML.
- Text.TeXMath.Readers.TeX nows exports readTeX rather than parseFormula.
-
New modules for unicode conversion: Text.TeXMath.Unicode.ToASCII, Text.TeXMath.Unicode.ToTeX, Text.TeXMath.Unicode.ToUnicode.
-
Two MathML specific modules: Text.TeXMath.Readers.MathML.EntityMap, Text.TeXMath.Readers.MathML.MMLDict.
-
In Text.TeXMath, all the XtoY functions have been removed in favour of rexporting raw reader and writer functions. The data type Exp is now also exported.
-
-
Bug fixes and improvements.
- TeX writer: Properly handle accents inside \text{}. Use real text environments for EText (\textrm, not \mathrm). Improved handling of scalers (\Big etc.). Use amsmath matrix environments when appropriate. Fixed \varepsilon.
- MathML writer: Omit superfluous outer mrows. Add position information to fences.
- OMML writer: Handle \phantom.
- Pandoc writer: Use unicode characters to support Fraktur and other text styles.
- TeX reader: Use EUnder/Over for \stackrel, \overset, \underset. Improved handling of primes. Fixed \notin. Avoid superfluous grouping of single elements. Improved handling of scalers (\Big etc.). Handle \choose, \brace, \brack, \bangle (#21).
- Macros: Don't raise an error if applying a macro fails to resolve to a fixed point; instead, just return the original string.
-
Rewrote test suite as a proper cabal test suite. Added --regenerate-tests and --round-trip options.
-
Updated texmath online demo for bidirectional conversion.
-
Removed cgi and test flags. Added executable flag to build texmath.
-
Modified texmath so it works like a cgi script when run as texmath-cgi (through symlink or renaming). Removed dependency on the cgi package.
texmath (0.6.7)
- New Module: Text.TeXMath.Unidecode, a module for approximating unicode characters in ASCII.
- New Module: Text.TeXMath.Shared, a module for shared lookup tables between the various readers and writers
- New Module: Text.TeXMath.MathMLParser, exporting readMathML.
- New Module: Text.TeXMath.EntityMap, exporting getUnicode, a conversion table from MathML entities to unicode characters.
- New Module: Text.TeXMath.UnicodeToLaTeX, exporting getLaTeX, converting a string of unicode characters to a string of equivalent LaTeX commands.
- New Module: Text.TeXMath.LaTeX, replacing Text.TeXMath.Parser, exporting toTeXMath.
- New Module: Text.TeXMath.MMLDict, implements a lookup table from operators to their default values as defined by the MML dictionary, exporting getOperator.
- New Module: Text.TeXMath.Compat, maintaining compatibility with mtl < 2.2.1.
- Modified Text.TeXMath to export the primitive readers, as well as mathMLTo{Writer} for all writers
- Modified: Text.TeXMath.Types: added additional record types for Text.TeXMath.MMLDict and Text.TeXMath.UnicodeToLaTeX. New Exports: Operator(..), Record(..).
- Modified test suite: use cabal test, added significant number of tests.
- Added recognition of the LaTeX command \phantom
texmath (0.6.6.3)
- Use combining tilde accent for \tilde. Closes pandoc #1324.
texmath (0.6.6.2)
- Allow \left to be used with ), ], etc. Ditto with \right. Previously only (, [, etc. were allowed with \left. Closes pandoc #1319.
texmath (0.6.6.1)
- Support \multline (previously it was mispelled "multiline")
- Changed data-files to extra-source-files.
texmath (0.6.6)
- Insert braces around macro expansions to prevent breakage (#7).
- Support \operatorname and \DeclareMathOperator (rekka) (#17).
- Support \providecommand (#15).
- Fixed spacing bugs in pandoc rendering (#24).
- Ignore \hline at end of array row instead of failing (#19).