YAWYSIWYGEE - Yet another what-you-see-is-what-you-get equation editor (widget)
JohnDTill last edited by
YAWYSIWYGEE (https://github.com/JohnDTill/YAWYSIWYGEE) is a Qt widget for inline editing of typeset equations.
The target is a code editor style rather than a document editor style (think Notepad++ with equations versus MS Word or LyX). Such an equation code editor could be used for:
- Computer algebra systems
- Symbolic math
- Scientific computing languages
- Mathematical scratchpads
- Online forums by compiling to WebAssembly
The name is perhaps overly self-deprecating; although there are many inline equation editors, there is not an abundance of open source options, and a Qt widget should be useful.
This is the first large project I've built to completion, and it took ~5 iterations! Math constructs (roots, matrices, etc.) may be nested arbitrarily deep, so documents have a tree structure. The different mathematical constructs are drawn in a QGraphicsScene.
I floundered around figuring out how to interact with the document, until I realized that the Qt team is never wrong, so I made TypesetDocument and TypesetCursor classes similar to QTextDocument and QTextCursor. I never realized there were so many ways to interact with text editors until I had to implement them all for a tree doc!
Thanks for sharing ! It looks great :-)