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).
Now 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 plain.fmt
.
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 plain.fmt
:
$ 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 --ini
to 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}
and setting an output routine and some non zero page size will make experiments a lot less painfulltex --ini
works in MiKTeX, as doesinitex
. 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).