April 2021
Export & plot in style
A discussion on contributor support
Concerns were raised1 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 updates.orgmode.org 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…
DOI link exporting
Digital Document Identifiers (DOIs) are an ISO-standardised way of robustly linking to a particular online resource. You’ll see these a lot with academic papers, for example.
Thanks to Nicolas Goaziou, when exporting to HTML, LaTeX, Ascii, and texinfo DOIs are turned into links, for example https://doi.org/10.18637/jss.v046.i03 becomes:
This is a minor change, but I think DOIs are great, so I’m highlighting it.
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
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
, andorg-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
| 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
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
andorg-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
, andchar*
. 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
Footnotes:
Disclosure: this is me.