120,802 reputation
8313608
bio website texdev.net
location Northampton, United Kingdom
age 37
visits member for 4 years, 4 months
seen 2 hours ago

I'm an active developer for LaTeX, most notably with the package siunitx for formatting numbers and units. In my day job I work as a chemist, and so you'll see I write a number of chemistry-related LaTeX packages. I'm also a member of the LaTeX3 Project, working on improving LaTeX with the eventual aim of producing LaTeX3. To keep people up to date with my TeX work and anything else TeX-related I see, I have a blog on TeX matters. I'm also keen on helping other TeX users, and so I try to watch the various places that people go for help. I'm also on the committee of the UK TeX Users' Group. So I pop up all over the TeX world!

For the avoidance of doubt, any code of mine that I publish on http://tex.stackexchange.com/ I hereby place in the public domain to the extent governable by law. Explicitly, I place it under the CC0


8h
comment Formatting numbers the Indian way
There's an open feature request for this but it certainly will not happen before v3. Moreover, I'm still very wary of this as the entire 'three digit grouping' business is an international standard.
9h
comment How to remove http://dx.doi.org string from doi field in BibTeX style?
Certainly the fault here is with the export: the DOI itself clearly doesn't contain the web link part. As @DG' says, it seems best to fix the data in the database.
13h
revised why in the second row, the second column is taller than the other
appended answer 214387 as supplemental
17h
awarded  latex3
1d
comment how to 'robustly' use file contents in command arguments?
@flow I didn't say reading from secondary files was out, though at (La)TeX is a typesetting system there is some argument in terms of having the content well-defined and self-contained. You can happily read from a file in a variety of ways, most obviously by arranging them to read in the form \def\foo{setting} as is done for example by the .aux mechanism, also by using as I say \read on a line-by-line basis or indeed using catchfile (more recent). As I say, the position is this behaviour cannot be changes in LaTeX2e (stability): design decisions for LaTeX3 are one for chat!
1d
comment If used insdide \cs_new(_protected), \IfNoValue(TF) doesn't detect -NoValue- at document-level
@Manuel One of the reasons \IfNoVlaue(TF) is expandable is that some people felt it should be usable 'lower down'. However, I'd concur with you: I feel it's a strictly interface thing and shouldn't propagate.
1d
comment If used insdide \cs_new(_protected), \IfNoValue(TF) doesn't detect -NoValue- at document-level
@Manuel 'blank' and 'empty' are not really interface things in the way an optional argument being missing is: that's why we have \IfNoValue(TF) but leave other tests to the code level.
1d
answered If used insdide \cs_new(_protected), \IfNoValue(TF) doesn't detect -NoValue- at document-level
1d
comment how to 'robustly' use file contents in command arguments?
@flow As documented for LaTeX there is no reason to think \input can be used in anything other than non-expansion contexts. (I note that ConTeXt also makes \input non-expandable: it's not just LaTeX!) I'd ask how often in a structural sense it's necessary to use \input in an expansion context: I'd expect configuration or similar files to be written either to be executed (like the .aux file) or parsed (using \read/\readline) in almost every case.
1d
comment how to 'robustly' use file contents in command arguments?
@flow As noted, the LaTeX syntax for \input requires braces (as with essentially all LaTeX mandatory arguments). However, LaTeX also allows the primitive syntax and that is used a lot. The two cases can't be tested for expandably, sot this cannot be changed. Also, as I've noted, the LaTeX version makes use of \input@path which is then used for example by \includegraphics/\graphicspath. That again cannot be fully implemented in an expandable manner.
1d
comment hyperref package including web image in pdf document
@kjetilbhalvorsen If you are using LuaTeX then yes but via escape to Lua. We have a question on that somewhere! (The worry with such things is they of course make your source dependent on external resources which may vanish.)
1d
comment How do I write an Expl3 equivalent?
@Manuel I'd welcome some thoughts on where best to explain this and a good piece of text that is clear to the 'non-pro' (you are quite right about what happens).
1d
comment How do I write an Expl3 equivalent?
@A.Ellett I've added another paragraph to the docs about o-type expansion. We promote V-type where possible as it's conceptually easier to explain: o-type is low-level and relies on TeX as a macro expansion language much more.
1d
comment By which journals is Biblatex accepted?
See perhaps tex.stackexchange.com/questions/12175/…: depending on the journal, you may be able to 'inline' a biblatex bibliography but they may insist on a classical BibTeX arrangement.
1d
revised Problems in installing the latest edition of Texmaker
Remove answer from question
1d
awarded  expl3
1d
comment LaTeX3 Expansion without \exp_after:wN
@egreg Sorry, missed the \exp_not:N (my scratch version had the two settings first then a \exp_not:V here)
1d
revised LaTeX3 Expansion without \exp_after:wN
Add \exp_not:N
1d
comment LaTeX3 Expansion without \exp_after:wN
Note the variable naming here: I've used the expl3 scratch space, but the \<scope>_<name>_<type> idea is general.
1d
comment How do I write an Expl3 equivalent?
Note that in both approaches I've avoided adding too many things stepwise: that gets slow (ongoing work on siunitx involves exactly this point).