TeX Internals: Parameters

In the following table, the type of each parameter is given in the first column: I for integer/count, B for boolean, D for dimension/length, S for skip/glue, F for font, and T for token list. A "boolean" is such an integer that TeX only cares if it is zero.

Paragraph Shape
Dhsizeparagraph width
Dparindentspace to the left of the first line
Dhangindentspace to the left of lines after hangafter, if it is positive,
or before its negation, if it is negative
Ihangafter
Sleftskipspace to the left of each line
Srightskipspace to the right of each line
Sparfillskipspace to the right of the last line
parshapelist of offsets and widths
Horizontal Spacing
Sspaceskipglue for normal spaces
Sxspaceskipglue for spaces after sentences
Line breaking & hyphenation
Ipretoleranceif badness exceeds this value, try to hyphenate
Itoleranceif badness exceeds this value, try again with emergencystretch
Demergencystretchextra stretchability for interword space
Iloosenessbreak paragraph into this many more/less lines than optimal
Ilanguagehyphenation table to use
Ilefthyphenminminimum number of characters before hyphenation point
Irighthyphenminminimum number of characters after hyphenation point
Buchyphhyphenate words that begin with uppercase letters
Ilinepenaltybaseline badness of line breaks
Ihyphenpenaltybadness of hyphenation
Iexhyphenpenaltybadness of breaking after a hyphen
Ibinoppenaltybadness of breaking after a binary operator
Irelpenaltybadness of breaking after a relation
Idoublehyphendemeritsdemerits of hyphenating adjacent lines
Ifinalhyphendemeritsdemerits of hyphenating the second-to-last line
Iadjdemeritsdemerits of adjacent lines with different looseness
Page Shape
Dvsizepage height
Dhoffsetpage origin, relative to 1 inch from left
Dvoffsetpage origin, relative to 1 inch from top
Stopskipglue between top of page and the first baseline
Ssplittopskipglue between top of \vsplit box and the first baseline
Dmaxdepthmaximum depth for last line of page
Dsplitmaxdepthmaximum depth for last line of \vsplit box
Dboxmaxdepthmaximum depth for last line of \vbox box
Vertical Spacing
Sbaselineskipglue between baselines
Dlineskiplimituse lineskip if interline glue is smaller than this
Slineskipglue between lines
Sparskipglue before each paragraph
Sabovedisplayskipglue between long line and display math
Sbelowdisplayskipglue after display math whose previous line is long
Sabovedisplayshortskipglue between short line and display math
Sbelowdisplayshortskipglue after display math whose previous line is short
Page breaking
Iinterlinepenaltybaseline badness of page breaks
Iclubpenaltybadness of breaking after the first line of a paragraph
Iwidowpenaltybadness of breaking before the last line of a paragraph
Ibrokenpenaltybadness of breaking after a line whose last word is hyphenated
Ipredisplaypenaltybadness of breaking before a display math
Ipostdisplaypenaltybadness of breaking after a display math
Idisplaywidowpenaltybadness of breaking before a display math that ends a paragraph
Ifloatingpenaltybadness of breaking an insertion
Math mode
Ifamcurrent math font family
Ftextfont[16]math fonts for text size
Fscriptfont[16]math fonts for script size
Fscriptscriptfont[16]math fonts for script-script size
Sthinmuskipglue for \,
Smedmuskipglue for \>
Sthickmuskipglue for \;
Idelimiterfactormake variable-size delimiters taller than this much of content height
Ddelimitershortfallmake variable-size delimiters taller than content height minus this
Dnulldelimiterspacespace for each null demiliter (eg \right.)
Dscriptspacespace after superscript or subscript
Dmathsurroundspace around each non-display math
Hooks
Toutputexpanded when a page is ready
Ioutputpenaltypenalty at current page break
Imaxdeadcyclesmaximum number of times \output may reject breaks for a page
Teveryparexpanded after entering each paragraph
Teverymathexpanded after entering each non-display math
Teverydisplayexpanded after entering each display math
Dpredisplaysizewidth of the preceeding line
Ddisplaywidthwidth available for the display math
Ddisplayindentindentation of the line of the display math
Teveryhboxexpanded after entering each hbox
Teveryvboxexpanded after entering each vbox
Teveryjobexpanded after when each job begins
Teverycrexpanded after each \cr
Terrhelphelp text for \errmessage
Message output
Ihbadnessonly report hbox above this badness as overfull/underfull
Ivbadnessonly report vbox above this badness as overfull/underfull
Dhfuzzonly report hbox above this stretch/shrink as overfull/underfull
Dvfuzzonly report vbox above this stretch/shrink as overfull/underfull
Ishowboxbreadthmax number of nodes per level in \showbox
Ishowboxdepthmax depth in \showbox
Ierrorcontextlinesnumber of lines of context to show for each error
Inewlinecharconverted to a newline when printing token lists
Iescapecharprepended to printed control sequences
Btracingonlinewrite tracing output to terminal in addition to log file
Btracingmacrostrace macro expansion
Btracingstatstrace memory usage
Btracingparagraphstrace line breaking calculations
Btracingpagestrace page breaking calculations
Btracingoutputtrace output pages (\showbox each box passed to \shipout)
Btracinglostcharstrace characters not in the font
Btracingcommandstrace commands
Btracingrestorestrace parameter restores from the save stack
Miscellaneous
Fcurrent font
Imagmagnification factor
Iyear, month, daydate when TeX started
Itimetime when TeX started, in minutes since midnight
Idefaulthyphenchardefault \hyphenchar for newly loaded fonts
Idefaultskewchardefault \skewchar for newly loaded fonts
Iendlinecharappended to each input line
Iglobaldefsif positive, new definitions are global; if negative, ignore \global
Bholdinginsertsdo not handle insertions when preparing page
Bpausingprompt to edit each line read from input files
Doverfullrulewidth of rule after each overfull box
Stabskipspace between columns in \halign and rows in \valign
This page is copyright © 2025 Vursc and licensed under CC BY-NC-ND 4.0.