https://github.com/tejashah88/mathquiver
A Desmos-like experience to type Excel formulas in a more sane manner. The ideal tool for engineers, scientists and Excel-aholics.
https://github.com/tejashah88/mathquiver
desmos engineering excel formula latex mathematics mathlive
Last synced: 3 months ago
JSON representation
A Desmos-like experience to type Excel formulas in a more sane manner. The ideal tool for engineers, scientists and Excel-aholics.
- Host: GitHub
- URL: https://github.com/tejashah88/mathquiver
- Owner: tejashah88
- License: mit
- Created: 2025-09-17T08:49:59.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-04T18:25:15.000Z (8 months ago)
- Last Synced: 2025-11-04T20:24:16.595Z (8 months ago)
- Topics: desmos, engineering, excel, formula, latex, mathematics, mathlive
- Language: TypeScript
- Homepage: https://tejashah88.github.io/mathquiver/
- Size: 1.59 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: docs/supported-excel-functions.md
Awesome Lists containing this project
README
# MathQuiver: Sane Equation Typing for Excel
A Desmos-like experience to type Excel formulas in a more sane manner. Check it out [here](https://tejashah88.github.io/mathquiver/)!

Try out the example by downloading and importing [this workspace file](docs/mathquiver-example.json).
## For Users
### Features
- Desmos-like equation typing experience with LaTeX support
- Can convert algebra-level equations to Excel formulas with variable replacement
- Detects missing variables and invalid Excel references
- (Should) support desktop and tablet viewing (mobile not supported)
- Can export/import workspace (as file) for later
### Quick Start
1. Enter your desired equations in the 'Equations' section.
- You can type equations like functions (eg. `f(x)=Ax+b`), but only RHS is converted.
- You can also add domain limits with a comma at the end (eg. `x, x < 0`).
- Any ***orange*** borders indicate an incomplete or unparsable equation.
- Any ***red*** borders indicate an unsupported equation for conversion.
2. Enter your desired variables in the 'Variables' section.
- Add units in square brackets (eg. `[N/m^2]`) for clarity.
- 'Excel Ref' contains the starting cell reference. Use **F4** to cycle through anchors ($).
- Any ***orange*** borders indicate a missing cell reference.
- Any ***red*** borders indicate an invalid cell reference.
3. Click the Excel file icon to copy the corresponding Excel formula (includes **=**).
### Tips & Tricks
- **Only a limited subset of Excel functions are supported.** See [this list for details](https://github.com/tejashah88/mathquiver/blob/main/docs/supported-excel-functions.md).
- Drag and drop equations and variables with dots handle on left side.
- Snap this window to either side for a side-by-side workflow with Excel.
- Activate "Focus Mode" to hide missing variables & validation highlighting.
- To add text, type **"** (double quotes) in an empty box to enter text mode.
- To add a LaTeX expression, type **\\** (backslash) to enter LaTeX mode.
- Use the Import/Export buttons to save your workspace for later.
### What's not supported?
- Array-based formulas like `SUM()` are not supported.
- Ranges for variable substitution like `A1:A10` are not supported.
### Known Bugs
- Variables with complex subscripts are not fully supported (`a_{n+1}+b`, `x_{y+1}^{z}`).
## For developers
### Algorithms
All algorithms related to equation parsing and traversal in LaTeX or MathJSON are documented in [docs/algorithms](docs/algorithms)
### Setup
```bash
git clone https://github.com/tejashah88/mathquiver.git
cd mathquiver
npm install
```
### Running the development server
```bash
npm run dev
```
Open [http://localhost:3000/mathquiver](http://localhost:3000/mathquiver) in a new browser tab.
### Creating a static site export
```bash
npm run build
```
Open `./out/index.html` in a new browser tab.