Skip to content


This is a work-in-progress: a “living document”

Over time, we plan to add definitions and examples for many more of the TeX primitives listed in the tables below—those definitions can be accessed by selecting the appropriate command which will take you to a page with explanations, examples and, where relevant, additional background information. Additionally, we may update or enhance existing descriptions, definitions or examples to improve them as this project evolves.

For further information and notes to accompany these tables, please refer to the section at the end of this document—those notes include important considerations for \(\text{Lua}\mathrm\TeX\), together with descriptions of how this primitive data was generated.

Due to the amount of data, it has been split into two sets of tables—both compare 5 different TeX engines (Knuth’s original TeX is contained in both data sets):

The list of primitives

The tables below list nearly 1000 TeX primitive commands and show which TeX engine(s) support each command:

  • ✔ indicates that a TeX engine supports that command;
  • ✖ indicates that a TeX engine does not support that command;

To ease navigation, the list of primitives is further broken down into alphabetical groups contained in sub-tables. Each sub-table is preceded by this navigation bar which enables you to quickly access the various alphabetical groupings of commands:

Primitives starting with "- /A—C"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\<space>
\-
\/
\above
\abovedisplayshortskip
\abovedisplayskip
\abovewithdelims
\accent
\adjdemerits
\adjustspacing
\advance
\afterassignment
\aftergroup
\alignmark
\aligntab
\atop
\atopwithdelims
\attribute
\attributedef
\automaticdiscretionary
\automatichyphenmode
\automatichyphenpenalty
\badness
\baselineskip
\batchmode
\begincsname
\begingroup
\beginL
\beginR
\belowdisplayshortskip
\belowdisplayskip
\binoppenalty
\bodydir
\bodydirection
\botmark
\botmarks
\boundary
\box
\boxdir
\boxdirection
\boxmaxdepth
\breakafterdirmode
\brokenpenalty
\catcode
\catcodetable
\char
\chardef
\charsubdef (\(\scriptsize\text{ML}\mathrm\TeX\))
\charsubdefmax (\(\scriptsize\text{ML}\mathrm\TeX\))
\cleaders
\clearmarks
\closein
\closeout
\clubpenalties
\clubpenalty
\compoundhyphenmode
\copy
\copyfont
\count
\countdef
\cr
\crampeddisplaystyle
\crampedscriptscriptstyle
\crampedscriptstyle
\crampedtextstyle
\crcr
\csname
\csstring
\currentgrouplevel
\currentgrouptype
\currentifbranch
\currentiflevel
\currentiftype

Primitives starting with "D—F"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\day
\deadcycles
\def
\defaulthyphenchar
\defaultskewchar
\delcode
\delimiter
\delimiterfactor
\delimitershortfall
\detokenize
\dimen
\dimendef
\dimexpr
\directlua
\discretionary
\displayindent
\displaylimits
\displaystyle
\displaywidowpenalties
\displaywidowpenalty
\displaywidth
\divide
\doublehyphendemerits
\dp
\draftmode
\dump
\dviextension
\dvifeedback
\dvivariable
\edef
\efcode
\else
\emergencystretch
\end
\endcsname
\endgroup
\endinput
\endL
\endlinechar
\endlocalcontrol
\endmubyte (\(\scriptsize\text{Enc}\mathrm\TeX\))
\endR
\eqno
\errhelp
\errmessage
\errorcontextlines
\errorstopmode
\escapechar
\eTeXminorversion
\eTeXrevision
\eTeXVersion
\eTeXversion
\etoksapp
\etokspre
\everycr
\everydisplay
\everyeof
\everyhbox
\everyjob
\everymath
\everypar
\everyvbox
\exceptionpenalty
\exhyphenchar
\exhyphenpenalty
\expandafter
\expanded
\expandglyphsinfont
\explicitdiscretionary
\explicithyphenpenalty
\fam
\fi
\finalhyphendemerits
\firstmark
\firstmarks
\firstvalidlanguage
\fixupboxesmode
\floatingpenalty
\font
\fontchardp
\fontcharht
\fontcharic
\fontcharwd
\fontdimen
\fontid
\fontname
\formatname
\futurelet

Primitives starting with "G—I"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\gdef
\gleaders
\glet
\global
\globaldefs
\glueexpr
\glueshrink
\glueshrinkorder
\gluestretch
\gluestretchorder
\gluetomu
\gtoksapp
\gtokspre
\halign
\hangafter
\hangindent
\hbadness
\hbox
\hfil
\hfill
\hfilneg
\hfuzz
\hjcode
\hoffset
\holdinginserts
\hpack
\hrule
\hsize
\hskip
\hss
\ht
\hyphenation
\hyphenationbounds
\hyphenationmin
\hyphenchar
\hyphenpenalty
\hyphenpenaltymode
\if
\ifabsdim
\ifabsnum
\ifcase
\ifcat
\ifcondition
\ifcsname
\ifdefined
\ifdim
\ifeof
\iffalse
\iffontchar
\ifhbox
\ifhmode
\ifincsname
\ifinner
\ifmmode
\ifnum
\ifodd
\ifpdfabsdim
\ifpdfabsnum
\ifpdfprimitive
\ifprimitive
\iftrue
\ifvbox
\ifvmode
\ifvoid
\ifx
\ignoreligaturesinfont
\ignorespaces
\immediate
\immediateassigned
\immediateassignment
\indent
\initcatcodetable
\input
\inputlineno
\insert
\insertht
\insertpenalties
\interactionmode
\interlinepenalties
\interlinepenalty

Primitives starting with "J—L"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\jobname
\kern
\knaccode
\knbccode
\knbscode
\language
\lastbox
\lastkern
\lastlinefit
\lastnamedcs
\lastnodetype
\lastpenalty
\lastsavedboxresourceindex
\lastsavedimageresourceindex
\lastsavedimageresourcepages
\lastskip
\lastxpos
\lastypos
\latelua
\lateluafunction
\lccode
\leaders
\left
\leftghost
\lefthyphenmin
\leftmarginkern
\leftskip
\leqno
\let
\letcharcode
\letterspacefont
\limits
\linedir
\linedirection
\linepenalty
\lineskip
\lineskiplimit
\localbrokenpenalty
\localinterlinepenalty
\localleftbox
\localrightbox
\long
\looseness
\lower
\lowercase
\lpcode
\luabytecode
\luabytecodecall
\luacopyinputnodes
\luadef
\luaescapestring
\luafunction
\luafunctioncall
\luatexbanner
\luatexrevision
\luatexversion

Primitives starting with "M—O"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\mag
\mark
\marks
\mathaccent
\mathbin
\mathchar
\mathchardef
\mathchoice
\mathclose
\mathcode
\mathdelimitersmode
\mathdir
\mathdirection
\mathdisplayskipmode
\matheqnogapstep
\mathflattenmode
\mathinner
\mathitalicsmode
\mathnolimitsmode
\mathop
\mathopen
\mathoption
\mathord
\mathpenaltiesmode
\mathpunct
\mathrel
\mathrulesfam
\mathrulesmode
\mathrulethicknessmode
\mathscriptboxmode
\mathscriptcharmode
\mathscriptsmode
\mathstyle
\mathsurround
\mathsurroundmode
\mathsurroundskip
\maxdeadcycles
\maxdepth
\mdfivesum
\meaning
\medmuskip
\message
\middle
\mkern
\month
\moveleft
\moveright
\mskip
\mubyte (\(\scriptsize\text{Enc}\mathrm\TeX\))
\mubytein (\(\scriptsize\text{Enc}\mathrm\TeX\))
\mubytelog (\(\scriptsize\text{Enc}\mathrm\TeX\))
\mubyteout (\(\scriptsize\text{Enc}\mathrm\TeX\))
\muexpr
\multiply
\muskip
\muskipdef
\mutoglue
\newlinechar
\noalign
\noboundary
\noconvert (\(\scriptsize\text{Enc}\mathrm\TeX\))
\noexpand
\nohrule
\noindent
\nokerns
\noligs
\nolimits
\nonscript
\nonstopmode
\normaldeviate
\nospaces
\novrule
\nulldelimiterspace
\nullfont
\number
\numexpr
\omit
\openin
\openout
\or
\outer
\output
\outputbox
\outputmode
\outputpenalty
\over
\overfullrule
\overline
\overwithdelims

Primitives starting with "P"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\pagebottomoffset
\pagedepth
\pagedir
\pagedirection
\pagediscards
\pagefilllstretch
\pagefillstretch
\pagefilstretch
\pagegoal
\pageheight
\pageleftoffset
\pagerightoffset
\pageshrink
\pagestretch
\pagetopoffset
\pagetotal
\pagewidth
\par
\pardir
\pardirection
\parfillskip
\parindent
\parshape
\parshapedimen
\parshapeindent
\parshapelength
\parskip
\patterns
\pausing
\pdfadjustinterwordglue
\pdfadjustspacing
\pdfannot
\pdfappendkern
\pdfcatalog
\pdfcolorstack
\pdfcolorstackinit
\pdfcompresslevel
\pdfcopyfont
\pdfcreationdate
\pdfdecimaldigits
\pdfdest
\pdfdestmargin
\pdfdraftmode
\pdfeachlinedepth
\pdfeachlineheight
\pdfelapsedtime
\pdfendlink
\pdfendthread
\pdfescapehex
\pdfescapename
\pdfescapestring
\pdfextension
\pdffakespace
\pdffeedback
\pdffiledump
\pdffilemoddate
\pdffilesize
\pdffirstlineheight
\pdffontattr
\pdffontexpand
\pdffontname
\pdffontobjnum
\pdffontsize
\pdfforcepagebox
\pdfgamma
\pdfgentounicode
\pdfglyphtounicode
\pdfhorigin
\pdfignoreddimen
\pdfimageapplygamma
\pdfimagegamma
\pdfimagehicolor
\pdfimageresolution
\pdfincludechars
\pdfinclusioncopyfonts
\pdfinclusionerrorlevel
\pdfinfo
\pdfinfoomitdate
\pdfinsertht
\pdfinterwordspaceoff
\pdfinterwordspaceon
\pdflastannot
\pdflastlinedepth
\pdflastlink
\pdflastmatch
\pdflastobj
\pdflastxform
\pdflastximage
\pdflastximagecolordepth
\pdflastximagepages
\pdflastxpos
\pdflastypos
\pdflinkmargin
\pdfliteral
\pdfmapfile
\pdfmapline
\pdfmatch
\pdfmdfivesum
\pdfminorversion
\pdfmovechars
\pdfnames
\pdfnobuiltintounicode
\pdfnoligatures
\pdfnormaldeviate
\pdfobj
\pdfobjcompresslevel
\pdfoptionalwaysusepdfpagebox
\pdfoptionpdfinclusionerrorlevel
\pdfoptionpdfminorversion
\pdfoutline
\pdfoutput
\pdfpageattr
\pdfpagebox
\pdfpageheight
\pdfpageref
\pdfpageresources
\pdfpagesattr
\pdfpagewidth
\pdfpkmode
\pdfpkresolution
\pdfprependkern
\pdfprimitive
\pdfprotrudechars
\pdfpxdimen
\pdfrandomseed
\pdfrefobj
\pdfrefxform
\pdfrefximage
\pdfresettimer
\pdfrestore
\pdfretval
\pdfsave
\pdfsavepos
\pdfsetmatrix
\pdfsetrandomseed
\pdfshellescape
\pdfsnaprefpoint
\pdfsnapy
\pdfsnapycomp
\pdfstartlink
\pdfstartthread
\pdfstrcmp
\pdfsuppressptexinfo
\pdfsuppresswarningdupdest
\pdfsuppresswarningdupmap
\pdfsuppresswarningpagegroup
\pdftexbanner
\pdftexrevision
\pdftexversion
\pdfthread
\pdfthreadmargin
\pdftracingfonts
\pdftrailer
\pdftrailerid
\pdfunescapehex
\pdfuniformdeviate
\pdfuniqueresname
\pdfvariable
\pdfvorigin
\pdfxform
\pdfxformname
\pdfximage
\pdfximagebbox
\penalty
\postdisplaypenalty
\postexhyphenchar
\posthyphenchar
\prebinoppenalty
\predisplaydirection
\predisplaygapfactor
\predisplaypenalty
\predisplaysize
\preexhyphenchar
\prehyphenchar
\prerelpenalty
\pretolerance
\prevdepth
\prevgraf
\primitive
\protected
\protrudechars
\protrusionboundary
\pxdimen

Primitives starting with "Q—T"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\quitvmode
\radical
\raise
\randomseed
\read
\readline
\relax
\relpenalty
\right
\rightghost
\righthyphenmin
\rightmarginkern
\rightskip
\romannumeral
\rpcode
\saveboxresource
\savecatcodetable
\saveimageresource
\savepos
\savinghyphcodes
\savingvdiscards
\scantextokens
\scantokens
\scriptfont
\scriptscriptfont
\scriptscriptstyle
\scriptspace
\scriptstyle
\scrollmode
\setbox
\setfontid
\setlanguage
\setrandomseed
\sfcode
\shapemode
\shbscode
\shellescape
\shipout
\show
\showbox
\showboxbreadth
\showboxdepth
\showgroups
\showifs
\showlists
\showthe
\showtokens
\skewchar
\skip
\skipdef
\spacefactor
\spaceskip
\span
\special
\specialout (\(\scriptsize\text{Enc}\mathrm\TeX\))
\splitbotmark
\splitbotmarks
\splitdiscards
\splitfirstmark
\splitfirstmarks
\splitmaxdepth
\splittopskip
\stbscode
\strcmp
\string
\suppressfontnotfounderror
\suppressifcsnameerror
\suppresslongerror
\suppressmathparerror
\suppressoutererror
\suppressprimitiveerror
\synctex (\(\scriptsize\text{Sync}\mathrm\TeX\))
\tabskip
\tagcode
\textdir
\textdirection
\textfont
\textstyle
\TeXXeTstate
\the
\thickmuskip
\thinmuskip
\time
\toks
\toksapp
\toksdef
\tokspre
\tolerance
\topmark
\topmarks
\topskip
\tpack
\tracingassigns
\tracingcharsubdef (\(\scriptsize\text{ML}\mathrm\TeX\))
\tracingcommands
\tracingfonts
\tracinggroups
\tracingifs
\tracinglostchars
\tracingmacros
\tracingnesting
\tracingonline
\tracingoutput
\tracingpages
\tracingparagraphs
\tracingrestores
\tracingscantokens
\tracingstats

Primitives starting with "U"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\uccode
\Uchar
\Ucharcat
\uchyph
\Udelcode
\Udelcodenum
\Udelimiter
\Udelimiterover
\Udelimiterunder
\Uhextensible
\Uleft
\Umathaccent
\Umathaxis
\Umathbinbinspacing
\Umathbinclosespacing
\Umathbininnerspacing
\Umathbinopenspacing
\Umathbinopspacing
\Umathbinordspacing
\Umathbinpunctspacing
\Umathbinrelspacing
\Umathchar
\Umathcharclass
\Umathchardef
\Umathcharfam
\Umathcharnum
\Umathcharnumdef
\Umathcharslot
\Umathclosebinspacing
\Umathcloseclosespacing
\Umathcloseinnerspacing
\Umathcloseopenspacing
\Umathcloseopspacing
\Umathcloseordspacing
\Umathclosepunctspacing
\Umathcloserelspacing
\Umathcode
\Umathcodenum
\Umathconnectoroverlapmin
\Umathfractiondelsize
\Umathfractiondenomdown
\Umathfractiondenomvgap
\Umathfractionnumup
\Umathfractionnumvgap
\Umathfractionrule
\Umathinnerbinspacing
\Umathinnerclosespacing
\Umathinnerinnerspacing
\Umathinneropenspacing
\Umathinneropspacing
\Umathinnerordspacing
\Umathinnerpunctspacing
\Umathinnerrelspacing
\Umathlimitabovebgap
\Umathlimitabovekern
\Umathlimitabovevgap
\Umathlimitbelowbgap
\Umathlimitbelowkern
\Umathlimitbelowvgap
\Umathnolimitsubfactor
\Umathnolimitsupfactor
\Umathopbinspacing
\Umathopclosespacing
\Umathopenbinspacing
\Umathopenclosespacing
\Umathopeninnerspacing
\Umathopenopenspacing
\Umathopenopspacing
\Umathopenordspacing
\Umathopenpunctspacing
\Umathopenrelspacing
\Umathoperatorsize
\Umathopinnerspacing
\Umathopopenspacing
\Umathopopspacing
\Umathopordspacing
\Umathoppunctspacing
\Umathoprelspacing
\Umathordbinspacing
\Umathordclosespacing
\Umathordinnerspacing
\Umathordopenspacing
\Umathordopspacing
\Umathordordspacing
\Umathordpunctspacing
\Umathordrelspacing
\Umathoverbarkern
\Umathoverbarrule
\Umathoverbarvgap
\Umathoverdelimiterbgap
\Umathoverdelimitervgap
\Umathpunctbinspacing
\Umathpunctclosespacing
\Umathpunctinnerspacing
\Umathpunctopenspacing
\Umathpunctopspacing
\Umathpunctordspacing
\Umathpunctpunctspacing
\Umathpunctrelspacing
\Umathquad
\Umathradicaldegreeafter
\Umathradicaldegreebefore
\Umathradicaldegreeraise
\Umathradicalkern
\Umathradicalrule
\Umathradicalvgap
\Umathrelbinspacing
\Umathrelclosespacing
\Umathrelinnerspacing
\Umathrelopenspacing
\Umathrelopspacing
\Umathrelordspacing
\Umathrelpunctspacing
\Umathrelrelspacing
\Umathskewedfractionhgap
\Umathskewedfractionvgap
\Umathspaceafterscript
\Umathstackdenomdown
\Umathstacknumup
\Umathstackvgap
\Umathsubshiftdown
\Umathsubshiftdrop
\Umathsubsupshiftdown
\Umathsubsupvgap
\Umathsubtopmax
\Umathsupbottommin
\Umathsupshiftdrop
\Umathsupshiftup
\Umathsupsubbottommax
\Umathunderbarkern
\Umathunderbarrule
\Umathunderbarvgap
\Umathunderdelimiterbgap
\Umathunderdelimitervgap
\Umiddle
\underline
\unexpanded
\unhbox
\unhcopy
\uniformdeviate
\unkern
\unless
\Unosubscript
\Unosuperscript
\unpenalty
\unskip
\unvbox
\unvcopy
\Uoverdelimiter
\uppercase
\Uradical
\Uright
\Uroot
\useboxresource
\useimageresource
\Uskewed
\Uskewedwithdelims
\Ustack
\Ustartdisplaymath
\Ustartmath
\Ustopdisplaymath
\Ustopmath
\Usubscript
\Usuperscript
\Uunderdelimiter
\Uvextensible

Primitives starting with "V—Z"

\(\text{Primitive}\) \(\mathrm\TeX\)
\(\scriptsize\text{version 3.14159265}\)
\(\text{e}\mathrm\TeX\)
\(\scriptsize\text{version 2.6}\)
\(\text{pdf}\mathrm\TeX\)
\(\scriptsize\text{version 1.40.19}\)
\(\text{Xe}\mathrm\TeX\)
\(\scriptsize\text{version 0.99999}\)
\(\text{Lua}\mathrm\TeX\)
\(\scriptsize\text{version 1.08.0}\)
\vadjust
\valign
\vbadness
\vbox
\vcenter
\vfil
\vfill
\vfilneg
\vfuzz
\voffset
\vpack
\vrule
\vsize
\vskip
\vsplit
\vss
\vtop
\wd
\widowpenalties
\widowpenalty
\wordboundary
\write
\xchrcode (\(\scriptsize\text{Enc}\mathrm\TeX\))
\xdef
\XeTeXcharclass
\XeTeXcharglyph
\XeTeXcountfeatures
\XeTeXcountglyphs
\XeTeXcountselectors
\XeTeXcountvariations
\XeTeXdashbreakstate
\XeTeXdefaultencoding
\XeTeXdelcode
\XeTeXdelcodenum
\XeTeXdelimiter
\XeTeXfeaturecode
\XeTeXfeaturename
\XeTeXfindfeaturebyname
\XeTeXfindselectorbyname
\XeTeXfindvariationbyname
\XeTeXfirstfontchar
\XeTeXfonttype
\XeTeXgenerateactualtext
\XeTeXglyph
\XeTeXglyphbounds
\XeTeXglyphindex
\XeTeXglyphname
\XeTeXhyphenatablelength
\XeTeXinputencoding
\XeTeXinputnormalization
\XeTeXinterchartokenstate
\XeTeXinterchartoks
\XeTeXinterwordspaceshaping
\XeTeXisdefaultselector
\XeTeXisexclusivefeature
\XeTeXlastfontchar
\XeTeXlinebreaklocale
\XeTeXlinebreakpenalty
\XeTeXlinebreakskip
\XeTeXmathaccent
\XeTeXmathchar
\XeTeXmathchardef
\XeTeXmathcharnum
\XeTeXmathcharnumdef
\XeTeXmathcode
\XeTeXmathcodenum
\XeTeXOTcountfeatures
\XeTeXOTcountlanguages
\XeTeXOTcountscripts
\XeTeXOTfeaturetag
\XeTeXOTlanguagetag
\XeTeXOTscripttag
\XeTeXpdffile
\XeTeXpdfpagecount
\XeTeXpicfile
\XeTeXprotrudechars
\XeTeXradical
\XeTeXrevision
\XeTeXselectorcode
\XeTeXselectorname
\XeTeXtracingfonts
\XeTeXupwardsmode
\XeTeXuseglyphmetrics
\XeTeXvariation
\XeTeXvariationdefault
\XeTeXvariationmax
\XeTeXvariationmin
\XeTeXvariationname
\XeTeXversion
\xleaders
\xordcode (\(\scriptsize\text{Enc}\mathrm\TeX\))
\xprncode (\(\scriptsize\text{Enc}\mathrm\TeX\))
\xspaceskip
\xtoksapp
\xtokspre
\year

Notes to accompany the table of primitives

It is Overleaf’s intention for this to be a living document: we will continue to update it with additional command definitions but, as you may imagine, this is a large project. We can’t promise to have this completed within a particular timeframe, but we will do our best to complete the work as quickly as we can. In addition, if we become aware of updates to TeX engines which result in the addition of new primitives or removal of existing primitives then we will update this data as appropriate.

Important notes on \(\text{Lua}\mathrm\TeX\)

When using these tables, it is extremely important to be aware that although LuaTeX does not directly support a number of primitive commands present in pdfTeX, such as \pdfliteral, LuaTeX introduced an “interfacing primitives” mechanism—\pdfextension, \pdfvariable and \pdffeedback—through which the functionality of many pdfTeX primitives can be implemented. By way of examples, to define representations of the pdfTeX primitives \pdfliteral, \pdftexrevision and \pdfpagebox commands in LuaTeX, you would write:

\protected\def\pdfliteral{\pdfextension literal} 
\def\pdftexrevision{\pdffeedback revision}
\edef\pdfpagebox{\pdfvariable pagebox}

These examples are contained in The LuaTeX Reference Manual. Interested readers are strongly recommended to study Chapter 3 of The LuaTeX Reference Manual which contains many technical details of the differences between pdfTeX and LuaTeX.

Notes on MLTeX, EncTeX and SyncTeX

Primitives which originate from TeX extensions MLTeX, EncTeX and SyncTeX are indicated by the extension in brackets after the primitive command name. An article describing these extensions, and the primitives they provide, has been produced for readers interested in more detail.

Methodology: How was this data produced?

Overleaf analyzed the source code of 9 TeX engines to determine the primitive commands supported by each of those engines; that analysis resulted in a combined list of over 1000 different commands. Readers interested to know how this data was prepared can find further information in the article How Overleaf created the TeX primitive reference data.

Overleaf guides

LaTeX Basics

Mathematics

Figures and tables

References and Citations

Languages

Document structure

Formatting

Fonts

Presentations

Commands

Field specific

Class files

Advanced TeX/LaTeX