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 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.
#r "nuget: CSharpMath, 0.5.0-alpha"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSharpMath as a Cake Addin
#addin nuget:?package=CSharpMath&version=0.5.0-alpha&prerelease

// Install CSharpMath as a Cake Tool
#tool nuget:?package=CSharpMath&version=0.5.0-alpha&prerelease
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
</td></table></details>

<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.
</td></table></details>

<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.
</td></table></details>

<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:
![image](https://user-images.githubusercontent.com/627896/85193555-a702b600-b297-11ea-8b23-86924f09c3f8.png)

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


## 🐛 Bug Fixes

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

This should finish #123, #136, #137 and possibly #138.
</td></table></details>

<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
</td></table></details>

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

Implements #123
</td></table></details>

<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.
</td></table></details>

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

Implements #113
</td></table></details>


## 🧰 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.
</td></table></details>

- `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
</td></table></details>

<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.
</td></table></details>

<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.
</td></table></details>

- `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
CSharpMath.Editor
The base code for a What You See Is What You Get math editor.
CSharpMath.Ios
The iOS front end for CSharpMath.
CSharpMath.Evaluation
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 0 4/20/2021
0.5.0-beta 3,684 11/1/2020
0.5.0-alpha4 2,361 8/3/2020
0.5.0-alpha3 317 8/3/2020
0.5.0-alpha2.2 135 8/2/2020
0.5.0-alpha2.1 108 8/2/2020
0.5.0-alpha 239 8/2/2020
0.4.2 8,707 4/15/2020
0.4.1 375 4/14/2020
0.4.0 3,181 4/10/2020
0.4.0-beta 405 4/3/2020
0.4.0-alpha 369 3/18/2020
0.3.0 944 12/19/2019
0.3.0-beta3 623 11/8/2019
0.3.0-beta2 343 11/4/2019
0.3.0-beta 423 9/8/2019
0.3.0-alpha 390 8/23/2019
0.2.0 2,992 1/22/2019
0.2.0-beta1 633 1/5/2019
0.2.0-alpha3 656 11/24/2018
0.2.0-alpha2 562 11/17/2018
0.2.0-alpha 537 11/6/2018
0.1.5 665 1/1/2019
0.1.4 576 12/5/2018
0.1.3 590 11/11/2018
0.1.2 607 10/21/2018
0.1.1 579 10/13/2018
0.1.0 614 10/6/2018
0.1.0-rc.3 1,081 10/1/2018
0.1.0-rc.2 375 9/21/2018
0.1.0-rc.1 357 9/19/2018
0.1.0-rc.0 382 9/14/2018
0.1.0-pre8 748 8/26/2018
0.1.0-pre7 639 8/16/2018
0.1.0-pre6 624 8/8/2018
0.1.0-pre5 608 7/27/2018
0.1.0-pre4 652 7/20/2018
0.1.0-pre3 670 7/17/2018
0.1.0-pre2 625 7/14/2018
0.1.0-pre10 611 9/6/2018
0.1.0-pre1 653 6/28/2018
0.0.0 641 12/29/2017
Show less