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 toexpl3
? - Joseph
- It was not a simple ‘switch’. Will Robertson had asked me about my experience of
expl3
about the time I decided to recodesiunitx
. At the time, I’d got basically no knowledge ofexpl3
, 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 fromexpl3
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 developingsiunitx
v2 using it. I had a lot of questions, and found some big gaps (there was no support forkeyval
beyond some very basic stuff). I wrote some code as an ‘outsider’, for examplekeys3
(nowl3keys
), 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]
dolongtable
stuff, but what people find harder than the different environment name is that the breakable version can’t be in atable
orminipage
or other non-breakable thing. Not sure how to fix that. (Well I have plans to allowlongtable
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 likeTaBlE
(use by ConTeXt). None of them offer what I guess I feel is a complete solution: a singletabular
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
andanswers
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 withanswers
. - 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 inbiblatex
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!
Great interview, thanks to Joseph, Paulo, and everyone else for making it happen 🙂