# Should {tex-core} questions always have stand-alone answers?

Questions tagged seem to demand answers in plain TeX (or at least plain TeX macros + some extensions as required), even if the same solution is entirely applicable in LaTeX, ConTeXt or some other situation. In questions such as reversing the order of expansion, we (currently) have one answer using expl3 and a second which loads some pre-packaged material to do the job. Both are good answers, but I wonder how other people see this. Should we encoruage answers to which are

1. Plain TeX (i.e. they finish `\bye`)
2. Stand-alone (no pre-packaged code used)

I ask because if people really want to learn TeX internals then they'll need to have things demonstrated in primitives (or at least primitives plus a small set of basic macros such as `\@firstofone`).

• I understand the concern. In some cases, still, it is much quicker to just reuse some code than to recode it (for completeness, the non-expl3 answer is in fact just using code that can be found elsewhere on `{TeX}`, although it is not very explicitly stated). – Bruno Le Floch Feb 16 '11 at 19:00
• @Bruno: Yes, I can see that too (after all, one reason I do use `expl3` is it avoids re-coding the same things again and again). I guess it partly depends on whether the question is asking for a particular idea to be explained at a low level. – Joseph Wright Feb 16 '11 at 19:16
• Aargh, three good answers: which one to accept! – Joseph Wright Feb 17 '11 at 7:50

My two cents: In the same way as a we want ConTeXt answers to LaTeX specific questions, I see no harm in non-plain-TeX answers to questions.

• Additionally, the question-asker (or someone coming via a search engine) might not be aware of pre-packaged solutions. – Caramdir Feb 16 '11 at 23:31

As I see it, `tex-core` refers fairly specifically to low-level TeX functionality (such as the behaviour of primitives) and it's not necessarily appropriate to ask ‘how can I program this complicated thing’ as part of that — I don't think it's that helpful to spread around lots of code written only in TeX primitives since as far as I know no-one is writing packages for iniTeX only.

So when a programming question comes up in this scenario to ask, say, ‘is it possible to expandably do some things?’, I think it's perfectly acceptable to say ‘yes—here is how expl3/ConTeXt/etoolboox does it’. Maybe in some cases it's helpful to restrict an answer to plain TeX only, but it shouldn't be mandated in my opinion.

To agree with Hendrik, it is good to see alternative ways of doing things and having Context/expl3 answers increases the reference value of the Q&A thread. But such answers should advertise that they do not meet the exact requirements the question was after.

Use your judgement. If someone is asking how to do something fundamental in a fairly format-agnostic way, giving them an answer only in terms of expl3 is probably not the best way to go (assuming you want your answer accepted!), but it won't likely cause much harm.

Answering in terms of e.g. `manmac.tex` or `texinfo.tex` would probably be better, though; they have much less code (or at least a smaller number of files) to wade through in order to see how something works. And, being basically self-contained packages, there is a much smaller amount of patching than in LaTeX; what remains consists mostly of overriding/renaming stuff from `plain`, and is greatly simplified by not having to worry about stepping on other packages' toes.

However, if the question is really about something big and complicated, suggest whatever you think best! ConTeXt, LaTeX3, even using LuaTeX to invoke METAPOST in-process, if that's what it takes!

(Of course, if the question makes it clear that the asker really just wants to know how to do something in LaTeX, maybe the `tex-core` tag should just be removed?)