Changelog of @hackage/texmath 0.8.6.3

texmath (0.8.6.3)

  • Use POST instead of GET for texmath-cgi.

texmath (0.8.6.2)

  • Fixed array alignment issues (jgm/pandoc#2864, jgm/pandoc#2310).
  • Use 1 and 0 for _Hide attributes, rather than on and off. Officially it seems that either 1/0 or true/false are wanted.
  • Fixed EUnderOver for omml output. Previously both the under and the over part were being placed under (jgm/pandoc#2775).

texmath (0.8.6.1)

  • OMML writer: Fixed rendering of roots, so that the degree appears in the right place.
  • OMML writer: Don't include empty rPr elements.

texmath (0.8.6)

  • TeX reader: Support hundreds more math symbols (all of those defined in Text.TeXMath.Unicode.ToTeX), including \nwarrow, \swarrow, \nearrow, \searrow (#90).

texmath (0.8.5.1)

  • OMML writer: Fixed order of elements in nary formulas to conform to OMML spec (#88, Niko Weh). <e> must follow the <sup> and <sub> parts of <nary>. This fixes rendering issues in LibreOffice (though Word copes with the incorrect order).
  • Added Paths_texmath to Other-Modules for texmath executable.

texmath (0.8.5)

  • TeX parser: Support limited styling inside \DeclareMathOperator (#85).
  • TeX reader: Correctly parse \mbox. Its argument is text mode.
  • Updated mathml tests to use mo for operators.
  • TeX reader: support mathopen, mathclose, mathpunct.
  • MathML writer: render EMathOperator as mo, not mi (#86).
  • MathML: handle leading space in EText (#87).
  • Take --version in executable from cabal metadata.
  • Added Paths_texmath to other-modules.

texmath (0.8.4.2)

  • Fixed overbrace, underbrace (#82). Previously we were using the wrong character: U+FE37 instead of U+23DE. This didn't work in Word.
  • Support \mathop, \mathrel, \mathbin, \mathord
  • MathML - render Symbol Ord as mi, not mo (#83).
  • Handle align environments with > 2 cells per row (#84).

texmath (0.8.4.1)

  • Added stack install instructions.
  • Fixed bold-italic in OMML (#76). Previously \mathbfit didn't work properly in OMML output.
  • Ignore \nonumber (#79).
  • Allow styling in \operatorname e.g. \operatorname{\mathcal{L}} (#80).
  • Fixed bug in supHide and subHide for OMML. This led to little empty boxes being displayed in integrals with subscripts but no superscripts. See jgm/pandoc#2571.
  • Implemented \mod as a math operator (#81). This doesn't capture all the spacing subtleties of the amsmath version, but should be good enough for most purposes.
  • Allow pandoc-types < 1.17.

texmath (0.8.4)

  • Improved symbol spacing in Pandoc output (jgm/pandoc#2261). This change avoids putting space around binary symbols that come at the beginning or end of a group, or appear on their own. It also avoids spacing on a binary symbol that follows a Bin, Op, Rel, Open, or Punct atom, in accord with TeXBook Appendix G. We could go farther towards exactly matching the TeXBook rules, but this simple change goes some of the way.
  • Added stack.yaml.

texmath (0.8.3)

  • Parse uppercase Greek letters as EIdentifier, not ESymbol Op. This fixes handling of things like $Lambda^1$, particularly in omml.

texmath (0.8.2.2)

  • Handle . after number with no following digits.

texmath (0.8.2.1)

  • Handle bare hyphen in \text{...}. Closes jgm/pandoc#2274.
  • Support \ltimes and \rtimes in the TeX reader (Arata Mizuki).
  • Slightly more efficient number parser.

texmath (0.8.2)

  • Better handling of decimal points. Decimal points are now parsed as parts of numbers, not as separate symbols. E.g. in MathML they now appear in <mn> elements. Closes #74.

texmath (0.8.1)

  • OMML: Don't force everything into Roman font by default. This change ensures that variables will be italic by default in Word. See jgm/pandoc#2075.

texmath (0.8.0.2)

  • Fixed typo in defaultEnv to include amssymb (#68).
  • Moved some lookup tables to C, and disabled aggressive profiling defaults, to avoid excessive memory usage in compiling with clang (#70).
  • Support \newcommand* in parseMacroDefinition (jgm/pandoc#2005).
  • Fixed order bug for over/under in OMML reader (#66).
  • Support \boldsymbol (#67).

texmath (0.8.0.1)

  • Added network-uri flag. This addresses the split of network and network-uri packages.
  • OMML reader: change default accent (Jesse Rosenthal). The default had previously been set as accute (possibly as a placeholder). It appears to be circumflex/hat instead.

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).