Open jaltekruse opened 6 years ago
Hello @jaltekruse What a wondeful project, very well written and useful.
I'm working with a similar project. A builder of math formulas and I' in the step to add the linear equations on my system.
I saw that you are using the MathQuill to add some math elements ( me too ) but it doesn't support case/*matrix elements in its input elements.
Were you able to work around this problem? ( Your suggestion of using a step to add grid with number of columns and lines is so great, I'm almost trying this too )
Something like this:
Hi @Marlysson,
Thanks for the kind words, I'm glad you like the project!
I'm not sure if you might have noticed, but there is a pretty widely used patch on top of mathquill that at least adds support for matrices (not sure if it also adds linear systems).
It was originally developed by the team over at Learnocity, I have been doing some work with @laughinghan on mathquill and getting this into mainline is one of my goals for my work with mathquill.
https://github.com/Learnosity/mathquill/commit/f40f2a9d992f14bf542388b5a83dee21c662bd3b
https://github.com/Learnosity/mathquill/commit/92f2057f5ed096085ee326505d946822e35b733b
Not quite sure how hard this would be to add to the editor. It has support for curly braces {} for use as grouping symbols. It might be hard to make it intuitive with just a keyboard as the giant curly brace for linear systems should probably be totally distinct from the grouping symbol.
Users would need a way to enter a variable number of expressions, which is a similar problem to managing the size of a matrix.
Possible solutions could include an extra step during insertion, similar to the table insertion in modern MS Word. There they show a mini grid and users highlight an N by M rectangle to pick the size.
Another possible solution is starting with some minimum number in each direction and giving a button on the interface to insert a new row/column. This might have complexities of expectations to behave like an excel table, with the options to insert rows and columns above and below (or to the left/right) of any existing ones.