# [NTG-context] A not so short introduction to ConTeXt Mark IV

Hans Hagen j.hagen at xs4all.nl
Tue Jan 5 10:04:10 CET 2021

```On 1/4/2021 5:32 PM, Joaquín Ataz López wrote:
>
>> Really? I wouldn't see it this way. I wondered a bit about the
>> number of primitives shown in the document of Joaquín, but that they
>> are used certainly doesn't make context like plaintex.
>
> I have calculated the number of primitives from the list made in "TeX
> Reference Manual" by David Bausum (of which there is a web version at
> https://www.tug.org/utilities/plain/cseq.html).
>
> According to that text the number of primitives is exactly 326. In my
> document I rounded it to "approximately 300".
That list is a bit old. In the meantime we got etex extensions, which
adds a few more, and then pdftex ades some, as well as omega and after
that of course luatex. In luametatex we dropped some, and added others,
so there we currently have 770 primitives. The increase of number is
partly due to the 166 extra math related primitives of which many deal
with all kind of font related paraneters and inter-blob spacing.

\starttext

\startTEXpage[offset=2mm,width=30cm,align={verytolerant,nothyphenated,flushleft},foregroundstyle=\tttf]
\startluacode
local t = tex.primitives()
table.sort(t)
local n = 0
for i=1,#t do
if string.find(t[i],"^U") then
n =n + 1
end
end
context("%i / %i: % t",#t,n,t)
\stopluacode
\stopTEXpage

\stoptext

if yuou want to know if something is a primitive, say:

\meaningfull\vskip \par
\meaningfull\relax \par
\meaningfull\framed\par

and you get an idea (\meaningfull itself is a primitive, the more
verbose \meaning, and there's also \meaningless which I let you figure
out yourself; of course these add two primitives to the repertoire).

Hans

-----------------------------------------------------------------