CSharpMath 0.5.0-alpha

The core of the C# math rendering engine - CSharpMath.
     Can display beautiful math equations and symbols from the LaTeX format.
     Needs a front end to function.
     Currently, front ends exist for Avalonia, iOS, SkiaSharp and Xamarin.Forms.

This is a prerelease version of CSharpMath.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package CSharpMath -Version 0.5.0-alpha
dotnet add package CSharpMath --version 0.5.0-alpha
<PackageReference Include="CSharpMath" Version="0.5.0-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSharpMath --version 0.5.0-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

# 0.5.0 Evaluation Update Alpha

## Changes from v0.4.2 (Recently merged first)
## 🚀 Features

<details><summary>`Change AngouriMath reference to use NuGet package instead of git submodule` (#149) @Happypig375</summary><table><td>

Also added a calculator to Avalonia Example

<details><summary>`Parser refactor (part 1)` (#143) @Happypig375</summary><table><td>

Now every command is put into a central place for lookup.

Also added `\atopwithdelims` to let `MathListFromLaTeX` be able to consume `MathListToLaTeX` output, and `%` for comments are now supported in `MathListFromLaTeX` and `MathListToLaTeX`.

`AliasDictionary` has been split into `BiDictionary` and `ProxyAdder`.

Contributes to #58.

<details><summary>`System.Drawing.Color` (#141) @charlesroddie</summary><table><td>

Reduce code by removing a Color structure that duplicates System.Drawing.Color. Presumably this predated netstandard.

<details><summary>`Added the bra and ket commands for Dirac notation support` (#134) @jclapis</summary><table><td>

This pull request adds the `\bra{}` and `\ket{}` commands, which are useful shorthand commands for work involving quantum mechanics and Dirac notation.

Example of a common use case:

Their implementation is inspired by the popular [braket LaTeX package](https://www.ctan.org/pkg/braket).

## 🐛 Bug Fixes

<details><summary>`Killing four bugs with one PR?` (#144) @Happypig375</summary><table><td>

This should finish #123, #136, #137 and possibly #138.

<details><summary>`Spacing and bounding boxes (part 1)` (#132) @Happypig375</summary><table><td>

Part of a series of PRs on fixing #32

- Fixed large space above large matrices
- Fixed several parsing bugs like `\left( x\\ y\right) ` which round-tripped to `\left( x\\ y&\right) `
- Better error messages for `\begin \end` and `\left \right` pairs
- And refactorings

<details><summary>`Align text center and right correctly` (#126) @Happypig375</summary><table><td>

Implements #123

<details><summary>`Fix punctuation` (#128) @Happypig375</summary><table><td>

According to AMSMath documentation, ! should be of Class Punctuation instead of Close. Not sure why ? and ! are classified as Close which brings complexity when dealing with brackets.

<details><summary>`Punctuation should stick to inline maths` (#119) @Happypig375</summary><table><td>

Implements #113

## 🧰 Maintenance

- `CSharpMath.Evaluation.Interpret tests` (#151) @Happypig375

- `Automatic releasing` (#150) @Happypig375

<details><summary>`Updated Avalonia to 0.10.0-preview1` (#146) @jp2masa</summary><table><td>

## Changes
- Updated Avalonia to 0.10.0-preview1:
 - Updated default text color and font size:
   - Text color is now based on fluent theme resources (won't work for default theme, which I think will be deprecated soon anyway).
   - Font size is now constant `14.0f` (this value comes from fluent theme resources, there is also a bug which blocks using the resource: it is `double`, but font size is `float`, probably a bug in Avalonia).
 - Updated Avalonia sample:
   - Also removed `SideBar.xaml`: the default styles for `TabControl` is good in fluent theme, also the side bar styles don't look good in fluent.

- `Apparently you can add redirect buttons in issue template selection` (#147) @Happypig375

<details><summary>`Enable CSharpMath.Rendering.Tests.TextPainterSettings` (#139) @Happypig375</summary><table><td>

Comment out specific problematic test cases instead of skipping the whole test

Also fixed CSharpMath.Ios.Tests.MathInline not actually being inline

<details><summary>`CSharpMath.Ios.Tests` (#133) @Happypig375</summary><table><td>

Also enabled artifact uploading of image test results.

A better way of comparing images will be needed, as image size comparisons are unreliable.

<details><summary>`Fix dependency version of CI packages + SourceLink infrastructure` (#131) @Happypig375</summary><table><td>

Per https://github.com/dotnet/sourcelink/issues/255, non-NuGet feeds do not support `.snupkg`s, so they are not available for CI packages.

- `Add nightly steps to README` (#130) @Happypig375

- `New shields` (#129) @Happypig375

- `Upload CI artifacts` (#127) @Happypig375

- `Stick a Status:New label to all non-Chat issue templates` (#122) @Happypig375

## Contributors
@Happypig375, @charlesroddie, @jclapis and @jp2masa

NuGet packages (3)

Showing the top 3 NuGet packages that depend on CSharpMath:

Package Downloads
The base code for a What You See Is What You Get math editor.
The iOS front end for CSharpMath.
Can convert CSharpMath.Atom.MathList parsed from LaTeX with CSharpMath.Atom.LaTeXParser into actual mathematical expressions that are evaluatable with AngouriMath. Supports arithmetic, trigonometry, symbolic simplification and expansion, as well as matrices, sets, and equation solving.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.5.0-beta 546 11/1/2020
0.5.0-alpha4 1,184 8/3/2020
0.5.0-alpha3 205 8/3/2020
0.5.0-alpha2.2 76 8/2/2020
0.5.0-alpha2.1 59 8/2/2020
0.5.0-alpha 161 8/2/2020
0.4.2 6,800 4/15/2020
0.4.1 270 4/14/2020
0.4.0 3,078 4/10/2020
0.4.0-beta 297 4/3/2020
0.4.0-alpha 263 3/18/2020
0.3.0 847 12/19/2019
0.3.0-beta3 524 11/8/2019
0.3.0-beta2 248 11/4/2019
0.3.0-beta 339 9/8/2019
0.3.0-alpha 298 8/23/2019
0.2.0 2,832 1/22/2019
0.2.0-beta1 488 1/5/2019
0.2.0-alpha3 504 11/24/2018
0.2.0-alpha2 407 11/17/2018
0.2.0-alpha 390 11/6/2018
0.1.5 512 1/1/2019
0.1.4 420 12/5/2018
0.1.3 439 11/11/2018
0.1.2 460 10/21/2018
0.1.1 438 10/13/2018
0.1.0 468 10/6/2018
0.1.0-rc.3 969 10/1/2018
0.1.0-rc.2 266 9/21/2018
0.1.0-rc.1 241 9/19/2018
0.1.0-rc.0 262 9/14/2018
0.1.0-pre8 561 8/26/2018
0.1.0-pre7 482 8/16/2018
0.1.0-pre6 474 8/8/2018
0.1.0-pre5 457 7/27/2018
0.1.0-pre4 501 7/20/2018
0.1.0-pre3 528 7/17/2018
0.1.0-pre2 469 7/14/2018
0.1.0-pre10 454 9/6/2018
0.1.0-pre1 505 6/28/2018
0.0.0 522 12/29/2017
Show less