I'm using LaTeX for my day-to-day needs, but in order to avoid cargo-cult document creation, I'm trying to gain a better understanding of the TeX engine itself. As part of this I'm experimenting with TeX (i.e.
tex, and as opposed to LaTeX).
tex actually loads plain TeX. That's fine, but sometimes I find myself wondering if a command (I'm using the term in a loose sense here) is a primitive or a macro defined by plain TeX, so what I'd like to know is whether there is a way to run TeX that does not load
Having found this question I assumed that this could be done by using
virtex rather than
tex, but in my MiKTeX installation
virtex also loads
$ virtex This is TeX, Version 3.14159265 (MiKTeX 2.9.7250 64-bit) **\relax *\show\fmtname > \fmtname=macro: ->plain. <*> \show\fmtname ? x No pages of output. Transcript written on texput.log. $
So, am I doing something wrong (misunderstanding the exact purpose of
virtex, perhaps), or is this a bug in MiKTeX? And what can I do to tinker around with ,,primitive`` TeX, rather than (or in addition to) plain TeX?
tex --inito start up initex with no format preloaded, you could then use that as is or \dump a "empty" format to use with a normal tex (but I dont l know how miktex is configured) texlive doesn't distribute virtex anymore either.
}and setting an output routine and some non zero page size will make experiments a lot less painfull
tex --iniworks in MiKTeX, as does
initex. I was under the (perhaps mistaken) impression that INITEX was only for creating format dumps and could not be used to produce documents at all.
\show\cs; in case of a primitive, TeX would answer with
\cs=\cs. Note that plain TeX redefines no primitive (this is not the case of LaTeX).