
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
MathKeyboardEngine provides the logic for a highly customizable virtual math keyboard. It is intended for use together with any LaTeX typesetting library.
MathKeyboardEngine for Python provides the logic for a highly customizable virtual math keyboard. It is intended for use together with any LaTeX typesetting library (for example matplotlib.mathtext, sympy in combination with the official latex install or Katex in a webview).
Also available:
insert(some_matrix_node)
or move_up()
, delete_left()
, etc.get_edit_mode_latex()
outputs the total of LaTeX you typed, for example \frac{3}{4}\blacksquare
(if \blacksquare
is your cursor), which you then feed to the typesetting library for display.get_view_mode_latex()
outputs the LaTeX without a cursor.Live (JavaScript) examples can be tested at mathkeyboardengine.github.io.
A Python example for the PyQt6 GUI framework can be found in the examples folder. Note that the Python example is limited, because it does not handle physical keyboard input. Also, there are many more GUI frameworks for which there is no example. However, the PyQt6 example might provide insight in how to use MathKeyboardEngine in any project.
Unique about MathKeyboardEngine:
StandardLeafNode
, StandardBranchingNode
, AscendingBranchingNode
and DescendingBranchingNode
can be used for almost all LaTeX, including fractions, powers, combinations, subscript, etc. with ready-to-use up/down/left/right navigation.A con:
More pros:
Run the following command in the VS Code
Terminal:
py -m pip install --upgrade mathkeyboardengine
Then use
from mathkeyboardengine import *
k = KeyboardMemory()
latexconfiguration = LatexConfiguration()
# subscribe to button click events of virtual key presses, etc.
or
import mathkeyboardengine as mke
k = mke.KeyboardMemory()
latexconfiguration = mke.LatexConfiguration()
Note: "mke" is an abbreviation of "MathKeyboardEngine". You can choose something different.
Visit the documentation and the (latest version of the)* examples folder for more implementation details.
* If you use a version tag in the url like this: https://github.com/MathKeyboardEngine/MathKeyboardEngine.Python/tree/v0.2.0, you can see the git repository as it was for that version. That may not be needed if the changelog doesn't note any important changes.
Follow these steps to set up (and verify) a development environment for this repository:
pip
.py -m pip install pytest==7.4.4
.py -m pytest tests/
.py -m pip install pytest-cov==5.0.0
py -m pytest tests/ --cov=src --cov-report term-missing
.py -m pip install nox==2023.4.22
py -m nox
(this uses noxfile.py from the root of the repository).The MathKeyboardEngine repositories use the most permissive licensing available. The "BSD Zero Clause License" (0BSD) allows for
commercial + non-commercial use, closed + open source, with + without modifications, etc. and is equivalent to licenses like:
The "BSD Zero Clause License" (0BSD) does not have the condition
(...), provided that the above copyright notice and this permission notice appear in all copies.
which is part of the "MIT License" (MIT) and its shorter equivalent "ISC License" (ISC). Apart from that they are all equivalent.
FAQs
MathKeyboardEngine provides the logic for a highly customizable virtual math keyboard. It is intended for use together with any LaTeX typesetting library.
We found that mathkeyboardengine demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.