KeenWrite: An Open Source Text Editor for Data Scientists and Mathematicians

Brief: An interesting text editor that supports R markdown. With codes in R, you can add string interpolation, graphs and other mathematical expressions to your text document.

KeenWrite: A Useful Open Source Markdown Editor With R Code Support

Keenwrite Equations
Image Credit: KeenWrite

There are several open-source Markdown editors available for Linux but KeenWrite is a bit interesting with the string interpolation and R markdown support.

Not just limited to that, it also supports real-time preview and a bunch of other features particularly helpful for academics in mathematics, statistics and other related fields.

Features of KeenWrite

Keenwrite

To give you an overview, let me go through the features it offers. You can also watch the official video below to get a better idea:

  • Real-time preview with variable substitution
  • R Markdown support
  • Uses String interpolation
  • Mathematical expression support
  • Auto-complete variable names
  • Write mathematical formulas using a subset of TeX
  • Spellcheck feature
  • Inline Code support
  • Code block
  • Essential formatting options that include superscript, subscript
  • Gives you the ability to add pictures, quotes, links
  • Export options include Markdown, HTML/SVG, and HTML/Tex
  • Available on Windows and Linux

This video by its developer describes the features in detail:

Installing KeenWrite on Linux

Unfortunately, there’s no .deb or Flatpak package to get it installed on Linux distributions. But, there is a binary file available that you can download and run to get started.

You need to head to its GitHub page, download the .bin file and the follow the instructions mentioned there or type in the following commands (assuming Downloads is the directory where the file gets stored):

cd Downloads
chmod +x keenwrite.bin
./keenwrite.bin

My Thoughts on KeenWrite

Keenwrite Preferences

Even though I miss a dark mode on KeenWrite, the feature set seems useful enough. You get to tweak the font size, image file format support, definitions, and the configuration for using R Markdown.

In either case, we have a lot of Markdown editors available for Linux. So, if this does not suit your needs, feel free to explore our list of best Markdown editors as well.

What do you think about KeenWrite? Isn’t this an interesting text editor? Let me know your thoughts in the comments below.

Similar Posts

  • This looks interesting. I might give it a spin, but am getting a bit old for the “geek stuff” needed to install – and above all – maintain it.

    It may be worth broadening the discussion a little.

    @ambrose @TheLinuxGamer : quite a few applications use the LaTeX engine in the background, but are easier to use within their deliberately limited scope. The engine is unrivalled for serious publication work and you are not always informed when it is part of a package. LaTeX, even with a good editor like TeXstudio, can be intimidating. Occasional users like me (books and scientific articles) are constantly searching the web for reminders of complicated code for doing simple things. Universities generally have their own gurus.

    I note that Scribus can include LaTeX by means of render frames. That way, you get impeccable typesetting without needing the skill needed to use the extensive manual facilities provided in Scribus. Though I use Scribus nearly every day for desktop publishing I find the LaTeX render frames difficult. This is only because adequate documentation is lacking; Scribus seems to be short of resources, due in my opinion to shortcomings of the current FOSS model. Perhaps an obvious development would be to include something like KeenWrite in the render frame system:
    https://subscription.packtpub.com/book/hardware_and_creative/9781849513005/6/ch06lvl1sec09/understanding-the-render-frame

    Finally, a while ago the maths functions of the LaTeX Tikz package failed to work for me. According to information on the web, this can happen when your computer has more than one copy of elements of the LaTeX engine (I was using TeXlive). Troubleshooting that sort of thing is a nightmare. A simple and effective workaround was to use the online service Overleaf, which is always up to date, and free with generous storage capacity for individuals. You can download your documents to work on them at home.

  • Why does it only offer a “subset” of TeX? TeX is free software; its code can legally be copied (or translated from C to Java). There’s no reason to reinvent the wheel, and even less reason to reinvent part of a wheel!

    • https://github.com/DaveJarvis/keenwrite/issues/69

      While the wheel was not reinvented per se, if technical nuances regarding integration of Java-based TeX implementations interests you at all, I encourage you to peruse the research line in the ticket to learn more.

      The short of it is this: there are no real-time, Java-based TeX engines that fully implement TeX in ways that are simple to integrate.

      JMathTeX was the best implementation I could find to avoid reinventing that wheel. It isn’t a complete TeX implementation, nor was it real-time until I optimized it. Hence the note about the TeX integration being a subset. See my fork at https://github.com/DaveJarvis/JMathTeX/ for details.

      Note that TeX and LaTeX are different beasts, but the terms are often misused interchangeably.