TeXtalk: an interview with Joseph Wright

Hello there, welcome to the TeXtalk! We have a very special guest for today: our friend Joseph Wright, one of our TeX.sx moderators, 60k+ rep, 415 badges, member of the LaTeX3 team, member of the biblatex taskforce together with Philip Kime and Audrey Boruvka, author of the amazing

siunitx

package, and an avid blogger on TeX matters. Get ready for this awesome interview!

Paulo
Dear friends, welcome to the TeXtalk! Our interviewee today is Joseph Wright.

Could you tell us a bit about yourself?

:)
Joseph Wright
I’m a chemist, and have spent the past ten or so years as a researcher. I’ve just been appointed as a lecturer: new challenges, new responsibilities!
Paulo
Any hobbies, besides of course being a very skilled clarinetist?

:)
Joseph
I like cycling, but nothing too ‘serious’. As well as the clarinet, I also play recorder, although time for practice is always an issue.
Harish Kumar
I am a fan of the

siunitx

package. Good work you did there. I was just wondering! How do you manage to get time for all these activities?

Joseph
When I’m hard at work on packages, I devote a lot of my ‘spare time’ to them.

siunitx

version one was mainly written over a Christmas holiday and various wet weekends!

Harish
Story goes like Mathematics and TeX etc etc. Can you please tell us how and when did you come inside TeX world and wrote beautiful packages for chemistry as well as physics?
Joseph
I’d heard vaguely about LaTeX during my PhD (2000 or so). At the time, there was no ‘local expert’ and I never really took a look. Then in 2003 I moved to do a post-doc in another institution, and there was a LaTeX user about. I got started with some basics, and wrote my final project report for that job in LaTeX, much to the annoyance of my then-boss.
Harish
Are you British?
Joseph
Yes. Apart from a few months as a baby, I’ve never lived outside the UK. Two summers in Italy which I don’t remember at all.

:-(

egreg
Yet you can read Italian.

:)
Joseph
A little, based on an Open University course a couple of years ago.
egreg
You seem to have good memory.
Garbage Collector
Who influenced you to be a chemist? Why did you choose this major?
Joseph
I’ve always been keen on science, and loved chemistry from being at primary school. Chemistry ‘hero’ wise, I’m a big fan of Pasteur.
Paulo
de Broglie.

:P
Joseph
More of a physicist.

:-)
egreg
Version 1 of

siunitx

was released on 2008/06/15, while version 2 has date 2010/05/23. When did you decide to switch to

expl3

?

Joseph
It was not a simple ‘switch’. Will Robertson had asked me about my experience of

expl3

about the time I decided to recode

siunitx

. At the time, I’d got basically no knowledge of

expl3

, but was interested to learn more.

I started the recode with the idea of using some ideas from

expl3

but in a ‘stand alone’ form (I knew I needed better loops and data structures). However, when I tried that the effort was significant, and I was spending a lot of time basically copy-pasting code from

expl3

into a ‘traditional’ TeX form.

Harish
Are you working on any new package at present?
Joseph
Nothing significant at the moment outside of LaTeX3 work. There are lots of ideas, of course, but time is an issue.
Paulo
you are in the “core team” of LaTeX3. How did you get involved? 🙂
Joseph
It’s all Will’s fault 🙂
Paulo
Oops. 🙂
Joseph
As I said earlier, Will asked me about my opinions on

expl3

. So I started using it, and developing

siunitx

v2 using it. I had a lot of questions, and found some big gaps (there was no support for

keyval

beyond some very basic stuff). I wrote some code as an ‘outsider’, for example

keys3

(now

l3keys

), and asked lots of questions on the list.

After a while, I was asked to join the team, which I was happy to do. At that time,

expl3

was still pretty experimental, so a lot of what both Will and I joined to do was get it working as an API you can actually use.

My biggest reason for wanting a ‘new’ LaTeX is as a user. LaTeX works, but for every real document you need to load too many packages which provide really basic things, like font loading or creating a new float type.

Paulo
Indeed.
Paul Stanley
It’s a bit of a journey from the “naughty boy” who uses LaTeX to write a report to the sort of contribution you are making now, which seems to go beyond just making the tools you need: what is it about TeX itself that is sufficiently interesting for you to devote so much spare time to it?
Joseph
I started wanting to make things work better for my own use: if you look at chemistry support in 2004, there were some significant gaps. Over time, I’ve learnt a lot about TeX, and LaTeX, and can see that if I want to be able to keep using it as a user then there is a need to help new users and old hands, by working with new challenges.
Harish
Is there any

biblatex

style for physicists in mind?

Joseph

biblatex-phys

: A biblatex implementation of the AIP and APS bibliography style.

Harish
Oh. Sorry, totally missed that one! 🙂
Garbage Collector
When you learnt TeX several years ago, which topic did you feel the most difficult to grasp?
Joseph
I think the obvious ones: TeX as an expansion language, using macros as both functions and variables,

\edef

,

\futurelet

, …

JG
Do you see any advantages or disadvantages to more formal LaTeX an

beamer

instruction in the classroom?

Joseph
You mean teaching people LaTeX?
JG
Yes. I guess my question is what do you feel is the best way for people to learn (or teach) LaTeX?
Joseph
I run a beginner’s course, which works well. I think you do need some form of ‘local expert’ to get going, if only to explain that LaTeX is not an editor (an idea I had trouble with to begin with).
Henry De Young
I’d be interested in hearing about some of your ideas for new packages. Would you be willing to tell us briefly about some of them?
Joseph
There are still too many ‘partial solution’ packages on CTAN, where you have to choose one of several not-quite-right implementations to solve a task. A big one for me is tables. The question is how much time to spend on that, and how much to spend on LaTeX3. We’ll want to tackle the same problems there, and with the opportunity to jettison some historical ‘baggage’.
David Carlisle
So what is wrong with the current batch of table packages?
Joseph
:-)
David
Well I suppose my real question is that I have a long list of what is wrong (I wonder if yours is longer or different or…)
Joseph
You know a lot more about tables than I do.

:-)

I’d start with the long tables business: needing a separate environment for breakable tables seems wrong. Styling tables is hard, with too much of the style in the table itself, not in a stand alone header.

For example, there’s no good way to set up so that all tables have certain design features.

Then there’s the fact that there is no internal model for storing table data for manipulation, which then requires multiple passes for pretty simple things.

egreg
I don’t think that the dualism between solid tables and breakable ones is bad. Sure I wouldn’t that my table breaks if I don’t allow it to. 🙂
Joseph
I’m thinking in a

keyval

-like way:

breakable = true|false

.

David
It would be easy to make

\begin{tabular}[breakable=true]

do

longtable

stuff, but what people find harder than the different environment name is that the breakable version can’t be in a

table

or

minipage

or other non-breakable thing. Not sure how to fix that. (Well I have plans to allow

longtable

in those places, but it won’t break)

Joseph
That’s certainly a challenge: I guess you might look in a ‘new’ LaTeX to have a flag set in such cases by the environment so the tabular could then warn

'Breaking not available inside XXX'

.

JG
Do you have an example within tables?
Joseph
Well, there are

longtable

,

xtab

,

tabu

,

booktabs

,

spreadtab

, …, each of which covers part of what you need to do, plus things like

TaBlE

(use by ConTeXt). None of them offer what I guess I feel is a complete solution: a single

tabular

environment which will break if the appropriate option is set, with customisable appearance, etc.

JG
Yes, that is a good point.
Håkon Malmedal
Is

siunitx

more or less feature-complete, or do you have something more in mind?

Joseph
From my point of view, pretty much feature complete.
JG
How much does a beginner’s course cover? What is your advice after the beginning stages? Perhaps I am still a beginner, but I find many of the manuals next to impossible to decipher, in part because I don’t know all of the terminology so I don’t know fully what to look up or how to find it.
Joseph
The course really is basic: Beginner’s course. Knowing what to look for is always tricky.
Paulo
You’ve been on TeX.sx from day zero. Could you tell us a bit about your “journey” in this community?

:)

(beta stage, pro tem mod, elected mod)

Joseph
I got a ‘tip off’ about the site: Will Robertson had already pointed me to the LaTeX questions on appearing on StackExchange.
Paulo
Ah yes, I’ve seen some answers of yours in the main SO site.

:)
Joseph
I started off simply ‘taking an interest’, but must have done something right as I was asked to be a pro tem moderator. Since then, I’ve just tried to be helpful: that’s the point of working with TeX for me.
Paulo
:)

How do you feel about our community?

:)
Joseph
In the main, it works well. From time to time there are issues, but for an internet site where we don’t actually meet in real life, we do OK.
Paulo
Wait for the next UK-TUG meeting. 🙂
Kannappan Sampath
Who are your favorite authors (TeXnical, Technical or otherwise, as you feel appropriate)?
Joseph
You mean of code?
Kannappan
Books, perhaps?
Joseph
Marc van Dongen’s book is very good, as is The LaTeX Companion.
Paulo
And with an epic guy writing the Foreword.

:)

Any plans for writing a LaTeX book?

:)
Joseph
We do need a Programming LaTeX3 book, but there are lots of other tasks. I suspect that needs to wait until we have more parts of LaTeX3 in place.
JG
Do you foresee LaTeX ever being widely used outside of academia to the point that it supplants Microsoft?
Joseph
LaTeX is a specialist tool, and it’s never likely to change. It’s code based, and about producing typeset material. Most people are not interested in that.
cmhughes
Hi there! How did you become involved with the

beamer

and

answers

packages? (I love them both btw)

:)
Joseph
Both ‘lifeboat’ cases, more or less. answers has a license issue, so I stepped in so someone could take over and license as LPPL.
cmhughes
ah ok;

beamer

was a lifeboat case too?

Joseph
beamer

was unmaintained, and there were bugs. Vedran and I stepped up at about the same time: I let him take the lead as far as I could.

cmhughes
what’s it like maintaining those packages? do you find it tricky navigating other people’s code? 🙂
Joseph
Yes.

beamer

is a great package for users, but is not very easy to maintain. In particular, there are very few code comments, and there are some ‘issues’ with the coding (for example treatment of robust commands). I’ve done very little with

answers

.

cmhughes
Are you ever tempted to re-write them both?

:)
Joseph
I thought about it with answers, but don’t want to break existing documents.

beamer

is too complex to do this.

Paulo
How did you get involved in the

biblatex

project too?

:)
Joseph
Once again, at least in part ‘lifeboat’ stuff. I’ve been using

biblatex

for a while, and have written a number of styles (all science related, and so pretty simple in

biblatex

terms). When Philipp Lehman went ‘off the radar’, I got a message from Karl Berry asking if I would be willing to get involved.

Andrew Stacey
What goals would you set for the TeX-SX site for the next year to ensure that it stays a benefit to the community?
Joseph
Focus on welcoming new users: don’t vote to close or downvote too early. Keep an eye on the unanswered: there are questions there that many of the ‘regulars’ can help with. For higher-rep people: let newer users have a change to answer, particularly for the ‘low hanging fruit’ questions.
JG
Do you envision that making a map in LaTeX will be a possibility?
Joseph
TikZ, PSTricks and MetaPost can all draw arbitrary material, but at a cost in terms of complexity. A good map is a complex thing, so I’d probably want to have the co-ordinates set up in something more specialist first, then just plot them.
Paulo
Do you have a “favorite” answer of yours?

:)
Joseph
Possible CMYK ConTeXt colors in TikZ, or perhaps How do LaTeX3 and ConTeXt compare?. Both have a ConTeXt focus, at least in part, and I’d like to think I did a good job on covering something I’m not a regular user of.
cmhughes
what resource(s) would you recommend for someone eager to progress their knowledge of TeX?

:)
Joseph
It depends on the level we are taking about. As you say ‘TeX’ not ‘LaTeX’, I’ll assume you mean programming TeX. There, TeX by Topic is probably the best guide available. The TeXbook is a good read, but usually if you are learning TeX programming you’ll get a more ‘self-contained’ answer in TbT.
cmhughes
ok, thanks!

:)

I mainly meant learning internal stuff to try and help me understand the trickier answers .

Joseph
For internals of LaTeX, you do need to program TeX, but also read things like the LaTeX sources or

latex.ltx
cmhughes
I’ve always found TeX.sx to be very welcoming and friendly – thank you for what you’ve done to culture and nurture the environment.

:)
Joseph
Thanks: the moderators (both now and pro tem) and the wider ‘regulars’ I think have all worked hard at this.
Paulo
How about venturing in the Lua-land?

:)
Joseph
I’ve use Lua a little. At the moment, there is nothing I want to do that cannot be done without LuaTeX, and the idea of maintaining two code bases worries me. However, I’m also keen not to get ‘trapped’ into the idea we cannot use LuaTeX for ‘big ideas’. It’s a question of time!
Paulo
Indeed.

:)

Can you name something you really like in TeX/LaTeX? And is there something you dislike?

Joseph
I like the output, when done properly, and the fact that well-written LaTeX documents do separate out input and output pretty well. As I’ve already indicated, I’m not a fan of the limited nature of the LaTeX2e kernel, and the trouble that you have to go to to make sometimes trivial changes.
JG
Do you use much R? Is there much relationship between R and LaTeX?
Joseph
I’ve never used R, as it’s not really my area. There’s certainly a group of people combining the two, but I know little about the detail.
JG
What is the difference between this forum and the LaTeX Community forum?
Joseph
There are fewer ‘regulars’ on the forum. It’s also more of a discussion site, as fits the structure. That can be a good thing, but can be repetitive. It’s also focussed almost entirely on LaTeX, and the questions tend to be mainly from less-experienced users.
cmhughes
could you tell us about your blog?

:)
Joseph
I set up the blog primarily as I took over the UK-TUG website and wanted a ‘testbed’ for the back-end we use. So I’m on the same host as UK-TUG, and using the same software (WordPress). Over time, though, it’s been a great way to communicate with people. I also get the occasional ‘tip off’.

:-)
Andrew
Would you ever consider writing the articles in LaTeX and having them converted to a suitable input format? (articles for your blog, that is)
Joseph
I’ve not really needed to do that. Most of what I write is quite easy to do in WordPress directly, particularly with the MarkDown plugin.
Andrew
Don’t you find yourself just itching to write

\emph{hello world}

instead of

*hello world*

?

Hendrik Vogt
Actually, when TeXing, I’m sometimes annoyed that I can’t simply do

_hello world_

instead of

\emph{hello world}

🙂

David
\catcode´\_\active\def_#1_{\emph{#1}}
Hendrik
:-)
egreg
An easy question for you: when will

xor

be officially released?

Joseph
:-)
egreg
A rough estimate, then.

:)
Joseph
I need Frank and David to look at the code. I’m only part-way through a read through, but that’s only a first pass. At least another year, I fear, and that assumes I have time to do it. That said, the code does work, so partly what’s needed is to get it to a standard to go in

l3experimental

.

The OR is a complex thing!

David
So (since Frank isn’t here) How have you found working in the L3 project?
Joseph
Over all, it’s been pretty enjoyable. We’ve been delivering some results, which is what I’m interested in, and while I don’t always win the discussions I think my contributions are useful.

It’s been a learning experience for me: I know a lot more about software development now than I did when I joined.

David
You had some articles recently on the merits (or otherwise) of using graphical tools rather as opposed to markup for chemical structures. Other things (notably commutative diagrams) have similar issues. Are there any general guidelines where one should flip input methods?
Joseph
For me, it’s about whether I can read the input and see what is happening. My experience with chemical structures is that this fails with even the best TeX-based input. At the same time, it’s also about the output I can produce: some things really are best done graphically. After all, we use LaTeX because we’re interested in quality typesetting.
David
Ah that reason of course is why 99.9999% of the population prefer to write documents in Word rather than markup. So perhaps everyone just has their own break point…
Joseph
I guess so. As I said, for the case of chemical structures, I also have the quality of the output to consider, and I get the best results with a graphical tool.
David
ah my Word analogy breaks down then.

:-)
Paulo
Will you attend next year’s TUG?

:)
Joseph
I doubt it: Japan’s a long way, and so the cost is high both in cash terms and more importantly time.
JG
What features do you use most in LaTeX and

beamer

? (I’m a layman user so please nothing too technical)

Joseph
‘Day to day’ documents nothing special. I’m currently writing some lecture notes in

beamer

, and they have just text, lists, blocks and images.

Paulo
if you had to name one and only one major groundbreaking feature of LaTeX3, what would that be? 🙂
Joseph
xor
Paulo
Cool! 🙂
Hendrik
What is all this

xor

about?

Joseph
A new Output Routine (OR). The OR is what deals with complex things like floats. Frank’s

xor

is very much more sophisticated than the OR in LaTeX2e. See here for the current development code.

Hendrik
Oh my, and I thought of

xor

. OK, I know (very little) about the output routine, and I guess that trying to improve it will give you sleepless nights…

Joseph
It’s certainly enormous. It’s also been built up since the early 1990s, and needs a full overhaul.
Paulo
Any talks from you in the next UK-TUG meeting?

:)
Joseph
Yes, probably on

xcoffins

.

Paulo
what would be a good way of learning

expl3

?

Joseph
I’ve written some things on my blog which are aimed at newer users: LaTeX3 programming. As I said, we lack a Programming in LaTeX3 book.
JG
What is LaTeX3? I am still learning LaTeX!
Joseph
Don’t worry: the basics will not change.
JG
What does that mean? I will download something new soon? Is it like iPhone3 versus iPhone 4?
Joseph
No: LaTeX2e was released in 1994, and it’s still the current release.

:-)
JG
And LaTeX3e is underway?
Joseph
Work on LaTeX3 started before LaTeX2e was written! You might want to take a look at this paper, which covers some of this. There was a long period with not so much happening on LaTeX3 ‘proper’, but there is now a reasonable amount happening.
JG
You do a tremendous job, Joseph.
Paulo
Thanks a lot for this great interview!

:)
Joseph
No problem.
Paulo
:)

Stay tuned for the next episode of TeXtalk!

One thought

Leave a Reply

Your email address will not be published. Required fields are marked *