Answering questions

I was at the UK-TUG AGM at the weekend, and amongst other things there was a workshop on “LaTeX Documentation and Support”. One of the topics that came up was how questions are answered in different forums (comp.text.tex, the texhax list, the LaTeX Community, Stack Overflow, etc.). How to answer questions was a topic of some discussion, the essential question being how far to go down the educational route when answering a question. Do you just give an answer that works, or do you give the background and help the questioner to learn about (La)TeX in a wider sense?

There is no right answer to this, of course. If the question is about plain TeX, then I tend to aim for the “full explanation” approach. On the other hand, you see questions which start “My professor says I have to use LaTeX, …”, where getting things done tends to be the main point. Of course, a lot of questions fall in the middle somewhere. Then you have to hope that you can judge the answer about right: some explanation, but not too much!

There’s also a cultural aspect. Questions asked on c.t.t. tend to get more involved answers than those on the LaTeX Community, for example. That reflects the type of questions asked and also the spread of “regulars”.

12 thoughts on “Answering questions

  1. I wish I could have been at the AGM for the “considerable interest in methods for presenting mathematical content on the web”. Having seen LatexRender (written in 2003 by Benjamin Zeiss and then revised and publicised by me) taken up by so many people (including WordPress) this, and similar programs like mathTeX etc do seem to have heralded a possible revival of interest in LaTeX. Students first meet it in forums, blogs, Wikis etc so as to incorporate mathematics and, hopefully some will go on to use it in complete documents.

    Accordingly I have changed the direction of the blog Using LaTeX in WordPress to document online facilities for using LaTeX (see for example Online LaTeX).

    It would be nice if TUG could offer its own such online facilities which would have its authority behind it.

    (Apologies if the links above are not allowed.)

  2. I don’t follow LaTeX Community nor texhax but I do follow Stack Overflow; it’s interesting the different styles of questions and answers that come up in the different places. (I suspect the only reason I stick with Stack Overflow is that the volume of traffic is quite low.)

    One slightly frustrating point is that it’s hard to link to documentation easily; it’s easy on my machine to type `texdoc siunitx` but on the web I’ll usually link to ``. It would be nice to invent a URI scheme so we could write `texdoc://siunitx` or whatever and have it either open up the local documentation or go to the appropriate online location. Same problem, incidentally, when writing about LaTeX packages inside PDF documentation.

    As to why we should be answering the questions in the first place — I believe it’s extremely useful in just learning what different packages are out there. We’re (supposed to be?) experts and yet it’s amazing how many new things I learn about just by casually browsing c.t.t.

  3. First I must say I enjoy very much reading your blog, Joseph.

    Next I want to mention that on the irc channel #latex on freenode we usually try to help people help themself:

    If they ask how to write an integral, we orcourse tell them it is int but also point them to lshort.pdf (or the tug FAQ) since we then belive that they need an introductory doc.

    If they ask a more specific question, say on howto have multiple lines in headers, we point them to a specific package (and its doc).

    After this, if they still do not manage, there is a bot (written by Troy Henderson) that runs LaTeX (and MetaPost) in an interactive way that is very helpful. There is also a pastebin (on ) where one can give larger snippets and see how they compile.

    Most users get help very fast this way, and are happy with it. Some do not like to be pointed at some doc, but rather just want the answers.

    If noone knows the answer c.t.t. is a very good resource for finding answers.

  4. Hello Steve,

    Thanks for the information. One of the discussion points was that things like MathML/OpenMath have the advantage that the “content” remains available and scalable in the browser. The thing with the various image-based solutions is that the content is not there for the PC (which includes problems for partially-sighted users).

    As to TUG, I’m sure that supporting projects would be possible, but the usual problem is finding people to do things. There are always more good ideas than people with time to do them, I think.


  5. Hello Will,

    Documentation was a strong topic at the meeting. The comparison to other programming systems does not necessarily flatter LaTeX: if you look at things like Python, you can get access to the same docs online or in a printed form. But the problem is that everyone does their own thing for LaTeX packages. It would be nice to imagine a better ltxdoc (or something) that made it easier to produce multiple output formats. You could then imagine having web pages of the documentation to complement the existing PDFs. You could then, I think, imagine having something like:

    To open the documentation directly.


  6. Hello Mikael,

    Thanks very much for the comment: glad I’m interesting. I’ve not come across freenode, but it sounds like the approach is pretty sensible. I’ll take a look.


  7. A relay post for Steve Mayer:
    I agree that MathML is the ideal to aim for but it does have problems. In the ubiquitous IE it won’t show without a plugin and if there’s any error on the page, nothing shows at all, though this is a problem with XHTML rather than MathML itself.
    It’s instructive to read Lieven le Bruyn’s experience at mathML versus LaTeXRender when he wanted to use mathML for his blog.

    I understand that development of incorporating mathML into Firefox has stopped though that may be more rumour than fact.

    By the way, LatexRender and similar do retain the content – the underlying LaTeX code is in the alt and title tags which can be read by a screen reader and show when images are turned off. For example, hover over the graph at Plotting Graphs and click on it to open a popup with the code.

  8. Hello Steve,

    I’d not noticed that LaTeXRender retains the TeX source: thanks for that.

    The point about MathML (or OpenMath) content is that it is defined. The problem with (La)TeX for that type of thing is the definitions alter depending on what is loaded.


  9. One of the documentation ideas discussed on the AGM and takls day was to provide a list of definitions of commands, a pointer to its source code and a pointer to its documentation. An Index.

    It is convenient to have the source of LaTeX packages that are on CTAN. It is especially useful that all LaTeX packages come as source, and are not distributed in compiled form. Because of that I can just start to discuss how to make the index from plain text.

    Any pattern matcher should be able to spot def, let and newcommand. A good pattern matching tool especially if it has dynamically created patterns, not evaluated until actually required, should be able to track catcode changes and so identify @commands. In the discussion at the meeting, it was noted that end-users of (La)TeX should not know about @commands and not use them directly, but use the package interface to invoke them indirectly in the intended manner.

    I think it would be a challenge to accurately index definitions created from csname and expandafter commands. Not necessarily impossible, but difficult.

    It would be an immense job to index all of the packages on CTAN, and deal with all the name clashes. Also, CTAN is updated frequently, so the indexing tool would have to run on CTAN frequently. That’s a potential load on the CTAN server.

    But as far as I know, no-one actually loads all the packages on top of LaTeX. And if a user seeks help, they need help with the particular combination of packages they actually loaded on the LaTeX run that went wrong.

    So a specific index for that user’s run of (LaTeX) would be more help to them and involve less indexing for us.

    Rather than having the problem of updating a central index continuously, instead I propose we build a tool that reads the user’s preamble, indexes the files loaded, in the order they are loaded and offers that much smaller index to the user. It might rely on the users’ package files being virtually or actually on the same workstation as the documentation tool. This is almost always the case.

    It’s a much smaller task than cataloguing CTAN, it would be accurate and uptodate for the user. Indeed, this tool will give users helpful results even if they use outdated packages or packages not available from CTAN e.g. style packages from LMS, Elsevier and other publishers. And I believe with a suitable choice of language, the index would be created very rapidly in the majority of cases.

    As programming languages that have suitable pattern matching, I know of Snobol, Icon, Ada, and another- can’t remember which just now.
    I believe all are freeware. Snobol and Icon are true open source. Snobol is very fast, and only about 100k of runtime. The associated data (such as a precompiled LaTeX kernel index?) could be larger than that? So the footprint is tiny too. And there are versions for PC & Linux. There may still be a Mac version. So it covers most of the workstations that run TeX.

    Given that powerful pattern matching is only a “nice to have”, what other languages should we consider?

    What languages do most TeX (at least the windows and linux users) nearly always have (apart from TeX Macro language, please 🙂 )

    What about Perl, Ruby, Lua, php ? Others?

    What could we get users to add to their worksatation that would be small & effective (like Snobol)? Would any of these tools run (with adequate security) on a server running Mathtran or another “I imageset your TeX formulae” tool?

    Initially we could prototype this tool, trial it with windows and linux users, and if successful, make it more accessible, faster by choosing a different language.

    I’d be willing to prototype in Snobol or Icon/Unicon.
    Any other offers? Anyone want to help, e.g draft a spec? Or just tell me what command defining words exist in Plain TeX, LaTeX and ConTeXt ?

  10. Hello Jay,

    Simon Dales is working on some ideas using Doxygen, and has made some progress on an initial testing system. Might be worth talking directly with him.


  11. Thanks Joseph, Simon has got in touch. We have different expectations of the users, and so different approaches. It’s valuable to see what the possible compromises will have to be.
    Anyone else wishing to join in please let Joseph know, he’ll be able to pass on my email address (please). And Simon’s if he said so on his membership form, or does so privately.

  12. Hello Jay,

    I think some kind of working group might be in order here. There seems to be some real interest in making something usable, and thanks to Simon we have not just ideas but code as well.


Leave a Reply