Socket
Socket
Sign inDemoInstall

mathlive

Package Overview
Dependencies
23
Maintainers
1
Versions
170
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.20.0 to 0.21.0

assets/screenshots/keyboards.jpg

95

CHANGELOG.md

@@ -0,1 +1,96 @@

## 0.21 (March 30, 2018)
### Major New Features
- Basic support for Latex macros. Macros can be defined with `MathField.config({macros:'...')`
- Display alternate keys when a key on the virtual
keyboard is held down.
- Support for AZERTY, QWERTZ, Dvorak and Colemak virtual keyboards. Can be setup with `MathField.config({virtualKeyboardLayout:'...')`. Also, shift clicking on the keyboard icon toggles between layouts.
### Other New Features
- Toggle the virtual keyboard layer when the shift
key is pressed
- New `onVirtualKeyboardToogle` handler will get called when the visibility of the virtual keyboard changes. Useful to scroll into view important content that might be obscured by the keyboard.
- Some common functions added as inline shortcuts:
`limsup`, `liminf`, `argmin`, `argmax`, `bessel`, `mean`, `median`, `fft`.
- Added `\rd` command (synonym with `\differentialD` and used by Proof Wiki)
- Added a format option (`latex-expanded`) to `MathField.text()` and `MathField.selectedText()` to return Latex with macros expanded.
- Removed restrictions on charset in `text`
- Support shift + arrows to extend the selection with the virtual keyboard
### Bug Fixes
- More accurate operator precedence. Follow the [MathML](www.w3.org/TR/MathML3/appendixc.html) recommendation, except for arrows that are given a way too high priority in MathML.
- Correctly output to Latex the `\unicode` command
- When undoing, correctly restore the selection
- Improved behavior when inserting superscript and
subscript on a selected item
- Fixed handling of unbalanced `\left`...`\right` sequences
- Correctly output the minus sign to Latex (as U+002D not as U+2212)
- Fixed some cases where the layout would shift by a couple of pixels as you navigated into the expression
### Code Maintenance and Performance
- Use `.test()` instead of `.match()` whenever possible
- Eliminated `.value` and `.children` in Math Atoms. It's only `.body` now.
- Avoid unnecessary rendering while tracking the pointer
- Refactored the Popover code into `Popover.js`
- Moved some content from `Definitions.js` and into `Popover.js`
## 0.20 (March 24, 2018)
### Major New Features
- Virtual keyboards with multi-touch support
- BREAKING CHANGE: the command bar is no longer supported. Use virtual keyboards instead.
### Other New Features
- Added support for wide layouts to virtual keyboard. If space is available, up to four more columns of keys can be displayed.
- Added Copy button to virtual keyboard
- Allow 'space' in command mode
- MASTON: improved parsing of numbers
- Handle Unicode pseudo-superscript characters as exponents
## 0.19 (March 19, 2018)
### Majore New Features
- MASTON: first implementation
- Support selecting cells in arrays
### Other New Features
- MASTON: handle complex numbers and modulo
- Added option for styling of keyboard glyph
- Improved output to Latex for arrays
- Additional trig and long functions (`\lb`, `\arsinh`, `\arcosh`, `\artanh`, `\arcsech`, `\arccsh`, `\arcsec`, `\arccsc`)
- MathML: more robust handling of complex `<mo>`
- MathML: improved handling of fences
- Improved Latex output
### Bug Fixes
- Correctly handle latex output for the `\char` command
- Correctly handle invalid Unicode code points in the `\char` command
- Correctly output MathML for extended Unicode characters and `\char` command
- Correctly handle selection in sparse arrays
- Correct spacing issue of selected items
- Fixed #17: correctly extend the selection when the anchor is at the end of the selection
- The caret would not blink in empty supsub
- The last character of the selection would not be copied on the clipboard
- MathML: don't insert `&invisibleTimes;` for factorial, but *do* insert it before a fence.
- Going up from a numerator longer than the denominator could hang.
- MathML and Latex output: better handling of `\Big` (etc...) delimiters
- MathML: do not render `\text` as `<mi>`
- Latex output: handle the `\math...` (`\mathop`, `\mathbin`...) family of functions
- Properly parse custom operators
- Commands with multiple keyboard shortcuts would not display correctly in the Popover panel
### Code Maintenance and Performance
- Reduce the amount of markup generated, avoid generating markup for empty spans.
- Updated fonts from KaTeX
## 0.18 (March 4, 2018)
### Bug Fixes
- Fixed issue where `\underset` annotation was not selectable
### Code Maintenance and Performance
- Reverted back to WebPack 3
- Simplified CSS and streamlined markup for `vlist` spans.
## 0.0.17 (February 27, 2018)

@@ -2,0 +97,0 @@ ### New Features

2

package.json
{
"name": "mathlive",
"version": "0.20.0",
"version": "0.21.0",
"description": "Beautifully typeset math made easy",

@@ -5,0 +5,0 @@ "license": "MIT",

<h1 align="center">
<a href="https://mathlive.io">
<img src = "https://github.com/arnog/mathlive/blob/master/assets/logo-1024.jpg?raw=true">
<img src="assets/logo-1024.jpg?raw=true">
</a>

@@ -11,33 +11,17 @@ </h1>

[![Greenkeeper badge](https://badges.greenkeeper.io/arnog/mathlive.svg)](https://greenkeeper.io/)
[![Maintenance](https://img.shields.io/maintenance/yes/2017.svg)]()
[![Maintenance](https://img.shields.io/maintenance/yes/2018.svg)]()
[![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://raw.githubusercontent.com/arnog/mathlive/master/LICENSE.txt)
<table align="center" >
<tr>
<td width='21%' align='center' style="border:none;">
<img alt="iPhone"
style='margin:15px;'
src="assets/screenshots/iPhone.png">
</td>
<td width='42%' align='center' style="border:none;">
<img alt="iPad"
style='margin:15px;'
src="assets/screenshots/iPad.png">
</td>
<td width='35%' align="center" style="border:none;">
<img width="50%" alt="Android"
style='margin:15px; box-shadow: 0px 10px 45px #000; border: 1px solid #333'
src="assets/screenshots/Android.png">
</td>
</tr>
<tr style="background-color: initial; border: none;">
</tr>
</table>
<img alt="Screenshot"
style='margin:15px;'
src="assets/screenshots/screenshot.jpg">
MathLive is a Javascript library to render and edit math.
* Fast and small
* TeX-quality typesetting
* <span style="font-family: Times, 'Times New Roman', serif">T<sub style="vertical-align:-0.5ex;margin-left: -0.1667em;margin-right: -0.125em;">E</sub></span>X-quality typesetting
* Easy to use interface for math editing
* Works great on desktop and on mobile devices thanks to a extensive set of virtual keyboards.
* Comprehensive APIs, including generation of **LaTeX**, **MathML** and **Abstract Syntax Tree (MASTON)**
* Comprehensive APIs, including generation of <span style="font-family: Times, 'Times New Roman', serif">L<sup style="letter-spacing: 1px;font-size: 0.85em;vertical-align: 0.15em;margin-left: -0.36em;margin-right: -0.15em">A</sup>T<sub style="vertical-align:-0.5ex;margin-left: -0.1667em;margin-right: -0.125em;">E</sub>X</span>, **MathML** and **Abstract Syntax Tree (MASTON)**
* And it is easy to customize to your needs! Try it at [mathlive.io](https://mathlive.io)!

@@ -44,0 +28,0 @@

# The MASTON Format
The **Math Abstract Syntax Tree Object Notation** is a lightweight data interchange format for mathematical notation.
The **Math Abstract Syntax Tree Object Notation** is a lightweight data
interchange format for mathematical notation.
It is human-readable, while being easy for computers to generate and parse.
It is built on the JSON [1] format. Its focus is on interoperability between software programs to facilitate the exchange of mathematical data, as well as the building of complex software through software components communicating with a common format.
It is built on the JSON [1] format. Its focus is on interoperability between
software programs to facilitate the exchange of mathematical data, as well as
the building of complex software through software components communicating with
a common format.
It is not suitable for a visual representation of arbitrary mathematical notations, and as such is not a replacement for LaTeX or MathML.
It is not suitable for a visual representation of arbitrary mathematical
notations, and as such is not a replacement for LaTeX or MathML.

@@ -40,4 +45,6 @@ ## Examples

A native number is encoded following the JSON grammar, with two extensions:
* support for arbitrary precision numbers. The number of digits included may be more than supported by consuming software. The software can handle this situation by either reading only as many digits as can be supported internally or by treating it as an error.
* support for explicit fractions. These numbers can be used to represent exact fractional quantities.
* support for arbitrary precision numbers. The number of digits included may be
more than supported by consuming software. The software can handle this
situation by either reading only as many digits as can be supported internally
or by treating it as an error.
* support for `NaN` and `infinity`

@@ -55,4 +62,2 @@

&langle;native-fraction&rangle; := [`'+'` | `'-'`] (`'0'` - `'9'`)* `'/'` (`'0'` - `'9'`)*
### Native Strings

@@ -63,3 +68,3 @@ Native strings are a sequence of Unicode characters.

Compliant MATSON producing software should not generate character entities in strings. However, when consuming a MATSON format, the following character entities may be recognize in a string:
Compliant MATSON producing software should not generate character entities in strings. However, when consuming a MATSON format, the following character entities may be recognized in a string:

@@ -83,5 +88,7 @@ Entity | Value | Unicode

* `style`: A CSS style string
* `wikidata`
### Key order
The order of the keys in an element is not significant. That is, all these expressions are equivalent:
The order of the keys in an element is not significant. That is, all these
expressions are equivalent:

@@ -111,3 +118,4 @@ ```JSON

**Note:** When only the `num` key is present a shortcut may be used by replacing the element with the number. That is, both representations are equivalent:
**Note:** When only the `num` key is present a shortcut may be used by
replacing the element with the number. That is, both representations are equivalent:
```JSON

@@ -138,4 +146,4 @@ {"lhs":{"num":1}, "op":"+", "rhs":{"num":2}}

Hat | &#9676;&#x005e; | U+005e | Unit vector, estimator
Dot | &#9676;&#x02d9; | U+02d9 | Derivative with respect to time
Double dot | &#9676;&#x00a8; | U+00a8 | Second derivative with respect to time.
Dot | &#9676;&#x02d9; | U+02d9 | Derivative with respect to time
Double dot | &#9676;&#x00a8; | U+00a8 | Second derivative with respect to time.
Acute | &#9676;&#x00b4; | U+00b4 |

@@ -142,0 +150,0 @@ Grave | &#9676;&#x0060; | U+0060 |

@@ -336,3 +336,3 @@ This guide describes how to use the MathLive Javascript library with your own

* `'numeric'`
* `'latin'`
* `'roman'`
* `'greek'`

@@ -339,0 +339,0 @@ * `'functions'`

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc