Some TeX Developments

May 17, 2021

Moving from siunitx v2 to v3

With v3 of siunitx out, I am as expected getting quite a few questions about moving from v2. In the main, this is quite easy as there is a decent amount of compatibility code. Here, I’ll pick out a few cases where you might want some adjustments.

May 10, 2021

siunitx v3 beta 2

Following up on the recent first beta for siunitx, I’ve now made a second beta available. There was only one issue picked up so far by testers, plus of course those I’ve spotted myself. In particular, I’ve allowed a way to set the text font manually if simply resetting back to the standard one doesn’t work. I’ve also sneaked in a late addition: the ability to parse and print uncertainties the way NIST seem to suggest they should appear.

April 16, 2021

siunitx v3 beta

I’ve been talking about a new version of siunitx for ages. Progress has been slow but I’ve now put my back into it and got to a feature-complete version: I’m calling this v3.0.0-beta. As this is a beta release, it’s not ready for production just yet, but it is ready for proper testing. I’ve made the TDS-style zip file available here; if you know how to use this kind of file, please download and test!

August 20, 2020

\NewDocumentCommand versus \newcommand versus ...

Creating new document commands in LaTeX has traditionally been the job of \newcommand. This lets you create command with mandatory arguments, and can also add a first optional argument. However, it can’t create more complex commands: LaTeX uses for example stars, multiple optional arguments, etc. To create these, the kernel itself uses lower-level TeX programming. But this is opaque to many users, and a variety of packages have been created to ease the burden.

August 19, 2020

The good, the bad and the ugly: creating document commands

Creating document commands in LaTeX has traditionally involved a mix of \newcommand, semi-internal kernel commands (like \@ifnextchar and \@ifstar) and low-level TeX programming using \def. As part of wider efforts to improve LaTeX, the team have over the past few years improved xparse to the point where it is capable of creating a vast array of document commands.

January 15, 2020

Case changing in expl3

A few years ago I wrote about the work the LaTeX team were doing on providing case changing functions in expl3. Since then, the code has been tested and revised, and very recently has moved to a ‘final’ home within expl3. It therefore seems like a good time to look again at what the challenges are and what tools we’ve provided.

November 2, 2019

siunitx v3 alpha 2

I’ve been talking about a new version of siunitx for a number of years now, and progress has been slower than I’d hoped.

September 6, 2019

Finding files by expansion

The TeX core situation

March 17, 2019

TeXworks v0.63

Regular readers will know that I’m a fan of the light-weight TeXworks editor. It keeps the user interface pared down, letting both new and experienced users focus on their input, whilst at the same time having lots of handy features.

March 7, 2019

Collecting environment content using xparse

LaTeX environments are almost always used for cases where the content does not make sense as a macro argument. That can happen for example because there are clear ‘start’ and ‘end’ conditions, because the content is long and open-ended, or because category code changes are needed.

Full post archive