Interested in Org but not enough to monitor the mailing list? In this blog I digest developments, and each month regurgitate what I consider the highlights, along with anything else Org-related I consider nifty.

Posts are published in .html, .org, .org.html, .txt, and .pdf forms — because why not 😛

April 2021 2021-04-30

A discussion on contributor support

Concerns were raised[1] about some contributors’ patches languishing, and it not being made clear how long it might take to get a response from someone.

In response to this, a the new role of Contributor Steward has been created to: help ensure contributors get a timely response, help out with preliminary patch feedback, and keep up to date.

Org now has three Contributor Stewards to ease the process for patch submitters and core maintainers:

  • Timothy / TEC
  • Tim Cross
  • John Corless

If you’ve been thinking about getting involved with Org, now is a great time to give it a shot!

*Ways you can contribute to the project

Test patches, improve documentation, translate pages, confirm bugs, feedback on a proposed feature, and more…

Org plot improvements

Over the past month org-plot.el has received some attention, my two favourite changes are:

  • You can now call org-plot/gnuplot with C-c C-c on a #+plot: line TEC
  • When an image is regenerated, all instances of the image in the buffer are refreshed TEC
Figure 1: Regenerating an org-plot graphic, showing off: the ease of re-plotting, the new radar type, and a style set by a new variable.

Other than a few minor tweaks and bug fixes, that’s it for April. However, over the last year there have been some rather nice improvements that I didn’t mention in the initial blog post, so let’s go over them now.

  • The inbuilt plot types have been abstracted out into a new structure: org-plot/preset-plot-types. This means if you have a gnuplot template you find yourself using a lot, you can now turn it into a custom plot type 😀 TEC
  • A new plot type has been added: a radar / spider plot TEC
  • Some new plot keywords have arrived too TEC
    • transpose: (trans:) — The plot internally does something very similar to M-x org-table-transpose-table-at-point before using the table data.
    • ymin: (min:), ymax: (max:), xmin:, xmax: — Four new keywords (and two aliases) to set the bounds of a plot. Partially supported by the default types.
    • ticks: — The number of axis ticks to use along the axis. A good value is guessed based on a prime factorisation based heuristic (welcome to improvements).
    • Some new customisation functions — The new variables org-plot/gnuplot-script-preamble, org-plot/gnuplot-term-extra, and org-plot/gnuplot-script-preamble open up new ways to tweak plots to your liking. For example, I use this to set line and background colours based on my current Emacs theme.

If you haven’t used Org plot before, I think it’s a great way to quickly visualise data in a table. To get started, all you need is a #+plot line above the table, with a certain type: specified (e.g. type:2d for a 2d line plot). Then, if you can specify a certain columns as the independent variable (x-values) with ind:, and list dependant variables (y-values) with deps:.

You can see these parameters set in the figure above,

Org mode
#+plot: type:2d ind:1 deps:(2 3 4)
| Xval | Red | Blue | Green |
|    0 |   1 |    2 |     3 |
|    1 |   2 |    3 |     4 |

This will call gnuplot and a window showing the plot will appear. If you want to save the plot to a file, just use the file: parameter, e.g. file:"demoplot.svg" (note the quotes).

That should get you started, you can see the manual for the full list of available keywords and find more examples of usage on worg.

Tweaked ox-html style

As displays become more high-res, lines of text which span the whole screen become … long. So long that it genuinely makes it harder to read the text. A small tweak to the default style and lines are now capped at 60em wide and centred in the page — much better 🙂. TEC

Figure 2: The new export style (left) compared to the old (right).

Also, the HTML export now:

  • has a slightly nicer source block style
  • labels authinfo blocks

A collection of export improvements

  • Verbatim in headings no longer breaks LaTeX exports TEC
  • Make the top level class for exported HTML customisable via org-html-content-class / #+HTML_CONTENT_CLASS Sameer Rahmani
  • Use <img> tags for SVGs with ox-html, for better behaviour and W3C compliance TEC
  • Remove redundant type="text/javascript" from <script> elements Bastien Guerry
  • ox-texinfo now generates better headlines, menus, and footnotes Nicolas Goaziou
  • Parsing during exporting no longer aborts as soon as an #+option key without a value is encountered, instead that key is skipped over Nicolas Goaziou
  • org-html-scripts and org-html-style-default have been changed from constants to configurable values TEC
  • eval macros #+macro: ? (eval ...) are now a little bit faster Stefan Monnier

Miscellaneous changes

  • org-link-descriptive is now buffer-local, to avoid interfering with other buffers Kyle Meyer
  • org-colview no longer chokes when a special property is updated Nicolas Goaziou
  • Now coderefs have their whitespace cleaned up during tangling Tom Gillespie
  • Allow for multiple %(expressions) in org-agenda-prefix-format Ihor Radchenko
  • Code cleanup and refactoring Nicolas Savage, Aaron L. Zeng, Nicolas Goaziou, Bastien Guerry, Stefa Monnier, Arne Babenhauserheid
  • Documentation improvements Jorge Neto, Erik Hetzner, Cheong Yiu Fung, Kyle Meyer
  • New ob-sqlite maintainer — Nick Savage
  • Make lilypond header arguments user-configurable Jamie Bayne
  • Fix ob-C regression which mixed up int, double, and char*. Fix another regression with table parameters tbanel
  • Fix indentation of list items and new logbook drawer notes Bastien Guerry
  • Notice when theme changes with LaTeX previews Yuri Lensky
  • Iron out a few edge cases in ol.el (Org links) Nicolas Goaziou
  • Some new tests for org-protocol Maxim Nikulin

Welcome 2021-04-26


Org is an absolutely marvellous project. However, a quick glance at can lead one to think “so… it’s an Emacs version of Markdown? What’s the big deal?”. While it’s easy to understand how someone might think that at first, that impression misses two crucial points:

  • While for simple constructs (bold, italic, headlines, etc.) the syntax is very much analogous[1], Org scales to much more powerful forms that are a headache to replicate in Markdown

Read more…

CC0 To the extent possible under law, TEC has waived all copyright and related or neighboring rights to This Month in Org.