<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stack Exchange TeX Blog</title>
	<atom:link href="http://tex.blogoverflow.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tex.blogoverflow.com</link>
	<description>The TeX Stack Exchange Blog</description>
	<lastBuildDate>Sat, 19 May 2012 14:51:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>KOMAscript: new English manual</title>
		<link>http://tex.blogoverflow.com/2012/05/komascript-new-english-manual/</link>
		<comments>http://tex.blogoverflow.com/2012/05/komascript-new-english-manual/#comments</comments>
		<pubDate>Sat, 19 May 2012 13:08:03 +0000</pubDate>
		<dc:creator>keksdose</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Packages]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1322</guid>
		<description><![CDATA[Markus Kohm, maintainer of KOMAscript has published a new version (3.11) of the KOMAscript bundle. There is one extraordinary issue: The new version includes a new manual in English. Markus said on his webpage: »A new English user manual with the same structure and completely translated content of the German user manual is provided. There [...]]]></description>
			<content:encoded><![CDATA[<p><em>Markus Kohm</em>, maintainer of <a href="http://www.komascript.de/" target="_blank">KOMAscript</a> has published a new version (<a href="http://www.komascript.de/release3.11" target="_blank">3.11</a>) of the KOMAscript bundle. There is one extraordinary issue: The new version includes a new manual in English. Markus said on his <a href="http://www.komascript.de/release3.11" target="_blank">webpage</a>:</p>

<blockquote>»A new English user manual with the same structure and completely
translated content of the German user manual is provided. There are
still several issues with the translation, nevertheless, it&#8217;s much
better than the previous English manual.«</blockquote>

<p>As far as I can see, all the features of KOMAscript 3 are documented, the same as in the German version.</p>

<p>As TeXLive 2011 is frozen right now , you probably need to download the new version yourself from Berlios; follow the links on Markus&#8217; website. Users of MiKTeX will probably get it soon.</p>

<p>Alexander</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/05/komascript-new-english-manual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Tale of Two Questions</title>
		<link>http://tex.blogoverflow.com/2012/05/a-tale-of-two-questions/</link>
		<comments>http://tex.blogoverflow.com/2012/05/a-tale-of-two-questions/#comments</comments>
		<pubDate>Fri, 18 May 2012 13:56:32 +0000</pubDate>
		<dc:creator>Andrew Stacey</dc:creator>
				<category><![CDATA[Questions]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1316</guid>
		<description><![CDATA[Introduction For quite some time I’ve had the idea of writing a blog post about what makes a Great Question. The first problem with that is that it is highly subjective. I’ve no real problem with that (and this is the blog part of the site, after all) but it needs to be done carefully. [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>

<p>For quite some time I’ve had the idea of writing a blog post about what makes a Great Question. The first problem with that is that it is highly subjective. I’ve no real problem with that (and this is the blog part of the site, after all) but it needs to be done carefully. The second is that it would be very easy to make it about what is <em>wrong</em> with questions rather than what is right. Particularly when comparing questions to see why one is great and another isn’t. So the post keeps getting started and then stopped as it trails off into a lengthy discussion about the quality of sand.</p>

<p>Fortunately, a recent question has given me a way in to this post. It’s almost a duplicate question, in fact. And the two questions are useful ones to compare to see the difference between a Good Question and a Great Question. Both questions are good questions, but the second version had a little bit extra which lifted it.</p>

<p><span id="more-1316"></span></p>

<h2>The Questions</h2>

<p>The two questions relate to drawing a smooth curve through a prescribed sequence of points. The first question is <a href="http://tex.stackexchange.com/q/33607/86">Easy curves in TikZ</a>. As the votes indicate, it’s a popular question. It’s not hard to understand why: TikZ/PGF is great for programmatically drawing stuff but every now and then one wants to be able to say ‘‘Draw something vaguely nice that goes roughly over here.’’. In a drawing program, there’d be a freehand tool to do precisely that. TikZ/PGF doesn’t have such.</p>

<p>The second question is <a href="http://tex.stackexchange.com/q/54771/86">Curve through a sequence of points with Metapost and TikZ</a>. It’s asking the same thing: a smooth curve through a sequence of points. But while the original is a Good Question, this one is a Great Question.</p>

<h2>Making Pearls</h2>

<p>Various of the SE team are quite fond of the metaphor of the SE network as producing <em>pearls</em> from <em>sand</em>. This analogy is used to argue for the emphasis on answers (pearls) over questions (sand) with the oft-repeated phrase:</p>

<blockquote>You don’t optimise for sand.</blockquote>

<p>My opinion is that this is a load of fetid dingo’s kidneys. Quite apart from the evident ignorance of what goes into a pearl (it’s grit and mucus, not sand), the application of that conclusion is upside-down. Whilst you might optimise <em>for</em> your output (pearls), you don’t apply the optimisation directly to it. You optimise the <em>input</em> in such a manner that you get the best output. Thus you optimise for <em>pearl-producing sand</em>.</p>

<p>Grit, actually.</p>

<p>The sand versus grit issue is quite important. My image of an oyster sitting on the sea bed is that he (or she; forgot ‘\usepackage{he-she}‘) is surrounded by sand. If he didn’t like sand, he’d be in big trouble. But grit comes along only every now and then and when it gets into the oyster’s shell, it first tries to get rid of it and then when it can’t do that, it covers it with something faintly disgusting (snot) until it is no longer irritating.</p>

<p>The key there is that the <em>grit</em> is a very specific thing that is highly irritating. And that’s what makes the difference between a Good Question and a Great Question.</p>

<h2>The Grit</h2>

<p>The second question had grit. Both questions raised interesting problems that caught people’s imagination, but in the case of the first I suspect (and certainly for me this is true) it was of the form, ‘‘Yes, it would be great to do this. I’ve no idea how to do it, but if someone solves it I’ll give a big cheer from the sidelines.’’. 29 votes for Jake’s answer shows that I wasn’t alone in this cheering on. But there was no <em>grit</em> in this question.</p>

<p>The second question was highly irritating. It showed clearly and obviously that there was something wrong: in the picture, the superiority of the MetaPost curve is plain. It gave various pieces of the puzzle: knowing that MetaPost could do it, and also linking to Hobby’s original algorithm. By linking to the algorithm, it also brought the problem within reach. To solve the first question one would first have to figure out exactly what a good smooth curve looked like. The second gave the answer. Thus, as an extra, it was more focussed: it wasn’t asking for anyold nice smooth curve but for a specific implementation.</p>

<h2>The Luck of the Draw</h2>

<p>Lastly, the second question had a bit of luck. It was the second question, so Jake already knew that this wasn’t an easy problem and was willing to put a bounty on it. Speaking for myself, I don’t answer a bounty question to get the bounty, but it does make me more likely to think about it because it says ‘‘Someone is particularly interested in this question.’’. Then there were some shortcut answers. The Perl and LuaTeX answers are ingenious, but could be viewed as avoiding the problem. For me, these provided extra irritants: if other programs can do it, why can’t TeX? So not all the grit came from the original question. But there was enough there that others were willing to add extra grit.</p>

<p>The luck component shows that it’s not all about the original question. If someone had known of Hobby’s algorithm and mentioned it in a comment on the first version of this question then it is quite possible that someone would have had a go at implementing it then, whereupon I’d be saying that the first question was a Great Question. Indeed, as I hinted in the introduction there’s nothing particularly bad about the first question and, in particular, it was probably as good as the original questioner could make it. But the second had that little bit extra.</p>

<h2>Make Your Own Grit</h2>

<p>Not every question is going to be or should be a Great Question. The aim of this site shouldn’t be to make pearls. After all, beyond being nice to look at, pearls aren’t that much use. The aim of this site should be to help people. Sometimes that really is saying ‘‘Read p26 of the manual.’’ or ‘‘Use ‘amsmath‘.’’. Those are the sorts of answers that most of the time, most people want. But pearls have their function. They’re pretty, and they attract people to the site. So when we get one, it’s worth shouting about it. Not to say ‘‘Every question should be like this.’’ but just ‘‘Look, here’s something nice to look at.’’.</p>

<p>Nonetheless, whether or not they produce actual pearls, the more grit-like the question the better it is. So what are the essential qualities of grit?</p>

<ol>
<li>It should be irritating.</li>
</ol>

<p>In the right way, of course. A gritty question has the ability to make people irritated not with the question but with their inability to solve it. A prerequisite is that the problem should irritate <em>you</em>. If it doesn’t, how are you going to get it to irritate anyone else?</p>

<ol>
<li>It should be small.</li>
</ol>

<p>It only takes one piece of grit to make a pearl. If you throw too much grit at an oyster it’ll just give up and walk off.</p>

<h2>Conclusion</h2>

<p>When asking a question on TeX-SX, the place to start is to think: ‘‘How do I make my question truly gritty?’’. But there is an obvious warning to heed. The second step in making a pearl is to cover the grit in mucus. So if aiming for a truly gritty question you should expect to get something slightly disgusting in return.</p>

<p>But then that’s only fair. After all, pearls are not to be sneezed at.</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/05/a-tale-of-two-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using sprite sheets with LaTeX</title>
		<link>http://tex.blogoverflow.com/2012/05/using-sprite-sheets-with-latex/</link>
		<comments>http://tex.blogoverflow.com/2012/05/using-sprite-sheets-with-latex/#comments</comments>
		<pubDate>Fri, 04 May 2012 21:32:00 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[LaTeX]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1299</guid>
		<description><![CDATA[Sprite sheet is the name of a big image containing several smaller images or icons. It&#8217;s a technique usually employed by webdesigners to reduce the number of requests the browser makes to the server – reducing the number of HTTP requests can make a Web page load much faster. It&#8217;s also used a lot in [...]]]></description>
			<content:encoded><![CDATA[<p><em>Sprite sheet</em> is the name of a big image containing several smaller images or icons. It&#8217;s a technique usually <a href="http://en.wikipedia.org/wiki/Sprite_%28computer_graphics%29#Sprites_by_CSS">employed by webdesigners</a> to reduce the number of requests the browser makes to the server – reducing the number of HTTP requests can make a Web page load much faster. It&#8217;s also used a lot in animation engines.</p>

<p>I was wondering if I could use a sprite sheet in a LaTeX document, so I got a sample image from the <a href="http://tango.freedesktop.org/">Tango Desktop Project</a> and mapped it:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/05/sampletango.jpg"><img class="aligncenter size-full wp-image-1300" src="http://tex.blogoverflow.com/files/2012/05/sampletango.jpg" alt="" width="192" height="168" /></a></p>

<p>All icons are placed in a big image, like a matrix, and the size is fixed at<code></code> 24px × 24px per icon. How can I select one of the icons from a LaTeX document? Thanks to our friend and moderator <a href="http://tex.stackexchange.com/users/2975">Martin Scharrer</a>, including sprite sheets is a breeze with <a href="https://bitbucket.org/martin_scharrer/adjustbox/overview"><code>adjustbox</code></a>!</p>

<p>This amazing package, amongst other features, allows us to adjust images with <code>\adjustimage</code>. We can also use <code>\includegraphics</code> with the <code>clip</code> option which we can use for mapping our sprite sheet. For instance, let&#8217;s include the warning sign in our document. We need to collect some data first:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/05/sampletango1.jpg"><img class="aligncenter  wp-image-1304" src="http://tex.blogoverflow.com/files/2012/05/sampletango1.jpg" alt="" width="342" height="228" /></a></p>

<p>We have all the parameters for including the warning sign. It&#8217;s now a simple call to <code>\includegraphics[clip,trim=48px 96px 120px 48px]{sampletango.png}</code> or <code>\adjustimage{Clip=48px 96px 120px 48px}{sampletango.png}</code> and the correct icon is included! The parameters to the <code>trim/Clip</code> option are:</p>

<ul>
    <li>2 icons from left to right: 2 × 24px = 48px</li>
    <li>4 icons from bottom to top: 4 × 24 = 96px</li>
    <li>5 icons from right to left: 5 × 24 = 120px</li>
    <li>2 icons from top to bottom: 2 × 24px = 48px</li>
</ul>

<p>The full code is as follows:
<pre>\documentclass{article}</p>

<p>\usepackage{graphicx}
\usepackage{adjustbox}</p>

<p>\begin{document}</p>

<p>\begin{figure}
\centering
% using includegraphics
% \includegraphics[clip,trim=48px 96px 120px 48px]{sampletango.png}
% using adjustimage
\adjustimage{Clip=48px 96px 120px 48px}{sampletango.png}
\caption{A warning sign.}
\end{figure}</p>

<p>\end{document}</pre>
The output:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/05/warning.jpg"><img class="aligncenter size-full wp-image-1307" src="http://tex.blogoverflow.com/files/2012/05/warning.jpg" alt="" width="279" height="112" /></a></p>

<p>There we go, sprite sheets with LaTeX. <code>:)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/05/using-sprite-sheets-with-latex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Voting Up, Voting Down</title>
		<link>http://tex.blogoverflow.com/2012/04/voting-up-voting-down/</link>
		<comments>http://tex.blogoverflow.com/2012/04/voting-up-voting-down/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 16:30:51 +0000</pubDate>
		<dc:creator>Andrew Stacey</dc:creator>
				<category><![CDATA[TeX.sx]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1290</guid>
		<description><![CDATA[(This is by Joseph Wright but he&#8217;s having difficulty logging in to the blog so I&#8217;m posting it for him.) Voting up, voting down Voting is an important part of how StackExchange works. Voting for answers means that good answers are easier to identify, which is vital when you don&#8217;t know the best way to [...]]]></description>
			<content:encoded><![CDATA[<p>(This is by <strong>Joseph Wright</strong> but he&#8217;s having difficulty logging in to the blog so I&#8217;m posting it for him.)</p>

<h1>Voting up, voting down</h1>

<p>Voting is an <a href="http://blog.stackoverflow.com/2010/10/vote-early-vote-often/">important part of how StackExchange
works</a>.
Voting for answers means that good answers are easier to identify, which is
vital when you don&#8217;t know the best way to do something! Voting for
questions is also important, as it helps to sort out the good questions
from those that are less clear. When you are searching for help, what
you want is to know that you are reading the right questions and getting
the right answers.</p>

<p>Now, we have some very clever people answering questions, and they
deservedly get a lot of upvotes. It&#8217;s always tempted to vote for answers
from the &#8216;celebrities&#8217; because of who they are, or because there are
already lots of upvotes, but content should always be the key. So it&#8217;s
vital to read the answer (or question) before voting up.</p>

<p>Of course, not every question or answer is great. Many are simply
middling: they don&#8217;t deserve an upvote, but also don&#8217;t deserve a
downvote. On TeX-sx, we&#8217;ve been pretty cautious about downvoting
material, in the main. Apart from spam, downvoting should only be used
<em>very</em> sparingly. That&#8217;s particularly true when voting on something from
a new user: posting a good first question is hard, and so some helpful
comments are usually what is needed.</p>

<p>Our regular graphical artist and interviewer <a href="http://tex.stackexchange.com/users/3094/paulo-cereda">Paulo
Cereda</a> created a
&#8216;flowchart for downvoting&#8217;.</p>

<p><img src="http://i.stack.imgur.com/KSSY4.png" alt="voting flowchart" /></p>

<p>Of course, being prescriptive is not the idea here: it&#8217;s a reminder to
think before you vote.</p>

<p>So, vote early, vote often, but vote carefully.</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/04/voting-up-voting-down/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TeXtalk: an interview with David Carlisle</title>
		<link>http://tex.blogoverflow.com/2012/04/textalk-an-interview-with-david-carlisle/</link>
		<comments>http://tex.blogoverflow.com/2012/04/textalk-an-interview-with-david-carlisle/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 12:11:23 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[Interviews]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1236</guid>
		<description><![CDATA[Welcome to the TeXtalk! We have a very special guest for today: our friend David Carlisle, member of the LaTeX3 project, editor of the MathML spec, a very active member of TeX.sx, 16k+ rep, 104 badges, and 325+ answers so far. Get ready for this awesome interview! Paulo Cereda: Could you tell us a bit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tex.blogoverflow.com/files/2012/04/textalkcricket.jpg"><img class="aligncenter size-full wp-image-1237" src="http://tex.blogoverflow.com/files/2012/04/textalkcricket.jpg" alt="" width="300" height="225" /></a><em></em></p>

<p><em>Welcome to the TeXtalk!</em> We have a very special guest for today: our friend <a href="http://tex.stackexchange.com/users/1090">David Carlisle</a>, member of the LaTeX3 project, editor of the MathML spec, a very active member of TeX.sx, 16k+ rep, 104 badges, and 325+ answers so far. Get ready for this awesome interview!</p>

<p><span id="more-1236"></span></p>

<p><strong>Paulo Cereda:</strong> Could you tell us a bit about you?</p>

<p><strong>David Carlisle:</strong> Well I&#8217;m 50, living in England, and I started using TeX in 1987, but these days I&#8217;m more of an XML person, working for NAG in Oxford.</p>

<p><strong>Joseph Wright:</strong> You started with TeX in 1987 – was that with Plain, LaTeX or ‘something else’, and what was it that led you to TeX?</p>

<p><strong>David:</strong> LaTeX pretty much from the start. I came back to Manchester to work in the Computer Science department (after a 2 year post doc at Cambridge and the previous 6 years as a student in Maths at Manchester). The CS department was split in to the Framemaker and LaTeX camps, but from the start the idea of an open document format appealed, so someone lent me a TeX book while I was waiting for my machine to arrive and I accidentally read to the end before I got the machine set up.</p>

<p><strong>Ariel:</strong> How important do you think a mathematical background is to learning the ins and outs of LaTeX? I see that most of the core people in the project have a substantial connection to maths. For example, did elements of your maths training come in handy writing the <code>longtable</code> package?</p>

<p><strong>David:</strong> I don&#8217;t think it helps much really with using TeX (it does help to have some idea of a compile-edit-run loop; if you are only used to a word processor TeX is difficult) but a math background, especially then, helps enormously in motivating people to learn. At that time there basically was no alternative; people had been happy with IBM golfballs etc., but once you saw TeX output you were no longer satisfied, so more or less every working mathematician was forced to learn TeX even if they had never used a computer before. It&#8217;s a bit different now.</p>

<p><strong>N.N.:</strong> What editor did you use for TeX and LaTeX as you started using it? Were you happy with how it handled such work?</p>

<p><strong>David:</strong> Is there more than one editor?</p>

<p>I started using emacs at the same time and used it for everything: email, news reading, web browsing sometimes… I did recently switch to Thunderbird for email, but I still miss rmail really.</p>

<p><strong>Werner:</strong> <strong></strong>I see that you&#8217;ve been a member of TeX.sx almost from its inception (Sep 2010), but only recently started contributing (around Jan 2012) – at quite a staggering pace… What was the cause for the delay?</p>

<p><a href="http://tex.blogoverflow.com/files/2012/04/davidgraph.jpg"><img class="aligncenter  wp-image-1238" src="http://tex.blogoverflow.com/files/2012/04/davidgraph.jpg" alt="" width="564" height="194" /></a></p>

<p><strong>David:</strong> I&#8217;m an editor of MathML and have a Google alert. Mostly I ignore them but like to see them going by, but as that one was a TeX-related forum and from someone at my old university at Manchester I signed up and answered the question but didn&#8217;t visit the site again. Then around the start of this year Frank [Mittelbach] pointed me at a question on one of my packages and suggested I might like to answer.</p>

<p><strong>Werner:</strong> It&#8217;s always good to have package authors hunting and pecking around this site. <code>:)</code></p>

<p><strong>Ariel:</strong> I was frankly quite amazed when I made several longtables and then when I ran into issues, David himself helped me out! I still send links to people to point out how responsive and awesome the LaTeX community here is – thanks to your untiring answers and solutions to every tough <code>longtable</code> question!</p>

<p><strong>N.N.:</strong> How could you <em>accidentally</em> read <em>The TeXbook</em> to the end? What caught you?</p>

<p><strong>David:</strong> Well I had a machine on order but had never worked in a CS department at all so was wondering what to do and reading that seemed as good as anything else, if you read for 24hours a day it doesn&#8217;t take long (I don&#8217;t remember how long, not that long as I recall.)</p>

<p><strong>Joseph:</strong> You did a <em>lot</em> of work on tables, one of the most complex parts of TeX (surpassed only by the Output Routine, in my experience). Was there a particular reason for that, and is there any area where you feel (La)TeX table support is still lacking?</p>

<p><strong>David:</strong> It was all a mistake. I&#8217;d read <em>The TeXbook</em> so I knew that <code>\halign</code> constructs broke over pages, but I decided to be a LaTeX user rather than plain, so I was just trying to work out why tabular didn&#8217;t break over a page, so opened up the sources and saw it was boxed, so wondered what would happen if you took the boxes out and wrote longtable by mistake.</p>

<p>I posted it to <code>comp.text</code> (or <code>.tex</code>) and a few people used it and sent bug reports etc., and things just grew.</p>

<p><strong>Joseph:</strong> Ah yes, I recognise the ‘I wrote a package by mistake’ problem: that&#8217;s how I wrote <code>siunitx</code> and then ended up involved in LaTeX3. How did you get involved in the LaTeX kernel?</p>

<p><strong>David:</strong> I had started answering questions on <code>c.t.t</code> (mostly to teach myself TeX, force yourself to answer questions in areas you never use) and I&#8217;d had some email contact with Frank over a variant of his <code>array.sty</code> that I&#8217;d made, then Frank and Chris [Rowley] offered me a trip to Hamburg one day (It was the DANTE meeting that launched NTS and they were having a 2 day LaTeX3 workshop afterwards) so I went there and got the LaTeX3 kernel afterwards and so joined the gang in 1992.</p>

<p><strong>Stephan Lehmke:</strong> I was also at the DANTE meeting in Hamburg, btw :-) Another thing that started there is NTS. Later there was ExTeX. Were you ever involved with TeX at that level? Is LuaTeX the only way into this kind of future?</p>

<p><strong>David:</strong> Not Really. Frank and Chris were the ones on the LaTeX3 team who really understood TeX-the-program I always really worked from the level of <em>The TeXbook</em> up. I think a Unicode version has to be the future but I wish I knew enough to know why there are two at the moment.</p>

<p><strong>Ariel:</strong> Do you still add features to your <code>longtable</code> package based on questions from here?</p>

<p><strong>David:</strong> The thing about TeX is if you change anything you break something. TeX is like lisp in that the program is available as data and people can and do patch commands at arbitrary places, so if you leave a package stable for a while (say 20 years) you just know that some packages <em>rely</em> on the third token of <code>\LT@some@internal@mess</code> being <code>\relax</code>. This makes changing things hard. I did change <code>colortbl</code> in response to some issues here and I already have reports of things that broke (which I&#8217;m not sure what to do about yet).</p>

<p><strong>Joseph:</strong> You mentioned that nowadays you are mainly focussed on XML. Do you see that as a long-term complement to (La)TeX syntax, or as a replacement? For example, MathJax is making LaTeX-like syntax more, rather than less, popular on the web (at least that is how it looks to me).</p>

<p><strong>David:</strong> Both. In 1998 of course, XML was going to take over the world, replace HTML, etc. etc., it didn&#8217;t quite work out that way, people didn&#8217;t want to switch and browser implementers hate XML with a vengeance so HTML and XHTML (from a specification point of view) stagnated for a decade but then picked up with the (non XML) HTML5. But of course XML (or at least an XML compatible DOM tree) underlies that and so MathML can (and does) slot in to the HTML5 world.</p>

<p>Real people though will never type documents in XML syntax in emacs (I&#8217;m not sure why).</p>

<p><strong>Yiannis Lazarides:</strong> Where do you see TeX/LaTeX going?</p>

<p><strong>David:</strong> Hard to say, at the height of the XML boom I&#8217;d have said that author syntax would move to XML (probably hidden by the editor) and TeX would be a back end typesetting role, but now I think that is only one path, MathJax shows again that given the choice people prefer to use a TeX syntax even in a MathML based system</p>

<p><strong>Yiannis:</strong> How about LaTeX3: do you think it is going in the right direction?</p>

<p><strong>David:</strong> I hope so, I haven&#8217;t been paying attention <code>:-)</code> I get all the internal mails but I had to drop out of the loop a bit (you can only really work on designing one language at a time) but it has been encouraging to see Bruno and Joseph etc., kick starting the project again.</p>

<p><strong>Paulo:</strong> You are one of the principal authors of the world-known Mathematical Markup Language – MathML. How did you get involved?</p>

<p><strong>David:</strong> Unlike TeX, MathML was actually the day job. When I came down to Oxford to work at NAG it was initially on a European Union funded project mainly of universities and a few small companies to develop the OpenMath standard for math markup. OpenMath and MathML are closely linked and I ended up bugging the Math Working group so much they invited me onto it, just at the time that the MathML1 spec came out.</p>

<p><strong>Ariel:</strong> Does LaTeX3 change anything from LaTeX2e for complete beginners who have not started to cut open and hack packages yet?</p>

<p><strong>David:</strong> That&#8217;s the wrong question really. LaTeX3 is being designed from the bottom up, so low level data structures and programming constructs, with which you could design a user interface for defining document level commands with which you could define document commands, which a user could use in a document. But really only the first layer is there yet.</p>

<p>There was a complete stand alone LaTeX3 system back in 1992 when I joined , but it struggled on the machines of the time and wasn&#8217;t really usable except for those interested in TeX programming (rather than just typesetting their documents).</p>

<p><strong>Paulo:</strong> One of the most recurring questions on the main site is about converting TeX to HTML. Do you think the existing approaches can cover most of the cases or maybe there&#8217;s still a lot of room for improvement, especially with the emerging formats?</p>

<p><strong>David:</strong> The current approaches are getting a lot better. LaTeXML from Bruce Miller at NIST is particularly impressive (he told me he uses my xii.tex as one of his test examples, the only other converter that I can see handle that is tex4ht) . The openness of TeX is fundamentally a problem though: anyone can come along a make a package and extend the language and somehow converters are expected to cope.</p>

<p>If you start off with 6 lines of Perl to make a blank line in to <code>&lt;p&gt;</code> then your system gets stressed if the first document you are given is a utf16 document in Chinese using TikZ.</p>

<p><strong>Paulo:</strong> CTAN lists several of your packages. Could you tell us a bit about your first package?</p>

<p><strong>David:</strong> I think it was probably <code>longtable</code>, I remember mailing someone asking if they could add it to the ymir archive in the States (there was no CTAN then and the UK wasn&#8217;t on the internet so even mailing outside the country was something of an adventure) and you had to use the TeX-friendly vvencoding as plain text or even uuencoded text was likely to get mangled in janet/bitnet/internet gateways.</p>

<p>Most other packages came out of answers on <code>c.t.t.</code> Some of them I think Robin [Fairbairns] just took from <code>c.t.t</code> and put on the archive with my name on; there were no worries about licences and stuff in those days.</p>

<p><strong>Paulo:</strong> 16k+ rep, 104 badges, 325+ answers so far. What&#8217;s your secret? <code>:)</code></p>

<p><strong>David:</strong> Well it was an interesting challenge to myself to see if I could play this game even not really having used TeX for a decade. It&#8217;s like riding a bike really you never forget the principles, (and the questions never change <code>:-))</code>, but I&#8217;ve had some experience at typing badly typed answers on help forums, between <code>c.t.t.</code> and tex.sx I posted nearly 11,000 messages to xsl-list, so basically I&#8217;ve been doing this since the start. After a while you lose your shyness and don&#8217;t take total ignorance as a reason for not posting an answer.</p>

<p><strong>Ariel:</strong> What is your favourite brand of tea? And loose leaf or bags?</p>

<p><strong>David:</strong> I&#8217;m not really a tea connoisseur anything warm and wet (coffee more often actually).</p>

<p><strong>Yiannis:</strong> LaTeX2e has a very complicated architecture, were you involved with the design? For example the vertical skips for the lists are hidden in the <code>.clo</code> files, one would think that all the list variables would have been collected in one place.</p>

<p><strong>David:</strong> Well yes I suppose so (although of course Frank mainly should get the credit for the good bits and any bad bits naturally we blame on compatibility with 2.09).</p>

<p><strong>Yiannis:</strong> <code>:)</code></p>

<p><strong>David:</strong> I think it&#8217;s natural (as far as anything is natural in TeX) for explicit dimensions to be class options: LaTeX sets up the framework, the class sets up what list and display environments are available but it is not until you handle <code>[12pt]</code> that you can set explicit dimensions.</p>

<p><strong>egreg:</strong> I&#8217;m late for the party, I know. I started using TeX for writing maths (the final “s” is a homage to David, of course); at the time the <em>only</em> way was AMS-TeX. Why did you choose LaTeX?</p>

<p><strong>David:</strong> Well I was working in a CS department that had some very advanced LaTeX users but secretly I was wanting to get some math[s] papers finished off, then I just got interested in TeX for its own sake. So I had access to the psLaTeX developed at Manchester from the start with scalable fonts, separate formats for Times, Helvetica, Bookman. One of my earliest codings was the <code>pspicture</code> environment to make postscript lines to fit with those formats.</p>

<p>I never actually used AMS-TeX (but did look at LAmsTeX some years later).</p>

<p><strong>percusse:</strong> Though hindsight is 20/20, is there anything from the XML world, something that we don&#8217;t get to hear from you much, that feels like it&#8217;s missing from TeX and friends? Or any emerging tech ideas to bring in for increased flexibility? The example I have in mind is the &lt;key&gt;=&lt;value&gt; usage as an example (via many packages <code>pgfkeys</code>, <code>xkeyvals</code> etc.) which made my life much easier when handling and taming tedious option sets. I don&#8217;t know if they are really recent but I think they gained popularity relatively late (probably due to TeX.SX too).</p>

<p><strong>egreg:</strong> Don&#8217;t forget that David is the author of <code>keyval</code>, the first package implementing the key-value method in LaTeX.</p>

<p><strong>percusse:</strong> Yep I tried to soften it after I posted, I feel dizzy from the immediate blush…</p>

<p><strong>David:</strong> The main thing that XML systems offer (and the main thing that Leslie [Lamport] really tried to emulate as far as possible in LaTeX) is a separation of the syntax from the application. But in TeX, even in LaTeX, that is never possible. In (some version of) an ideal world there would be a high level declarative description of the allowable document markup and one or more implementations of that.</p>

<p>But in that world you can&#8217;t answer a question by some trick use of 31 <code>\expandafter</code>s to poke a token into an internal command, so the ideal world sounds better but it is less fun.</p>

<p>Actually I think Timothy van Zandt gets that honour with PSTricks, but I think <code>keyval</code> may have been the first to offer a system that allowed you to apply the parser to different packages.</p>

<p>We did have an extensive keyval template system for LaTeX3 customisations of document class parameters. I&#8217;m not sure it ever got out though. Joseph Wright would have a better idea of its current state.</p>

<p><strong>Joseph:</strong> I think you are referring to the <code>template</code> system. That now works quite well, after quite a lot of revision. There is also <code>l3keys</code>, which I wrote inspired by <code>pgfkeys</code> but without the object-oriented stuff. <code>l3keys</code> is the LaTeX3 version of the <code>keyval</code> package, more or less, but uses a keyval interface to set up complex keys, such as choices.</p>

<p><code>l3keys</code> is how I accidentally joined the LaTeX3 Project.</p>

<p><strong>David:</strong> Schedule an interview here in 20 years time, to see how you liked the experience.</p>

<p><strong>Joseph:</strong> :-)</p>

<p><strong>egreg:</strong> Do you think we&#8217;ll have LaTeX3 by then? <em>/just joking</em></p>

<p><strong>David:</strong> You&#8217;re the working mathematician: how big can epsilon get? 2e is 2-and-a-bit waiting for 3 to come along.</p>

<p><strong>egreg:</strong> Usually <code>\varepsilon</code> is small. :) But when <code>\LaTeX2$_\varepsilon$</code> came out it was a <em>big</em> achievement.</p>

<p><strong>Paulo:</strong> Would the separation be like applying XSLT to the content and get the implementation?</p>

<p><strong>David:</strong> Yes, perhaps. Which is what we do a lot here at NAG, but we are a closed world where we have complete control (over our own documentation) but it tends to fall apart if you want to strictly validate the allowed constructs in the input document and be able to extend the syntax on the fly to answer random questions on TeX.sx. It is not clear yet what the right balance is.</p>

<p><strong>percusse:</strong> OK somebody has to ask this: I know you are reluctant to see any TikZ code floating around. What do you think of the TikZ/PGF/Beamer packages which I tend to see as a product family? And if you like you can put PSTricks into the game, making it a graphics question. Do you see them as fancy extras or things that filled a gap?</p>

<p><strong>David:</strong> I&#8217;m not reluctant to see TikZ. I think it&#8217;s a good thing (I used to know the innards of PSTricks quite well, and as I mentioned above I did one of the first re-implementations of picture mode for a postscript back end); the running gag about TikZ is that it&#8217;s one of the few things that&#8217;s completely alien to me.</p>

<p>A lot of questions and more answers use it, but I had never even heard of it until I started on this site this year.</p>

<p><strong>percusse:</strong> Excuse my teaser :)</p>

<p><strong>Paulo:</strong> How do you see the new gems like XeTeX and LuaTeX?</p>

<p><strong>David:</strong> Luatex and XeTeX are different, I knew about those but had not actually used either. I have run them now (so long as I get a MWE from the OP) The one time I tried to make a XeLaTeX file when not presented with a MWE I messed up fontspec completely :-)</p>

<p><strong>Paulo:</strong> How do you feel about TeX.sx?</p>

<p><strong>David:</strong> It&#8217;s been fun, and might have got my TeX activity back to the point I start reading rather than archiving the LaTeX3 internal mails, we&#8217;ll see&#8230;</p>

<p><strong>Paulo:</strong> Do you have a favorite answer of yours? :)</p>

<p><strong>David:</strong> Not sure, I suppose this one just about typifies my preferred answering style: <a href="http://tex.stackexchange.com/a/50365">How do you swap the commands for two symbols?</a></p>

<p><strong>Werner:</strong> Yes, that was&#8230; <em>is</em> epic!</p>

<p><strong>egreg:</strong> I&#8217;ve used 15 <code>\expandafter</code>&#8216;s in a row; what&#8217;s your career high? :)</p>

<p><strong>Werner:</strong> Here is perhaps another career high in Philippe Goutet&#8217;s answer: <a href="http://tex.stackexchange.com/a/8036">Why do we need eleven expandafters to expand four tokens in the right order?</a></p>

<p><strong>David:</strong> When not trying to use as many as possible to avoid work I&#8217;m sure I once used 31 to do something useful, but I can&#8217;t find it now.</p>

<p>Of course you get bonus points of you do something with a long line of <code>\expandafter</code> that isn&#8217;t 2^n-1 in length :-)</p>

<p><strong>egreg:</strong> Fully agreed!</p>

<p><strong>Paulo:</strong> Can you name something you really like in LaTeX? And is there something you dislike?</p>

<p><strong>David:</strong> I really dislike the pressure to type it in camel case. What I liked about it originally, and is still I think the main point, is that it makes my mathematics look readable (my handwriting is worse than my typing, so this is no small thing)</p>

<p><strong>Ariel:</strong> Any hidden hobbies apart from stalking TeX.stackexchange and bringing World peace through longtable solutions?</p>

<p><strong>David:</strong> Well hobbies and things got a bit re-aligned 8 years ago (not coincidentally the same time as me having less time on the LaTeX3 work) because of the other computer user in this room (who&#8217;s navigating the lego website if I recognise the tune :-)</p>

<p><strong>egreg:</strong> Does your kid use LaTeX? :)</p>

<p><strong>David:</strong> 8&#8242;s probably a bit young for LaTeX but he does program in scratch, any of you wanting to introduce programming to children I couldn&#8217;t recommend scratch highly enough <a href="http://www.scratch.mit.edu/">scratch.mit.edu</a></p>

<p>And he does use the program that is probably the most widely installed uniocde-aware xml editor that also implements most of the math layout rules from appendix G of the TeX book. I dare not mention its name in this forum.</p>

<p><strong>Ariel:</strong> Didn&#8217;t know about that! Do you think its geared towards any particular type of language e.g. say, Perl?</p>

<p><strong>David:</strong> scratch? it&#8217;s really nice: you make while loops and message passing multi-threaded programming style just by pulling down graphical icons and slotting then together.</p>

<p><strong>Ariel:</strong> Good to know. Programming should be made mandatory for all kids these days&#8230; as opposed to say learning about logarithms. it&#8217;s an uphill task getting useful stuff done without programming skills and just sticking to the click-everywhere culture.</p>

<p><strong>egreg:</strong> Does he like cricket? Of course cricket <em>had</em> to be mentioned in the interview.</p>

<p><strong>David:</strong> Sadly he seems to prefer football.</p>

<p><strong>Paulo:</strong> Which team? :)</p>

<p><strong>David:</strong> Playing rather than watching :-)</p>

<p><strong>Paulo:</strong> ah! :)</p>

<p><strong>Jasper Joy:</strong> By the way shouldn&#8217;t ConTeXt be pronounced like contact since TeX is pronounced like tech?</p>

<p><strong>David:</strong> Leslie gave a talk on LaTeX4 at a TUG meeting some years ago, he said LaTeX about 50 times during his talk and pronounced it differently each time.</p>

<p><strong>Jasper:</strong> Haha.</p>

<p><strong>Ariel:</strong> how do you pronounce it: Laytech or Laaaaahtech or some other variant?</p>

<p><strong>David:</strong> laytech, more or less, but after 25years of getting offered interesting clothing options, I&#8217;d quite happily call it something else.</p>

<p><strong>egreg:</strong> Looking forward to the planned TeX.SX meeting in Oxford. Prepare a good list of pubs. :)</p>

<p><strong>Martin Schröder:</strong> One of your mostly unsung heroics is XMLTeX. It&#8217;s actually what&#8217;s under the hood of Stephan Lehmkes DocScape and a typesetting company in Leipzig uses it extensively. Any chance of a LuaTeX version of that?</p>

<p><strong>David:</strong> XMLTeX is a strange beast. I wrote almost all of it in a couple of weekends so it was never any long term planned project. Sebastian used it in passivetex (which was why I wrote it) but then I thought no one used it and a decade goes by and then this year I have found two commercial typesetters using it, plus some questions from people wanting to use it in a student project, all come (to me) within the space of two or three months.</p>

<p>A large part of XMLTeX is messing with encodings so using a Unicode back end would simplify it a lot, but on the other hand parsing XML with TeX is a bit like the swapping two definitions answer I mentioned above: it&#8217;s an interesting TeX challenge but kind of pointless when you can use a real XML parser and XSLT to parse the XML and write out TeX-syntax TeX.</p>

<p><strong>Martin:</strong> And I have to ask about the elephant: What do you think of ConTeXt?</p>

<p><strong>David:</strong> I&#8217;ve never actually used ConTeXt but Hans was developing around the same time, and we met at several TeX meetings and had one specific workshop just for the ConTeXt, LaTeX and e-TeX teams (somewhere in Germany, I can&#8217;t remember) ConTeXt came after LaTeX so could benefit from that experience, It&#8217;s a nice system but I think the open package extensibility of LaTeX will always make it more popular, if more chaotic.</p>

<p>But it is good to have an industrial strength format that is pushing the development of the TeX engines more than LaTeX can, as LaTeX&#8217;s user base means that compatibility and stability are more important I think.</p>

<p><strong>Martin:</strong> Oldenburg 1997. I was there. :-)</p>

<p><strong>David:</strong> Yes that&#8217;s the one!</p>

<p><strong>Martin:</strong> Did you already have a look at Patrick Gundlach&#8217;s publisher (<a href="http://speedata.github.com/publisher/">speedata.github.com/publisher</a>)? It&#8217;s basically DocScape done in Lua, but lacks the access to LaTeX given by XMLTeX.</p>

<p><strong>David:</strong> Not really (I&#8217;m not really using TeX these days ;-)</p>

<p><strong>Martin:</strong> Any chance of you working at the LaTeX3 output routine again? I think the current version is still the one you did with Frank in 2002. :-)</p>

<p><strong>Joseph:</strong> Give me a chance to finish the review first (not that I know what I&#8217;m doing!)</p>

<p><strong>David:</strong> Never say never. (Frank and Chris were the main ones that worked on the 2e routine. I was working on some extensions to <code>xor</code> around the time we were doing the LaTeX Companion but then got diverted).</p>

<p><strong>Martin:</strong> And any chance of seeing you at a TeX conference again? The next BachoTeX will be very special (20 years of BachoTeX)&#8230;</p>

<p><strong>David:</strong> Conference travel isn&#8217;t so easy now as it&#8217;s hard to claim it&#8217;s work related, so possibly not, we&#8217;ll see.</p>

<p><strong>Martin:</strong> So we&#8217;ll have to wait for a TeX conference in Oxford. :-)</p>

<p><strong>Joseph:</strong> As luck would have it, we are planning the UK-TUG AGM at the moment, and it may well be in Oxford, some time in the autumn :-)</p>

<p><strong>Paulo:</strong> What do you recommend for a newbie eager to learn TeX, LaTeX and friends?</p>

<p><strong>David:</strong> Start with a complete document that you actually want to make, and go with the flow, don&#8217;t start off by asking questions like &#8220;I started using LaTeX yesterday how can I use lfgwhqhdq font at 12.8888 pt in alternate headers on a translucent pink background&#8221;. Save those questions for your second document.</p>

<p><strong>Paulo:</strong> Any favorite resources? <em>The TeXbook</em>, <em>The LaTeX Companion</em>&#8230;</p>

<p><strong>David:</strong> Both those, but my main resource is to never close emacs and always have a buffer with latex.ltx in it.</p>

<p><strong>Paulo:</strong> Thanks a million for this great interview!</p>

<hr />

<p>Stay tuned for the next episode of <em>TeXtalk!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/04/textalk-an-interview-with-david-carlisle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TeXtalk: an interview with Gonzalo Medina</title>
		<link>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-gonzalo-medina/</link>
		<comments>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-gonzalo-medina/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 18:52:50 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[Interviews]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1210</guid>
		<description><![CDATA[Hola amigos, welcome to the TeXtalk! We have a very special guest for today: our friend Gonzalo Medina, one of the most active members of TeX.sx, trusted user (44k+ rep), with 849+ answers so far and 208+ badges. Get ready for this great interview! Paulo Cereda: Could you tell us a bit about yourself? Gonzalo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tex.blogoverflow.com/files/2012/03/textalkarriero.jpg"><img class="aligncenter size-full wp-image-1211" src="http://tex.blogoverflow.com/files/2012/03/textalkarriero.jpg" alt="" width="300" height="225" /></a></p>

<p><em>Hola amigos, welcome to the TeXtalk!</em> We have a very special guest for today: our friend <a href="http://tex.stackexchange.com/users/3954/gonzalo-medina">Gonzalo Medina</a>, one of the most active members of TeX.sx, trusted user (44k+ rep), with 849+ answers so far and 208+ badges. Get ready for this great interview!</p>

<p><span id="more-1210"></span></p>

<p><strong>Paulo Cereda:</strong> Could you tell us a bit about yourself?</p>

<p><strong>Gonzalo Medina:</strong> I am a 42 year old Colombian mathematician and father of two (a 16 year boy, Olmo and an eight year girl, Sara) and I am currently a professor at Universidad Nacional de Colombia, where I teach  math courses to undergraduate and graduate students; I also teach a LaTeX course every year since 2009.</p>

<p>I belong to the Scientific Computing and Mathematical Modelling research group of my Department. My main interest is in algebra, but recently I am beginning to develop an interest in the history of mathematics.</p>

<p><strong>Paulo:</strong> How nice! Do you have any hobbies?</p>

<p><strong>Gonzalo:</strong> LaTeX is my main hobby. I love reading; I also play classical guitar and used to play basketball. Unfortunately, due to that combination, ten years ago I injured my left hand pinkie and now I can only play simple scores on the guitar.</p>

<p><strong>Paulo:</strong> Sports-related injuries can be very annoying. <code>:)</code></p>

<p><strong>Gonzalo:</strong> Indeed.</p>

<p><strong>Paulo:</strong> What was your first contact to TeX, LaTeX and friends?</p>

<p><strong>Gonzalo:</strong> I joined the party a little late. Back in 2000 I started using LaTeX for writing exams and lecture notes; in 2003 I started my first “big project” writing an introductory text about the theory of representation of ordinary posets; I finished the text and used it in one of my courses, but unfortunately, I lost the files in 2007.</p>

<p>Until 2007 I was only an “end user”, but then I needed to do something I didn&#8217;t know how to achieve, so I found a forum on the internet and asked the question there; the question remained unsolved, so I started searching for myself until I found the answer, and that&#8217;s where it all began!
I started reading package documentations, and answering questions on that forum (where I met <a href="http://tex.stackexchange.com/users/213/stefan-kottwitz">Stefan Kottwitz</a>) and then I found <a href="http://latex-community.org/">latex-community.org</a>, so I became a member also and participated actively.</p>

<p><strong>Paulo:</strong> What a great start!</p>

<p><strong>Gonzalo:</strong> In 2008 I bought <a href="http://www.informit.com/store/product.aspx?isbn=0201362996">The LaTeX Companion</a> and started reading it and learned a lot from it. Last year I finally bought <a href="http://www.informit.com/store/product.aspx?isbn=0201134470">The TeXbook</a> and I am starting to study it.</p>

<p>Of course, during that time I also read and studied some code (the standard classes, some packages).</p>

<p><strong>Paulo:</strong> How did you become aware of the TeX.sx community? <code>:)</code></p>

<p><strong>Gonzalo:</strong> Two years ago or so I, for an unknown reason, stopped visiting <a href="http://latex-community.org/">latex-community.org</a> and the forum where I took my first steps disappeared. One day I googled something I needed and found a reference to TeX.sx so I took a look, and I liked it. My first post here <a href="http://tex.stackexchange.com/questions/12723">was a question</a>. Then I started answering questions… and here I am.</p>

<p><strong>Paulo:</strong> I am always impressed with the vast knowledge you have about packages and their use. Out of curiosity, how many packages do you know by heart?</p>

<p><strong>Gonzalo:</strong> I don&#8217;t think I have such a vast knowledge; I simply know some of the packages that are around and read the documentation and code of some of them. To be honest, I only know just two packages by heart and they are precisely my own packages.</p>

<p>And even with my own packages I keep forgetting things and have to reread the code. <code>;-)</code></p>

<p><strong>Paulo:</strong> speaking of your own packages, could you tell us a bit about them? <code>:)</code></p>

<p><strong>Gonzalo:</strong> The <code>background</code> package was born out of personal needs. One day I needed a background image for some pages of a document, so I took a look at the available packages; for some reason or other, none of them were fit for my problem and I noticed that none of them used the power of TikZ, so I decided to write a package and <code>background</code> was born.</p>

<p>The <code>fancypar</code> package was born out of a challenge. Someone asked a problem in a forum about automatically getting a zebra-like pattern for text paragraphs, so I started reading and trying to find a solution to the problem. At some point I got stuck, so I asked a question in <code>comp.text.tex</code> and Philipp Stephani pointed me in the right direction: a method described in <a href="http://www.eijkhout.net/tbt/">TeX by Topic</a> to dissect paragraphs. A few days later, <code>fancypar</code> was born.</p>

<p><strong>Paulo:</strong> Cool! Any new package in the oven? <code>:)</code></p>

<p><strong>Gonzalo:</strong> I have some ideas, but not enough time. We&#8217;ll see.</p>

<p><strong>Paulo:</strong> You submitted <a href="http://tex.stackexchange.com/questions/34482/contest-show-off-your-skillz-in-tex-friends-tex-sx-birthday/35093#35093">a fantastic entry</a> to the birthday contest. Very beautiful typography! Do you use this template in your lecture notes? <code>:)</code></p>

<p><strong>Gonzalo:</strong> Thanks. That was actually an idea that Yiannis Lazarides gave me to participate in the contest.</p>

<p>I eventually use it, with less color, for some documents for my students.</p>

<p><strong>Paulo:</strong> Trusted user (44k+ rep), 849+ answers, 208 badges. What&#8217;s your secret? <code>:)</code></p>

<p><strong>Gonzalo:</strong> I don&#8217;t really know, myself. <code>;-)</code> Whenever I can, I try to provide complete answers (although sometimes I wish I had more time to improve them), and I guess the community notices it.</p>

<p><strong>Paulo:</strong> What&#8217;s your favorite workflow when TeXing (editor, tools, engine)? <code>:)</code></p>

<p><strong>Gonzalo:</strong> I currently use TeX Live and TeXworks.</p>

<p><strong>Paulo:</strong> Do you have a favorite answer of yours?</p>

<p><strong>Gonzalo:</strong> The first one that comes to my head is the answer to <a href="http://tex.stackexchange.com/questions/35825/pretty-table-of-contents/35835#35835">Pretty Table of Contents</a>. I liked its simplicity. There are some other answers that I like, but I cannot remember right now which ones exactly.</p>

<p><strong>Paulo:</strong> Can you name something you really like in LaTeX? And is there something you dislike? <code>:)</code></p>

<p><strong>Gonzalo:</strong> I like a lot of things. Perhaps I can summarize all the things that I like in a (very well known, even “cliché”) affirmation: LaTeX gives complete control over the attributes of the documents.</p>

<p>And perhaps one thing I don&#8217;t like is the coexistence of fragile and robust commands.</p>

<p>I should mention that I don&#8217;t fully agree with the use of “complete” in the affirmation I mentioned above. <code>;-)</code></p>

<p><strong>Paulo:</strong> Oops. <code>:P</code></p>

<p>Ready for LaTeX3? <code>:)</code></p>

<p><strong>Gonzalo:</strong> No, not really. A couple of times I&#8217;ve used the features provided by <code>xparse</code> and I really like the increased functionality and ease of use. However, I still haven&#8217;t ventured to use the new syntax; I once took a quick look at the code of egreg&#8217;s <code>kantlipsum</code> and found myself lost, although the general idea was understandable. I have to start reading new documentation! Anyway, I am really happy to see that LaTeX3 has made some big progress and hope to see it “presented to society” pretty soon.</p>

<p><strong>Paulo:</strong> How about LuaTeX? <code>:)</code></p>

<p><strong>Gonzalo:</strong> I only know that it exists and that it seems to be powerful.</p>

<p><strong>Paulo:</strong> We&#8217;ve seen great keynotes about TeX and friends presented by TeXnicians all around the world. Do you think Latin America could host a TeX User Conference? <code>:)</code></p>

<p><strong>Gonzalo:</strong> Yes, I positively think so and I think it would be really important to hold a TUG conference in Latin America. I had some ideas about proposing Colombia for the 2013 meeting, but due to some issues beyond my control, this idea will have to wait a little bit more before becoming a reality.</p>

<p><strong>Paulo:</strong> It would be great!</p>

<p><strong>Gonzalo:</strong> Sure it will be.</p>

<p><strong>Paulo:</strong> What do you recommend for a newbie eager to learn TeX, LaTeX and friends? <code>:)</code></p>

<p><strong>Gonzalo:</strong> <em>(1)</em> To take their time; if they want to learn LaTeX for a project due in two days, it&#8217;s gonna be a nightmare. <em>(2)</em> If taking a course is not an option, then they should get a good manual (there are some really good ones around). <em>(3)</em> Not to use “templates” from other people; this will prevent them from really learning or, even worse, will show them bad practices. <em>(4)</em> Experimenting. This is how you really learn everything. <em>(5)</em> When problems appear, they should try to solve them by themselves and if they can&#8217;t, then seek advise somewhere with quality answers (in this community, for example).</p>

<p><strong>Joseph Wright:</strong> Any particular favourites for <em>(2)</em>? Books, websites…</p>

<p><strong>Gonzalo:</strong> For an intermediate-advanced level in LaTeX, I would suggest <em>The LaTeX Companion</em>.</p>

<p><strong>Paulo:</strong> Speaking of manuals, how was the experience of translating <code>l2tabu</code> to Spanish? <code>:)</code></p>

<p><strong>Gonzalo:</strong> It was a nice experience (I learnt one or two things about LaTeX when I did it) and I did it hoping to make this document more accessible to Spanish speakers who can&#8217;t read in English, German, French or Italian. The translation now is obsolete (it doesn&#8217;t correspond to the new version of <code>l2tabu</code>) and I will have to update it.</p>

<p><strong>Paulo:</strong> Thanks a million for this great interview! <em>Muchas gracias!</em></p>

<p><strong>Gonzalo:</strong> Thanks to you, Paulo! It&#8217;s been a pleasure and an honor. <em>¡Gracias a ti, Paulo! Ha sido un placer y un honor.</em></p>

<p><strong>Paulo:</strong> The pleasure and honor are mine. <code>:)</code></p>

<hr />

<p>Stay tuned for the next episode of <em>TeXtalk!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-gonzalo-medina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A great milestone</title>
		<link>http://tex.blogoverflow.com/2012/03/a-great-milestone/</link>
		<comments>http://tex.blogoverflow.com/2012/03/a-great-milestone/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 02:33:20 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[TeX.sx]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1205</guid>
		<description><![CDATA[Today is a very special day. It&#8217;s indeed a great milestone for our community. Our friend Enrico Gregorio, also known as egreg, completed one year of TeX.sx. One year devoted to help TeX users through their journey in the typographic land, one year spreading kindness and friendship across the whole world. His profile says “visited [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a very special day. It&#8217;s indeed a great milestone for our community. Our friend Enrico Gregorio, also known as <a href="http://tex.stackexchange.com/users/4427">egreg</a>, completed one year of <em>TeX.sx</em>. One year devoted to help TeX users through their journey in the typographic land, one year spreading kindness and friendship across the whole world. His profile says “visited 365 days, 365 consecutive”. If I could, I&#8217;d replace the counter by the ∞ symbol; after all, egreg is with no doubt in the pantheon of great TeXnicians. It would be a sacrilege to count his days in our community. Like Augustine of Hippo once said, “what is time?”.</p>

<p>At the moment of my writing, egreg&#8217;s reputation is now 75,148. And counting, believe me. Even the StackExchange algorithm can&#8217;t track this number. If we do the math, it&#8217;s an average of 205.8 reputation points per day. It&#8217;s like reaching the daily reputation limit – our beloved “rep cap” – every single day. With an impressive number of 1,895 answers so far, egreg made the community a better place, built with a vast knowledge and with a fine touch of wisdom. By the way, <a href="http://tex.stackexchange.com/questions/14186/how-can-i-provide-a-verbatim-unescaped-commandline-for-executing-with-write18/14200#14200">his first answer was accepted</a>.</p>

<p>As a mathematician and educator, egreg always uses his intuition to look to a question through several angles. Doing so, he helps us to free our criativity and stimulate thinking. The human touch, the sensibility, the insight, they are all there, in every single answer. There are no downvotes. Not with egreg.</p>

<p>Everybody is unique, each one of us has a different story to tell. When answering a question, egreg makes every questioner feel welcome. Do you know why? Because egreg introduces TeX to the questioner, and not the other way around. There is a strong commitment.</p>

<p>Not only a “fanatic” in the main site, egreg is also a <a href="http://chat.stackexchange.com/rooms/41/tex-latex-and-friends">chat</a> resident. It&#8217;s a pleasant moment when we all get together and talk about everything. He&#8217;s an expert on several subjects, including sports, music, food and travel. Every day you can find him in the chat room. Why don&#8217;t you go there and say “hi”? The chat room is vibrant, full of life. Also thanks to egreg.</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/lionjuve.jpg"><img class="aligncenter size-full wp-image-1206" src="http://tex.blogoverflow.com/files/2012/03/lionjuve.jpg" alt="" width="294" height="365" /></a></p>

<p>It&#8217;s really an honour for me to write a few lines about my great friend. Unfortunately, it&#8217;s impossible to put into words and express the importance of egreg for our community and for every one of us in particular. Thanks for everything, Enrico.</p>

<p>I once read a phrase which comes to my mind in this very moment. It goes along these lines: “A fantastic educator writes in the board with one hand while the other one moves the whole world.”</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/03/a-great-milestone/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>TeX documentation online: texdoc.net</title>
		<link>http://tex.blogoverflow.com/2012/03/tex-documentation-online-texdoc-net/</link>
		<comments>http://tex.blogoverflow.com/2012/03/tex-documentation-online-texdoc-net/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 11:07:37 +0000</pubDate>
		<dc:creator>Joseph Wright</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[texdoc]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1199</guid>
		<description><![CDATA[The TeX-sx chat system is a great place to get together for new ideas. A few days ago, regular contributors Stefan Kottwitz and Paulo Cereda decided to set up an online TeX documentation system. Within a few hours, texdoc.net was born! Using the new site, linking to documentation (from TeX Live) is easy http://texdoc.net/pkg/&#60;package name&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://chat.stackexchange.com/rooms/41/tex-latex-and-friends">TeX-sx chat system</a> is a great place to get together for new ideas. A few days ago, regular contributors <a href="http://tex.stackexchange.com/users/213/stefan-kottwitz">Stefan Kottwitz</a> and <a href="http://tex.stackexchange.com/users/3094/paulo-cereda">Paulo Cereda</a> decided to set up an online TeX documentation system. Within a few hours, <a href="http://www.texdoc.net/">texdoc.net</a> was born! Using the new site, linking to documentation (from <a href="http://tug.org/texlive/">TeX Live</a>) is easy
<pre>http://texdoc.net/pkg/&lt;package name&gt;</pre>
This will take you straight to the PDF for the package you want. Of course, you don&#8217;t have to know the name of the package you are interested in: the full power of <code>texdoc</code> and the category view from <code>texdoctk</code> is there behind the scenes.</p>

<p>Stefan has already added this to the mark up for <a href="http://www.latex-community.org/">The LaTeX Community</a>, and I&#8217;m sure it will get lots of use on <a href="http://tex.stackexchange.com/">TeX-sx</a> too.</p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/03/tex-documentation-online-texdoc-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generating LaTeX code with a template engine</title>
		<link>http://tex.blogoverflow.com/2012/03/generating-latex-code-with-a-template-engine/</link>
		<comments>http://tex.blogoverflow.com/2012/03/generating-latex-code-with-a-template-engine/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 11:52:42 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[LaTeX]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1182</guid>
		<description><![CDATA[Sometimes, you get stuck with repetitive tasks, like generating the very same document over and over with a few changes in the content. I&#8217;m the coordinator of a small choir in a parish, and twice a month I have to print songsheets for the community. I usually try to automate as many tasks as I can, [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, you get stuck with repetitive tasks, like generating the very same document over and over with a few changes in the content. I&#8217;m the coordinator of a small choir in a parish, and twice a month I have to print songsheets for the community. I usually try to automate as many tasks as I can, but LaTeX output is quite tricky. Here&#8217;s my attempt to write a program that spits out a <code>.tex</code> file.</p>

<p><span id="more-1182"></span></p>

<p>For my task, I decided to rely on a Java solution, but the idea applies to every programming language. I already have the songs organized in a database, so I only need to iterate through the records and generate a <code>.tex</code> file. But how? First, I need to define how my <code>.tex</code> file should look.</p>

<p>I came up with a simple <code>.sty</code> file which has basically one command and two environments:</p>

<ul>
    <li><code>\sheet{}</code>: the “title” of the songsheet. For me, it&#8217;s useful to put an identifier as title, so we can reuse sheets for other occasions.</li>
    <li><code>songs</code>: this is the main environment of my document, which is basically a wrapper to the awesome <code>multicol</code> package. There&#8217;s also an optional argument with the number of columns – the default is set to two. I decided to use this approach in order to keep a more semantic document.</li>
    <li><code>song</code>: every song will be inside this environment. I used the <code>lettrine</code> package to put the song numbers as if they were drop capitals. Well, it might not be the best layout ever, but it works for me, as I need to save as much space as I can.</li>
</ul>

<p>And now? Reading the songs from the database is the easy part. But how am I supposed to make my code print a LaTeX line? Think of the headache of escaping every single potential character, like, <code>out.write("&#92;\textbf{Hello world}\n");</code> or worse. There is a better solution for this: using a template engine.</p>

<p>According to Wikipedia, “A template processor (also known as a template engine, template parser or template language) is software or a software component that is designed to combine one or more templates with a data model to produce one or more result documents.” And there&#8217;s even a pretty image which summarizes the whole idea:</p>

<div class="wp-caption aligncenter" style="width: 230px"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/TempEngGen015.svg/220px-TempEngGen015.svg.png" alt="" width="220" height="416" /><p class="wp-caption-text">A diagram illustrating all of the basic elements and processing flow of a template engine. Courtesy of Wikipedia.</p></div>

<p>&nbsp;</p>

<p>It sounds very appealing. There&#8217;s one particular template engine I like a lot: <a href="http://velocity.apache.org">Apache Velocity</a>. There are other engines you can use, and there is even a mention to <a href="http://www.cheetahtemplate.org/">Cheetah</a> in <a href="http://tex.stackexchange.com/questions/41875">one of the questions</a> in our main site.</p>

<p>I won&#8217;t enter in details of the template language, but I can tell it&#8217;s very straightforward. <a href="http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html">The documentation</a> is also a great resource. Let&#8217;s take a look in my template:
<pre>\documentclass[a4paper,${size}]{extarticle}</p>

<p>\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}</p>

<p>\usepackage[top=1cm, bottom=1cm, left=1cm, right=1cm]{geometry}</p>

<p>\usepackage{mysongs}</p>

<p>\begin{document}</p>

<p>\sheet{Folheto de cantos \texttt{&#35;}${title}}</p>

<p>\begin{songs}</p>

<p>&#35;foreach( $song in $songs )
\begin{song}
$song.getBody()
\end{song}
&#35;end</p>

<p>\end{songs}</p>

<p>\end{document}</pre>
Wait a minute, that&#8217;s it?! You simply tell the engine the values for every variable. When calling the template engine, data and template are merged. Writing a LaTeX code was very easy, after all. My final program:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/tp001.jpg"><img class="aligncenter size-full wp-image-1183" src="http://tex.blogoverflow.com/files/2012/03/tp001.jpg" alt="" width="344" height="351" /></a></p>

<p>In the first screen, I select which songs I want to include in my new songsheet. Then it&#8217;s just a matter of pressing <em>Generate</em>:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/tp002.jpg"><img class="aligncenter size-full wp-image-1184" src="http://tex.blogoverflow.com/files/2012/03/tp002.jpg" alt="" width="364" height="338" /></a></p>

<p>The screen asks me for the title of my songsheet. And pressing <em>OK</em>, both template and data are merged:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/tp003.jpg"><img class="aligncenter size-full wp-image-1185" src="http://tex.blogoverflow.com/files/2012/03/tp003.jpg" alt="" width="355" height="347" /></a></p>

<p>Done! My new songsheet was easily generated. Let&#8217;s see how the final document looks like:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/tp004.jpg"><img class="aligncenter size-full wp-image-1186" src="http://tex.blogoverflow.com/files/2012/03/tp004.jpg" alt="" width="454" height="618" /></a></p>

<p>There we go, a nice LaTeX document! <code>:)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/03/generating-latex-code-with-a-template-engine/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TeXtalk: an interview with Patrick Gundlach</title>
		<link>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-patrick-gundlach/</link>
		<comments>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-patrick-gundlach/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 13:01:03 +0000</pubDate>
		<dc:creator>Paulo Cereda</dc:creator>
				<category><![CDATA[Interviews]]></category>

		<guid isPermaLink="false">http://tex.blogoverflow.com/?p=1169</guid>
		<description><![CDATA[Welcome to the TeXtalk! We have a very special guest for today: our friend Patrick Gundlach, one of the most active members of TeX.sx, close to 9k+ rep, 92+ badges (including the LuaTeX badge), 116+ answers, one of our representatives at TUG, and LuaTeX expert. Get ready for this great interview! Paulo Cereda: Could you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tex.blogoverflow.com/files/2012/03/textalk3.jpg"><img class="aligncenter size-full wp-image-1170" src="http://tex.blogoverflow.com/files/2012/03/textalk3.jpg" alt="" width="300" height="225" /></a></p>

<p><em>Welcome to the TeXtalk!</em> We have a very special guest for today: our friend <a href="http://tex.stackexchange.com/users/243">Patrick Gundlach</a>, one of the most active members of TeX.sx, close to 9k+ rep, 92+ badges (including the <a href="http://tex.stackexchange.com/badges/130/luatex">LuaTeX badge</a>), 116+ answers, one of our <a href="http://blog.stackoverflow.com/2011/10/stack-exchange-becomes-an-institutional-member-of-the-tex-users-group/">representatives at TUG</a>, and LuaTeX expert. Get ready for this great interview!</p>

<p><span id="more-1169"></span></p>

<p><strong>Paulo Cereda:</strong> Could you tell us a bit about you?</p>

<p><strong>Patrick Gundlach:</strong> I am 38 years, live in Berlin, Germany and have been a TeX user since 1996. Three years ago I have started my own company based on TeX. We specialize in printed product catalogs.</p>

<p>I am now a board member of <a href="http://www.dante.de/">DANTE</a>, the German speaking User Group.</p>

<p><strong>Alan Munn:</strong> You&#8217;re mainly known around here as our resident LuaTeX expert. Are the specific needs of your business use of LaTeX what has sent you in that direction?</p>

<p><strong>Patrick:</strong> The product (which is open source, by the way) is based on LuaTeX. The history is the following: I studied computer science, so I have a background and a wish to “automate everything I can”. Every repeated task on a computer is replaced by a makefile, a script or something else.</p>

<p>Paulo: I can relate to that. <code>:)</code></p>

<p><strong>Patrick:</strong> And I love typography from early days. And I had to do some automated typesetting tasks in the past years, mainly bibliographies and lists. Now I was thinking “can good typesetting and automation be joined without losing quality”?</p>

<p>My main objectives are (as written above) product catalogs but also complex data sheets and other database driven documents.</p>

<p>It was obvious that my choice for an automated database publishing software is TeX, but I never liked to program in TeX. It is so awkward for me. All these <code>expandafters</code>, <code>afterassignments</code> and <code>csname .. endcsnames</code>. They really confuse me, even I really like to learn new programming languages.</p>

<p>Then there was LuaTeX.</p>

<p>I almost fell in love with it, because I was able to program in a decent language (Lua) but still can use TeX.</p>

<p><strong>Joseph Wright:</strong> So you did not start off with a pure TeX based workflow? (Someone in UK-TUG was involved in the past in catalogue production using pure TeX)</p>

<p><strong>Patrick:</strong> I tried several times, but there are a few drawbacks: you have to be really careful about escaping characters (even the “normal ones” like <code>% &amp;</code> and such).</p>

<p><strong>Joseph:</strong> Certainly can be tricky (although e-TeX does help).</p>

<p><strong>Patrick:</strong> Then, in my experience, every application has to be written from scratch again. So the background is something like “I want to use TeX, but not the programming language of it”.</p>

<p><strong>Joseph:</strong> DANTE is a big organisation, certainly compared with <a href="http://uk.tug.org/">UK-TUG</a>. Is there a lot to do as a board member, and do you feel that DANTE has a particular role to play within the wider TeX world (beyond German speakers alone)?</p>

<p><strong>Patrick:</strong> Actually, I don&#8217;t think that DANTE has a particular role outside of Germany/Austria/Swiss. I have been elected last thursday as a “Beisitzer”, that is a person who can be asked for advice. So I don&#8217;t have any idea if there is a lot of work (I hope so).</p>

<p>My aim is to make TeX sexy again.</p>

<p>I think it is an awesome piece of software that ist still up to date, but when I look at the age of members of DANTE (in terms of membership years) there are no youngsters.</p>

<p><strong>Paulo:</strong> Speaking of TeX itself, how was your first contact back in 1996?</p>

<p><strong>Patrick:</strong> I have read an article about TeX in the German computer magazine “c&#8217;t” two years before that and in 1996 I came to university and found a Linux distribution and a notice on the back that it included TeX. So I bought that CD and installed Linux (and TeX) on my system. Which was awful, because I had to learn Linux and TeX at the same time and didn&#8217;t know the difference between LaTeX and TeX. A few books from the library helped me.</p>

<p><strong>egreg:</strong> Which books, if you can remember?</p>

<p><strong>Patrick:</strong> Some German books. It was not the famous Kopka. I remember that I had a script from the “Fern Universität Hagen” (the biggest distance learning university in Germany). I don&#8217;t remember any title anymore. I think I also learned from Lamport&#8217;s book.</p>

<p>But I remember that I looked into a book about TeX and LaTeX just gave me errors (missing <code>\documentclass</code> and such). I was soooo confused by that. I really hated it, but I wanted to be able to reproduce the nice examples from these books.</p>

<p><strong>Alan:</strong> What do you see as the relationship (if any) between LaTeX3 and LuaTeX? (if this is better a question for Joseph, we can leave it out of the discussion entirely.)</p>

<p><strong>Patrick:</strong> Too bad IMO that LaTeX3 predates LuaTeX. Although I can perfectly understand the L3 team to “ignore” LuaTeX, I think we have much more power to bring the TeX community forward with LuaTeX. But that would mean to leave LaTeX behind.</p>

<p><strong>Alan:</strong> How so? If you were to design the “new” TeX with LuaTeX what would it look like? (I&#8217;m assuming backward compatibility wouldn&#8217;t be a criterion.)</p>

<p><strong>Patrick:</strong> I am not sure. Sometimes LaTeX is unstructured, for example you can open a <code>\subsection{}</code> directly after a <code>\chapter{}</code> and don&#8217;t get an error message. So it should have a much more formal input language with validators, but still the power to describe the things you need. I have not decided for me what would be the best, but I guess something like a CSS based markdown format with the ability to add custom macros.</p>

<p>LaTeX is too difficult for the beginner to use, because it mixes programming and input.</p>

<p>I know that there are drawbacks to every approach, but it can&#8217;t be that LaTeX (whatever version) is the ultimate description language.</p>

<p><strong>Joseph:</strong> I&#8217;d say that in that sense there is not so much between anyone involved in “beyond LaTeX2e” thinking.</p>

<p>Certainly, from my point of view on the LaTeX3 team a better “user” experience is very important.</p>

<p><strong>Patrick:</strong> Of course, this has nothing to do anymore with LaTeX2. But we can use LuaTeX for that task easily.</p>

<p><strong>Joseph:</strong> Where do you feel that XML fits into this area?</p>

<p><strong>Patrick:</strong> XML has the great advantage of being the <em>lingua franca</em> in the “data world”. It is standardized and can be validated. It can be hard for a human to type, but once you shift to databases, an XML based workflow is so much easier to handle than anything else. So if we want TeX to be able to process data, we need to make it XML aware.</p>

<p>A great job has been done by David Carlisle with his <code>xmltex</code> (I don&#8217;t know passive TeX, sorry), which is a widely used way to get XML into TeX.</p>

<p>With LuaTeX you have the ability to use a validating XML parser directly within your TeX binary (well, if you include one, of course, but that is what I do).</p>

<p><strong>Joseph:</strong> So good for database-driven input but less good for “user” work?</p>

<p><strong>Patrick:</strong> Exactly. I don&#8217;t want to write a letter with <code>&lt;address&gt;Mr. Smith&lt;/address&gt;</code> and so on</p>

<p><strong>Marco Daniel:</strong> Do you think the implementation of Lua into LaTeX is more user friendly? My point of view is you have to learn two languages.</p>

<p><strong>Patrick:</strong> I see your point. If you use LaTeX, I don&#8217;t see much reason to use Lua as well. But once you shift to the Lua side, you don&#8217;t need LaTeX <code>;-)</code> It all depends on the type of document you want to typeset. If you want your paper in mathematics / physics to be typeset, then LaTeX is fine. But as soon as you want less (letters for example) or more (complex data sheets), LaTeX is not the best input.</p>

<p><strong>Alan:</strong> I find this idea very interesting although hard to wrap my head around. So in principle you want a document markup model that would be entirely Lua based, with TeX completely behind the scenes and more of a black box to the user?</p>

<p><strong>Patrick:</strong> Right. TeX could read RTF files, Markdown or Textile input or HTML files. Then LuaTeX would convert it (with some CSS files) to PDF. You still get the finest typography, but easy input. For complex things, you still can switch to LaTeX input.</p>

<p><strong>Marco:</strong> Are you planning to write some short articles about the drawbacks and of course benefits of LuaLaTeX for the DTK or TUG?</p>

<p><strong>Patrick:</strong> I am writing LuaTeX introductory material for the TUGboat and the DTK (German TeX magazine).</p>

<p>And I am still writing on my book, but it takes me much more time than I which it does. So I am still not finished.</p>

<p>I will present my ideas in October on the EuroTeX conference in the Netherlands and then I have some english papers that could be published in the TUGboat.</p>

<p><strong>Marco:</strong> I think you are one of the pioneers of LuaLaTeX and I hope you know this <code>;-)</code></p>

<p><strong>Patrick:</strong> While I am certainly one of the pioneers of the Lua part of LuaTeX (a few things like <code>tex.linebreak()</code> have been implemented on my request), there are quite a few people that were more active with LuaLaTeX than I was: for example Manuel Pégourié-Gonnard, Élie Roux and Khaled Hosney.</p>

<p><strong>Paulo:</strong> Recently you published a very nice package, <code>lua-visual-debug</code>. Could you tell us a bit about it? <code>:)</code></p>

<p><strong>Patrick:</strong> There are some things that I do and really like at the same time. The package is based on a question here on TeX.sx: <a href="http://tex.stackexchange.com/questions/2083/how-can-i-visualize-boxes">How can I visualize boxes?</a></p>

<p>I have seen something like that a few years ago from Hans Hagen and I thought that LuaTeX should be able to do that. After a few attempts I found out about the atbegshi package from the awesome Heiko Oberdiek and then I sat down and wrote the package. It was so much fun, because the code is so simple (it is in effect just a loop that inserts a few PDF instructions depending on the current item in the TeX output) but the output is impressive.</p>

<p>Actually it is my first CTAN submission that has has reached a user base &gt; 1.</p>

<p>Almost all Lua code I write here follows the same rule. Look at the nodes that TeX generate and insert a few new nodes here and there. Nodes is the basic data structure TeX generates just before writing the PDF.</p>

<p>My answer to <a href="http://tex.stackexchange.com/questions/27780/one-letter-word-at-the-end-of-line">One letter word at the end of line</a> is using pretty much the same algorithm. So there is no black magic involved, just a simple while-loop. Once you know this, you can do nice stuff. For example the answer to the question.</p>

<p>And there is another problem: LuaLaTeX depends on <code>luaotfload</code> (when you use <code>fontspec</code>), which is a beast. I really mean: a beast. It is big and complex and nobody understands it.</p>

<p><strong>Alan:</strong> I also liked your “show hyphenation marks” code that I used in this answer: <a href="http://tex.stackexchange.com/questions/12775/babel-english-american-usenglish/12785#12785">babel: english, american, USenglish</a></p>

<p><strong>Patrick:</strong> Which is the same while-loop as in all the other answers. <code>:)</code></p>

<p><strong>David Carlisle:</strong> in a recent Lua/LaTeX3 thread on the main site, the subject of stability came up. Do you think LuaTeX is stable enough to commit a major format like LaTeX to it (or for a major publisher like AMS)? As you know there have been several new TeX engines and if LaTeX had switched from TeX to eTeX to NTS to Omega to XeTeX to LuaTeX, it&#8217;s not clear that there would have ever been a stable platform for package development. but presumably at some point one has to jump.</p>

<p><strong>Patrick:</strong> Good question. There are sometimes bugs that are really awful. There was one version that eliminated almost all hyphenation.</p>

<p><strong>Joseph:</strong> Oops <code>:-)</code></p>

<p><strong>Patrick:</strong> I would never ever trust a moving target that I don&#8217;t understand.</p>

<p><strong>Joseph:</strong> The implication is therefore “not yet”.</p>

<p><strong>Patrick:</strong> Right. I have a different situation because I use only the core part of LuaTeX and write everything myself, even the font loader. So as long as I don&#8217;t update LuaTeX, I have a reliable workflow.</p>

<p><strong>Joseph:</strong> I assume that for your work you maintain a system of “known” status, so bugs are not an issue in the sense that they are “stable”.</p>

<p><strong>Patrick:</strong> Bugs like the mentioned one (with the hyphenation) don&#8217;t really hit me, because then I just go back to the previous version of LuaTeX. But if for example <code>luaotfload</code> depends on a newer version, you don&#8217;t have that choice. Currently I don&#8217;t mind such things and I do use LuaLaTeX.</p>

<p><strong>Alan:</strong> But really crucial, especially if LuaLaTeX is going to successfully replace XeLaTeX (which is essential these days for anyone who is using non-Latin scripts, RTL etc.).</p>

<p><strong>Joseph:</strong> The font loading situation, certainly for <code>fontspec</code>, is on my “worry list”. :-)</p>

<p><strong>Patrick:</strong> The weak part in my opinion is <code>luaotfload</code>. It is a great piece of software (it can do so much), but it is unmaintainable. It is based on the font loader of ConTeXt. So bugs can only get fixed on the context side, but if Hans does not consider something as a bug (because he has a fix somewhere else in the code) we have a big problem.</p>

<p>There are numerous places where we already hit <code>luaotfload</code> bugs (for example there is no way to load <code>type1</code> fonts with <code>luaotfload</code>). So one day one active group need to replace that beast with something less capable, but stable and easier to maintain.</p>

<p><strong>Joseph:</strong> Perhaps we should start some serious discussion about this.</p>

<p><strong>Patrick:</strong> Yes, that woud be good.</p>

<p><strong>Paulo:</strong> How did you become aware of the TeX.sx community?</p>

<p><strong>Patrick:</strong> I can&#8217;t remember, it is more than a year ago <code>:)</code> I&#8217;ve probably found it “on Google” or read about it on Hacker News (<code>news.ycombinator.com</code>).</p>

<p><strong>egreg:</strong> Apart from the articles you already mentioned, what are your next (Lua)TeX related projects?</p>

<p><strong>Patrick:</strong> my open source software must be better (more features and English documentation for example) and I really would like to implement a different font loader for LaTeX. But that would take too much time.</p>

<p>I will try to push LuaTeX in the TeX community to make it more attractive to new TeX users. They can then write the fontloader instead. <code>;)</code></p>

<p>But it actually depends on interesting questions here on TeX.sx.</p>

<p>I have also thought about a typesetting framework such as Rails is for the web.</p>

<p>You just need to fill out the blanks and you get a typesetting environment that can be used to produce markdown based PDFs.</p>

<p><strong>Paulo:</strong> I&#8217;ll post a question: “How to implement a different font loader using LuaTeX?” <code>:P</code></p>

<p><strong>Patrick:</strong> You&#8217;d get a minimal answer then <code>:)</code></p>

<p><strong>egreg:</strong> You&#8217;ve recently reached 10000 rep (a very big step); what do you feel about the community?</p>

<p><strong>Patrick:</strong> Oh, no, I am still at 8k, so I am just a small light.</p>

<p><strong>egreg:</strong> Oh, sorry, I looked at the global rep. <code>:(</code> So Paulo doesn&#8217;t still need to hand you <a href="http://chat.stackexchange.com/transcript/41?m=1955495#1955495">his credit card number</a>. <code>:)</code> But the main question remains. <code>:)</code></p>

<p><strong>Patrick:</strong> The community here is really awesome. Really, I mean it. I have never spent so much time answering TeX question and talking to other TeX people (well, there was a time I had to write my diploma thesis where I have done a lot for the ConTeXt community, the <code>contextgarden.net</code> web server and related things).</p>

<p>It is the best thing that happened to the TeX community for getting support. It would be nice if it could handle other languages as well, but then the community is probably to small.</p>

<p>TeX is hard to learn and to use, so a good community is very important. And we have been able to attract the experts and the “glue people” that keep the experts here.</p>

<p>I ask a lot of questions myself and I know that I can get real “professional” help here. And I search this site a lot. Most of my questions are covered here.</p>

<p>BTW: I ignore the TikZ questions here, so I only see half of the TeX.sx questions. This makes it much easier to follow TeX.sx.</p>

<p><strong>Alan:</strong> What is a “glue” person? Someone who asks interesting enough questions for experts to be interested in answering?</p>

<p><strong>Patrick:</strong> A glue person could be: a moderator who gives a friendly welcome to new members, people like Paulo who do interviews and hang around in chat to help people and might not have 60k rep, but still know a lot.</p>

<p>So a person between the “pure answer” and the person who posts a question.</p>

<p>It might be even a person who edits posts and fixes spelling mistakes and bad grammar. I know that you did this in some of my posts and I am really thankful for that.</p>

<p>This is one of the things I like here. It is not just about answers, but making the site a better experience.</p>

<p><strong>Alan:</strong> I&#8217;m happy to do that, especially with good answers. But I know what you mean. I also like the fact that most of us will help each other to improve answers via comments rather than just posting competing answers. This promotes a much better environment overall.</p>

<p><strong>Patrick:</strong> I have unsubscribed to all mailing lists. For example the German list <code>tex-d-l</code> has such a bad signal-to-noise ratio: there is about one mail per day and every few days a thread starts in the sense: “don&#8217;t post HTML here” with lots of answers. So for every question asked, there are three unnecessary mails.</p>

<p>While I love to chat, I only chat where it is welcome by others (I have unsubscribed to all TeX-related mailing lists).</p>

<p><strong>Alan:</strong> Yes, I agree with this. I&#8217;ve all but abandoned the Mac TeX list, and now only subscribe to a couple of developer heavy lists which have relatively low noise.</p>

<p><strong>Patrick:</strong> I am still on the LuaTeX list, of course.</p>

<p><strong>Paulo:</strong> How do you feel being portraited in the following awesome image:</p>

<p><a href="http://tex.blogoverflow.com/files/2012/03/wolfgang-reducedsize.jpg"><img class="aligncenter size-full wp-image-1172" src="http://tex.blogoverflow.com/files/2012/03/wolfgang-reducedsize.jpg" alt="" width="400" height="264" /></a><strong></strong></p>

<p><strong>Patrick:</strong> I am the second right on the top row. It is really an honor to be on that picture.</p>

<p><strong>Paulo:</strong> You have an epic gardener hat in that image. <code>:D</code></p>

<p><strong>Patrick:</strong> Coming back to the community: What I like about the community is that it feels that everyone is so friendly. There are almost no RTFM answers. This is one thing I really don&#8217;t like in the groups/lists that I know. Unless it is a clear pointer to a manual. But when I ask, it is because the manual is unclear to me.</p>

<p><strong>Alan:</strong> We are a remarkably restrained bunch. <code>:-)</code> But I think the fact that it&#8217;s quite easy to find duplicates and then point people to existing answers is a big reason for this. That&#8217;s the real problem with newsgroups: they&#8217;re lousy as repositories of old information. And slogging though a google groups search isn&#8217;t very nice either.</p>

<p><strong>Patrick:</strong> Thats a good explanation.</p>

<p><strong>Paulo:</strong> Sorry if this is a newbie question: do you use <code>texlua</code> or <code>lua</code>? <code>:)</code></p>

<p><strong>Patrick:</strong> I have Lua installed and sometimes I write small test programs using <code>lua</code>. But usually I use <code>texlua</code>, because it has all the nice libraries built in (<code>lpeg</code> for example). Actually that is not true, because I have my own patched LuaTeX binary with an XML library built in. I can&#8217;t believe that in the year 2012 we don&#8217;t have an XML enabled TeX system.</p>

<p><strong>Paulo:</strong> I&#8217;ve seen some new languages out there with a built-in XML support. <code>:)</code> It&#8217;s quite a requirement.</p>

<p><strong>Patrick:</strong> It is not hard to write a basic XML parser. But if you really want to do it right (all the different charsets, <code>xinclude</code> and other things) it is getting error prone. So I cannot see a reason why not to include something like <code>libxml2</code> or <code>expat</code>.</p>

<p>There is now a new XML standard which allows more characters to be used in tag names. I bet that all the self-written parsers will not keep up with these new standards</p>

<p><strong>Paulo:</strong> Indeed.</p>

<p><strong>Patrick:</strong> But I am arguing with the LuaTeX developers for several years now <code>:)</code></p>

<p><strong>Paulo:</strong> I wrote my first Lua script these days. I&#8217;m impressed with Lua&#8217;s simplicity. Almost every new software has a piece of code written in Lua.</p>

<p><strong>Patrick:</strong> There are some things missing in Lua, for example decent object oriented programming. But if you know the limits, Lua programs are fast to write and readable, even after a few months.</p>

<p><strong>Paulo:</strong> Can you name something you really like in LuaTeX? And is there something you dislike? <code>:)</code></p>

<p><strong>Patrick:</strong> One thing I really like is the function <code>tex.linebreak()</code>. It is TeX&#8217;s linebreaking algorithm but not with “plain text” as the input, but the data structure (nodes) TeX uses internally.</p>

<p>I dislike that the font system is not built into the core as it is in XeTeX, but this is not so problematic as we thought in the beginning.</p>

<p><strong>egreg:</strong> I just want to tell that I&#8217;ve enjoyed very much this conversation (and I am safe on the train).</p>

<p><strong>Patrick:</strong> Thanks, I also enjoyed the chat.</p>

<p><strong>Paulo:</strong> What do you recommend for a newbie eager to learn TeX, LaTeX and friends? <code>:)</code></p>

<p><strong>Patrick:</strong> I don&#8217;t know that the state of the art is when it comes to LaTeX introductions. But the second book should be “The LaTeX Companion” by Frank Mittelbach et al.</p>

<p><strong>egreg:</strong> I see you&#8217;re at 8950: just a four/five days&#8217; work to reach 10000 and get Paulo&#8217;s credit card number. <code>;-)</code> Good job, anyway, I always have a look to your contributions.</p>

<p><strong>Paulo:</strong> Oh my credit card number! <code>:D</code></p>

<p><strong>Patrick:</strong> I am mostly interested in LuaTeX contributions. <code>:)</code> I am proud to be the first one to have a bronze “LuaTeX” badge, even before egreg and others have it. <code>:)</code></p>

<p>But I get my points by answers like these: <a href="http://tex.stackexchange.com/questions/45850/does-context-ever-require-multiple-passes-to-compile/45856#45856">Does ConTeXt ever require multiple passes to compile?</a> and <a href="http://tex.stackexchange.com/questions/27780/one-letter-word-at-the-end-of-line/28128#28128">One-letter word at the end of line</a>.</p>

<p><strong>egreg:</strong> Confess that you were inspired by my comment. <code>:)</code></p>

<p><strong>Patrick:</strong> Of course, but it was too verbose <code>;-)</code></p>

<p><strong>Paulo:</strong> Do you have a “favorite” answer of yours?</p>

<p><strong>Patrick:</strong> Yes, I do. Actually two, the “cow in a box one” and the answer about how to prevent a single letter word at the end of a line. These answers show the beauty how Lua and LaTeX can exist in perfect harmony.</p>

<p>A user does not have to know Lua to use the packages, but still get the power of Lua. Both answers are rather short and might provide a starting point to learn how Lua and LaTeX work together.</p>

<p><strong>Paulo:</strong> Thanks a million for this great interview! :)</p>

<p><strong>Patrick:</strong> I have to thank you and the others for the great questions!</p>

<hr />

<p>Stay tuned for the next episode of <em>TeXtalk!</em></p>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tex.blogoverflow.com/2012/03/textalk-an-interview-with-patrick-gundlach/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  tex.blogoverflow.com/feed/ ) in 0.97632 seconds, on May 20th, 2012 at 1:57 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 20th, 2012 at 1:57 am UTC -->
