All notable changes to this project will be documented in this file. This CHANGELOG roughly follows the guidelines from keepachangelog.com.
- Parse \vdots in text mode
- Ensure printing of \cancel & \phase
- Fix stray between open delimiter and a math operator
- Fix
minsize
on/
&\
. Fixes issue #71. - Fix \color and \right delimiter. Fixes issue #73.
- Work around a Chromium bug so big operators from the STIX-TWO font will be vertically centered on the math axis
- Support \boxslash, \longdiv, \phase, and \textcircled
- Use the
<menclose>
element and thenotation
attribute when possible. This will improve accessibility for functions such as\cancel
and\boxed
. Since Chromiumn does not support<menclose>
, use CSS in Chromium.
- Work around a WebKit bug so
mhchem
subscripts will render
- Support \bigcupplus, \bigcupdot, \bigdoublevee, and \bigdoublewedge
- Avoid Unicode normalization of text-mode Latin-1 characters
- Use combining characters for some text-mode accents
- Improve consolidation of text into <mtext> elements. Fixes issue #64.
- Insert a space between a font atom and a math operator. Fixes #62,
- \newcommand and \renewcommand act locally, not globally
- Support \arraycolsep & \arraystretch
- Build empty braced exponents. Fixes #61.
- Prevent Firefox from omitting the dot on i or j
- Prevent infinite loop in an
\edef
macro - Convert protocol in a URL to lower case, to enable a URL whitelist
- Support 60 binary operators from the
stix
package
- Do not consolidate
<mn>
at a comma with a subsequent space
- Consolidate
\mathrm{…}
into a single<mi>
element - Optional CSS file for Fira Math font
- Support \dotminus
- Support \Earth
- Parse
\middle
to end one group and start another group \Set
, when containing an\over
- Render
\nabla
as a<mo>
element - Do not insert soft line break at
\int
or\nabla
- Edit home page for HTML validation
- Remove redundant CSS rule for
<mtext>
font family - Remove extraneous pair of braces from TypeScript
d.ts
file
\sslash
\reflectbox
\leftmodels
\color{…}
inside an environment array
- Client-side rendering of
\cancel
,\bcancel
, &\xcancel
- Write parens around
\tag
inside array environments - Spacing of operators at ends of braced group
\mathop{…}
spacing\boldsymbol
- Spacing for unary operators
- Render math mode \AA as italic
- Improve consolidation of elements in the base of of a
- \Angstrom
- Fix: Suppress operator spacing at ends of mrow
- Fix: \hbox sets its contents to \textstyle
- Fix fix \bigm |
- \lAngle \rAngle, ⟪⟫
- \llangle\rrangle, ⦉⦊
- \llparenthesis \rrparenthesis, ⦇⦈
- Mitigate WebKit accent alignment
- Fix \sout in WebKit
- Fix visibility of AMS automatic equation numbers in WebKit
- Improve rendering option defaults
- Prevent f′ from overlapping in Chromium
- Stretch \widetilde & \widehat in Chromium
- Prevent Firefox from substituting an emoji for \oplus
- Prevent Firefox from substituting a dotless i in \widetilde{U_i}
- Fix tag alignment in {align} environment
- \dprime \trprime \qprime \backprime \backdprime \backtrprime
- Move environment CSS from external file to inline
- Support TypeScript modules
- Support stix astronomy symbols
- Center display math in Firefox & WebKit.
- Spurious line-breaking on delimiters.
\bigg(\Bigg(
sizes in Chromium.- \boxed & \colorbox in WebKit
- \lower in WebKit
- \raise, \raisebox, & \lower all adjust height & depth in Chromium. (Alas, not in Firefox).
- Use instead of (to comply with MathML-Core).
- Support \VDash
- Simplify code for extensible arrows
- \QED
- Display \nabla as upright, not italic
- Center display mode math
- \bin{symbols}
- Support
throwOnError
rendering option - Support
\eqeq
and\eqeqeq
- Enable arbitrary Unicode characters inside strict-mode
\text{…}
- Unicode ℓ
- Left-justify after a newline
<mrow>
containing a singleDocumentFragment
. Resolves issue #18.
- Remove
mathcolor
property. Resolves issue #17. <mrow>
containing a document fragment\definecolor
with lower case rgb
- color/spacing/linebreaking interaction
- Number parsing. Resolves issue #13.
- Soft lines breaks via CSS flex-wrap
- consumeSpaces() to consume non-breaking space
- Support \leftouterjoin, \rightouterjoin, \fullouterjoin
- Consolidate contents of \operatorname when possible
- Insert space after a subsup whose base is an op
- Spelling errors
- A space prevents an optional argument to \
- \cent
- Unicode input for chancery and roundhand (script) letters.
- Support for \oldstylenums
- \underline inside \text{}
- Align-left in {cases} in Firefox
- Hard line breaks
- Wrap \vdots in
<mrow>
, not<mi>
- Use CSS style='font-weight:bold;' for \pmb
- \underline inside \text{}
- Align-left in {cases} in Firefox
- Hard line breaks
- Wrap \vdots in , not
- \pmb via CSS font-weight: bold
- \texttt{}
- CSS file for XTIS font
- Remove support for \arraystretch
- Control soft line breaks with a rendering option
- Array spacing via CSS, not attributes
- Support \gdef and \global\let
- Support array double borders called by double \hline and {array}{c||c}
- Support \mapsfrom
- Avoid unwanted stretch of harpoons
- \hline after \cr
- \prime vertical alignment in STIX TWO and Asana
- Ignore emoji suppression character ︎
- Avoid recursive call to parser which evaded limit on \def
- Soft line breaks are now controlled by the
wrap
rendering option. Temml does this by creating a series of<math>
elements.
- Get (lowered) prime from Temml.woff2 font
- Add a prime character to Temml.woff2
- Consolidation of text into a element
- Vertical arrow heights in Chromium
- mclass, e.g. \mathrel, in Chromium
This release is all about Chromium. Ignalia has announced an intent to ship MathML in Chromium. In anticipation of that event, this version of Temml is written to support both Firefox and Chromium.
Those two implementations are not written to the same specification. So Temml’s MathML must conform simultaneously to both MathML 3 (Firefox) and MathML Core (Chromium). Given that challenge, I’m pretty happy with how well it has turned out. Temml emulates several hundred LaTeX functions and nearly all of them work very well.
It’s not all perfect. In this version, Temml drops support for \cancelto
, \toggle
, \texttip
, \phase
, and \longdiv
. I think that \toggle
and \texttip
are probably gone forever. The others I hope to restore someday after Chromium fully supports the menclose
element.
Also, Chromium’s implementation of MathML is new and not yet mature. It fails with some stretchy accents and extensible arrows. Chromium cannot yet print a page that contains MathML. I’m testing this in Chrome Canary and those issues may be worked out before MathML is shipped.
- Support for MathML Core for rendering in Chromium
- Support for
\cancelto
,\toggle
,\texttip
,\phase
, and\longdiv
- Colors of lower-case color names
\surd
vertical alignment when rendered in Latin Modern
- Avoid crash when mhchem \ce{} is empty
- Numerals in text mode
- Support Unicode (sub|superscript) characters
- Added operator spacing to Unicode characters ∖∘∙
- Avoid error when a spacing function is the base of a subscript.
- Fix nested font size changes
- Replace string.substr() with string.slice()
- Use Unicode U+203E, Overline, for \bar{}
- Support \strictif and \strictfi
- Explain how to work around a Cambria Math radical size problem
- Edit README for brevity
- Workaround a Firefox bug. Prevent space around a \mathrm{} function with a one-character argument.
- 15 functions from the
cmll
package
- Omit color attribute and wrapper from \rule when unecessary
- More improvement of recognition of delimiters after functions like \sin
- Improve recognition of delimiters after functions like \sin
- \bm{\sin}
- Remove spurious space between \sin (x)
- \mathinner when part of a denominator
- In default Temml, Numbers are now consolidated into one element if they begin and end with a number and contain numerals, commas, or dots
- Some error messages are revised
- Documentation section regarding numbers
- Suppress operator spacing between adjacent relations
- \tag now stays in display mode
- Parse error message now is displayed on screen, not in a hover hint.
- Added locations to some error messages.
- \vcentcolon, \ratio
- Rendering option
maxSize
now takes an array of two numbers.
- \centerdot
- text-mode colon
- All unit tests now pass.
- All SVG images have been removed from Temml
- \mathcal{ego}
- \not\operatorname
- \big\backslash and \right\backslash
- displaystyle \sideset
- :=
- {cases} environment row spacing
- \varnothing
- math-mode \O and \o
- Greek edge cases of bold, italic, and sans-serif
- \shortmid, \nshortmid, \shortparallel, \nshortparallel, \smallsetminus
- non-stretchy accents (so they do not stretch)
- Make best effort to support Greek sans-serif
- \sgn
- \bmod
- \colon spacing
- \right .
- \includegraphics
- \angle padding
- \subarray row spacing
- "/" spacing
- width of stacked harpoons
- operator spacing when adjacent to \color
- Improve laps
- Use character U+2044 for inline fractions
- Work around Firefox bug affecting \mathrlap
- \boldsymbol when it wraps an operator
- array environment enclosing lines
- \mathbf{\Omega}
- \mathop
- Copy button to home page.
- Images from LaTeX in KaTeX screenshotter tests
- Mozilla test suite
- mhchem test suite
- Remove \centerdot
- Remove \vcenter
- Remove \newextarrow
- Edit mhchem to sync w/extensible arrow fix.
- Prevent arrowhead distortion on extensible arrows
- Fix scriptstyle errors.
- Adjust RGB values of base colors.
- Support \odv and \pdv from derivative package
- Rendering option
elementIsMath
- Make color names case-sensitive
- Use Unicode character U+212B for \AA
- Explicitly set stretchy="true" on delimiters to evade a Firefox bug
- Soft line breaks inside \color
- \mathbin that contains a
- \definecolor
- Optional argument that sets the color model in color functions
- Predefined colors per Tables 4.1 and 4.2 in xcolor package
- \nsubset and \nsupset
- Use character U+005F for \overline and \underline. Regain stretchiness.
- Spacing for \mid
- Workaround a Fireox bug for spacing of
- Rendering option preventTagLap
- Support for \global, \gdef, and \xdef
- Preamble definition
- Support \nonumber
- STIX2 is now available on the home page
- Text mode accents in strict mode get only a console message, not an error.
- Revert to macron character for \bar
- Change a font name from Temml-Script.woff2 to Temml.woff2.
- Change a folder name from /temml/ to /assets/.
- Documentation clarifies the current chancery/roundhand situation.
- Support \ballotx
- Support \permil
- Support \c
- Support \female and \male
- Support \relax
- Soft line breaks in Firefox, if no
- element namespace is now optional
- elemennt w/TeX string is now optional
- Removed "temml" class from element
- Reduced number of visible DOM elements
- Support AMS environment w/one empty row
- \bar{} accent now uses character U+2015, horizontal bar
- Spaces inside \text{}
- \char now supports >16-bit Unicode characters
- \mathbb operating on numbers
- Circular dependency
- Stretchy arrow bug
- Validation errors in \mathop, \mathrel, and \operatorname
- Change CSS files. Each CSS file now is synchronized with a single math font.
- Support Asana and XITS fonts.
- Support \Braket, \Set, and \set.
- Soft line breaks, since they will not work in Chromium.
- Improve handling of \limits
- Improve handling of newline.
- Respect catcode in macro expansion and set ~ correctly.
- Improve \operatorname*.
- Fix non-stretchy accents in Firefox.
- Use correct Unicode for uppercase Greek.
- Support font functions via substitution of Unicode characters instead of
mathvariant
. Font functions will now work in Chromium. - Change \pmb to use CSS text-shadow instead of
mathvariant = bold
.
- Support \backcong.
- Treat
\
followed by whitespace including up to one newline as equivalent to\
. - Isolate
border-color
from page CSS.
\P
and\S
in math mode.
- Workaround for Firefox arrow minlength bug.
- \overlinesegment & \underlinesegment
- \overlinesegment & \underlinesegment SVGs
- Removed Firefox browser sniff from CSS
- Initial Release