summaryrefslogtreecommitdiff
path: root/doc/context/sources/general
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-08-10 13:15:31 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-08-10 13:15:31 +0200
commitd3d93bc4f0d21a259fdafee5ba1a744999474c28 (patch)
tree433bd6ca86fd62a858e086bee7c5abf412c16845 /doc/context/sources/general
parent06f5d61e0db05d0803ac5b6b4953937c3b88f1ea (diff)
downloadcontext-d3d93bc4f0d21a259fdafee5ba1a744999474c28.tar.gz
2021-08-10 12:39:00
Diffstat (limited to 'doc/context/sources/general')
-rw-r--r--doc/context/sources/general/manuals/followingup/followingup-rejected.tex14
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex4
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex227
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex44
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-internals.tex2
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex15
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-languages.tex24
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-math.tex454
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex36
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex31
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-registers.tex7
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-style.tex104
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-tex.tex24
-rw-r--r--doc/context/sources/general/manuals/readme/mreadme.tex34
-rw-r--r--doc/context/sources/general/manuals/workflows/workflows-hashed.tex14
15 files changed, 566 insertions, 468 deletions
diff --git a/doc/context/sources/general/manuals/followingup/followingup-rejected.tex b/doc/context/sources/general/manuals/followingup/followingup-rejected.tex
index 4cb1fc95c..56f7f621b 100644
--- a/doc/context/sources/general/manuals/followingup/followingup-rejected.tex
+++ b/doc/context/sources/general/manuals/followingup/followingup-rejected.tex
@@ -81,3 +81,17 @@ back.}
\stopchapter
\stopcomponent
+
+% very limited use case and not easy in nested definitions (which is where is
+% would have been used
+%
+% } else if (cur_cmd == begin_local_cmd && cur_chr == local_control_now_code) {
+%
+%\def\foo#1#2%
+% {test #1
+% test #2
+% test
+% \localcontrolnow{\scratchcounter\catcode\hashasciicode \catcode\hashasciicode\othercatcode}
+% #
+% \localcontrolnow{\catcode\hashasciicode\scratchcounter}
+% test}
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
index f24d2495a..d01e35b4a 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
@@ -273,7 +273,7 @@ explained in the next two paragraphs.
\NC \type{disc} \NC discretionaries \NC \NR
\NC \type{insert} \NC packaging an insert \NC \NR
\NC \type{vcenter} \NC \prm {vcenter} \NC \NR
-\NC \type{local_box} \NC \lpr {localleftbox} or \lpr {localrightbox} \NC \NR
+\NC \type{local_box} \NC \prm {localleftbox} or \prm {localrightbox} \NC \NR
\NC \type{split_off} \NC top of a \prm {vsplit} \NC \NR
\NC \type{split_keep} \NC remainder of a \prm {vsplit} \NC \NR
\NC \type{align_set} \NC alignment cell \NC \NR
@@ -752,7 +752,7 @@ end
The indentation tells how many periods are to be typeset if you want to be
compatible with the rest of tracing. The tracinglevels indicates if the current
-level and\|/or input level are shown cf. \lpr {tracinglevels}. Of course one
+level and\|/or input level are shown cf. \prm {tracinglevels}. Of course one
is free to show whatever in whatever way suits the whatsit best.
\stopsection
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
index d5b491e81..8527b0e64 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
@@ -52,7 +52,7 @@ purpose apart from the fact that it reveals some history.
\startsubsection[title={Version information}]
-\startsubsubsection[title={\lpr {luatexbanner}, \lpr {luatexversion} and \lpr {luatexrevision}}]
+\startsubsubsection[title={\prm {luatexbanner}, \prm {luatexversion} and \prm {luatexrevision}}]
\topicindex{version}
\topicindex{banner}
@@ -70,11 +70,11 @@ There are three primitives to test the version of \LUATEX\ (and \LUAMETATEX):
\DB primitive \BC value
\BC explanation \NC \NR
\TB
-\NC \lpr {luatexbanner} \NC \VersionHack{\luatexbanner}
+\NC \prm {luatexbanner} \NC \VersionHack{\luatexbanner}
\NC the banner reported on the console \NC \NR
-\NC \lpr {luatexversion} \NC \the\luatexversion
+\NC \prm {luatexversion} \NC \the\luatexversion
\NC major and minor number combined \NC \NR
-\NC \lpr {luatexrevision} \NC \the\luatexrevision
+\NC \prm {luatexrevision} \NC \the\luatexrevision
\NC the revision number \NC \NR
\LL
\stoptabulate
@@ -83,7 +83,7 @@ A version is defined as follows:
\startitemize
\startitem
- The major version is the integer result of \lpr {luatexversion} divided by
+ The major version is the integer result of \prm {luatexversion} divided by
100. The primitive is an \quote {internal variable}, so you may need to prefix
its use with \prm {the} or \prm {number} depending on the context.
\stopitem
@@ -91,7 +91,7 @@ A version is defined as follows:
The minor version is a number running from 0 upto 99.
\stopitem
\startitem
- The revision is reported by \lpr {luatexrevision}. Contrary to other engines
+ The revision is reported by \prm {luatexrevision}. Contrary to other engines
in \LUAMETATEX\ is also a number so one needs to prefix it with \prm {the} or
\prm {number}. \footnote {In the past it always was good to prefix the
revision with \prm {number} anyway, just to play safe, although there have
@@ -158,8 +158,8 @@ problem for well|-|behaved input files, but it could create incompatibilities fo
input that would have generated an error when processed by older \TEX|-|based
engines. The affected commands with an altered initial (left of the equal sign)
or secondary (right of the equal sign) value are: \prm {char}, \prm {lccode},
-\prm {uccode}, \lpr {hjcode}, \prm {catcode}, \prm {sfcode}, \lpr {efcode}, \lpr
-{lpcode}, \lpr {rpcode}, \prm {chardef}.
+\prm {uccode}, \prm {hjcode}, \prm {catcode}, \prm {sfcode}, \prm {efcode}, \prm
+{lpcode}, \prm {rpcode}, \prm {chardef}.
As far as the core engine is concerned, all input and output to text files is
\UTF-8 encoded. Input files can be pre|-|processed using the \type {reader}
@@ -180,11 +180,11 @@ live in a \UNICODE\ galaxy that is no real problem.
\stopsubsection
-\startsubsection[title={\lpr {Uchar}}]
+\startsubsection[title={\prm {Uchar}}]
\topicindex{\UNICODE}
-The expandable command \lpr {Uchar} reads a number between~0 and $1{,}114{,}111$
+The expandable command \prm {Uchar} reads a number between~0 and $1{,}114{,}111$
and expands to the associated \UNICODE\ character.
\stopsubsection
@@ -432,14 +432,14 @@ mode, but in \LUAMETATEX\ there is no error message and the box the height and
depth are equally divided. Of course in text mode there is no math axis related
offset applied.
-It is possible to change or add to the attributes assigned to a box with \lpr
+It is possible to change or add to the attributes assigned to a box with \prm
{boxattribute}:
\starttyping
\boxattribute 0 123 456
\stoptyping
-You can set attributes of the current paragraph specification node with \lpr
+You can set attributes of the current paragraph specification node with \prm
{parattribute}:
\starttyping
@@ -540,7 +540,7 @@ within the \TEX\ portion of the executable.
\stopsubsection
-\startsubsection[title={\lpr {luaescapestring}}]
+\startsubsection[title={\prm {luaescapestring}}]
\topicindex {escaping}
@@ -566,13 +566,13 @@ in a separate file and load it using \LUA's \type {dofile}:
\stopsubsection
-\startsubsection[title={\lpr {luafunction}, \lpr {luafunctioncall} and \lpr {luadef}}]
+\startsubsection[title={\prm {luafunction}, \prm {luafunctioncall} and \prm {luadef}}]
The \prm {directlua} commands involves tokenization of its argument (after
picking up an optional name or number specification). The tokenlist is then
converted into a string and given to \LUA\ to turn into a function that is
called. The overhead is rather small but when you have millions of calls it can
-have some impact. For this reason there is a variant call available: \lpr
+have some impact. For this reason there is a variant call available: \prm
{luafunction}. This command is used as follows:
\starttyping
@@ -599,7 +599,7 @@ in the following example the number \type {8} gets typeset.
}
\stoptyping
-The \lpr {luafunctioncall} primitive does the same but is unexpandable, for
+The \prm {luafunctioncall} primitive does the same but is unexpandable, for
instance in an \prm {edef}. In addition \LUATEX\ provides a definer:
\starttyping
@@ -617,7 +617,7 @@ normal usage should not give problems.
\stopsubsection
-\startsubsection[title={\lpr {luabytecode} and \lpr {luabytecodecall}}]
+\startsubsection[title={\prm {luabytecode} and \prm {luabytecodecall}}]
Analogue to the function callers discussed in the previous section we have byte
code callers. Again the call variant is unexpandable.
@@ -666,9 +666,9 @@ contents is stored and retrieved from the format file.
\stopsubsection
-\startsubsection[title={\lpr {catcodetable}}]
+\startsubsection[title={\prm {catcodetable}}]
-The primitive \lpr {catcodetable} switches to a different catcode table. Such a
+The primitive \prm {catcodetable} switches to a different catcode table. Such a
table has to be previously created using one of the two primitives below, or it
has to be zero. Table zero is initialized by \INITEX.
@@ -678,13 +678,13 @@ has to be zero. Table zero is initialized by \INITEX.
\stopsubsection
-\startsubsection[title={\lpr {initcatcodetable}}]
+\startsubsection[title={\prm {initcatcodetable}}]
\startsyntax
\initcatcodetable <15-bit number>
\stopsyntax
-The primitive \lpr {initcatcodetable} creates a new table with catcodes
+The primitive \prm {initcatcodetable} creates a new table with catcodes
identical to those defined by \INITEX. The new catcode table is allocated
globally: it will not go away after the current group has ended. If the supplied
number is identical to the currently active table, an error is raised. The
@@ -707,13 +707,13 @@ initial values are:
\stopsubsection
-\startsubsection[title={\lpr {savecatcodetable}}]
+\startsubsection[title={\prm {savecatcodetable}}]
\startsyntax
\savecatcodetable <15-bit number>
\stopsyntax
-\lpr {savecatcodetable} copies the current set of catcodes to a new table with
+\prm {savecatcodetable} copies the current set of catcodes to a new table with
the requested number. The definitions in this new table are all treated as if
they were made in the outermost level. Again, the new table is allocated globally:
it will not go away after the current group has ended. If the supplied number is
@@ -725,11 +725,11 @@ the currently active table, an error is raised.
\startsection[title={Tokens, commands and strings}]
-\startsubsection[title={\lpr {scantextokens} and \lpr {tokenized}}]
+\startsubsection[title={\prm {scantextokens} and \prm {tokenized}}]
\topicindex {tokens+scanning}
-The syntax of \lpr {scantextokens} is identical to \prm {scantokens}. This
+The syntax of \prm {scantextokens} is identical to \prm {scantokens}. This
primitive is a slightly adapted version of \ETEX's \prm {scantokens}. The
differences are:
@@ -738,7 +738,7 @@ differences are:
The last (and usually only) line does not have a \prm {endlinechar} appended.
\stopitem
\startitem
- \lpr {scantextokens} never raises an EOF error, and it does not execute
+ \prm {scantextokens} never raises an EOF error, and it does not execute
\prm {everyeof} tokens.
\stopitem
\startitem
@@ -762,8 +762,8 @@ that was interwoven with the old code.
\stopsubsection
-\startsubsection[title={\lpr {toksapp}, \lpr {tokspre}, \lpr {etoksapp}, \lpr {etokspre},
-\lpr {gtoksapp}, \lpr {gtokspre}, \lpr {xtoksapp}, \lpr {xtokspre}}]
+\startsubsection[title={\prm {toksapp}, \prm {tokspre}, \prm {etoksapp}, \prm {etokspre},
+\prm {gtoksapp}, \prm {gtokspre}, \prm {xtoksapp}, \prm {xtokspre}}]
Instead of:
@@ -782,13 +782,13 @@ expand the passed general text. The \type {g} and \type {x} variants are global.
\stopsubsection
-\startsubsection[title={\prm {csstring}, \lpr {begincsname} and \lpr {lastnamedcs}}]
+\startsubsection[title={\prm {csstring}, \prm {begincsname} and \prm {lastnamedcs}}]
These are somewhat special. The \prm {csstring} primitive is like
\prm {string} but it omits the leading escape character. This can be
somewhat more efficient than stripping it afterwards.
-The \lpr {begincsname} primitive is like \prm {csname} but doesn't create
+The \prm {begincsname} primitive is like \prm {csname} but doesn't create
a relaxed equivalent when there is no such name. It is equivalent to
\starttyping
@@ -798,7 +798,7 @@ a relaxed equivalent when there is no such name. It is equivalent to
\stoptyping
The advantage is that it saves a lookup (don't expect much speedup) but more
-important is that it avoids using the \prm {if} test. The \lpr {lastnamedcs}
+important is that it avoids using the \prm {if} test. The \prm {lastnamedcs}
is one that should be used with care. The above example could be written as:
\starttyping
@@ -813,7 +813,7 @@ that it saves a few tokens and can make code a bit more readable.
\stopsubsection
-\startsubsection[title={\lpr {clearmarks}}]
+\startsubsection[title={\prm {clearmarks}}]
\topicindex {marks}
@@ -827,15 +827,15 @@ immediate command (no synchronization node is used).
\stopsubsection
-\startsubsection[title={\lpr {alignmark} and \lpr {aligntab}}]
+\startsubsection[title={\prm {alignmark} and \prm {aligntab}}]
-The primitive \lpr {alignmark} duplicates the functionality of \type {#} inside
-alignment preambles, while \lpr {aligntab} duplicates the functionality of \type
+The primitive \prm {alignmark} duplicates the functionality of \type {#} inside
+alignment preambles, while \prm {aligntab} duplicates the functionality of \type
{&}.
\stopsubsection
-\startsubsection[title={\lpr {letcharcode}}]
+\startsubsection[title={\prm {letcharcode}}]
This primitive can be used to assign a meaning to an active character, as in:
@@ -848,7 +848,7 @@ This can be a bit nicer than using the uppercase tricks (using the property of
\stopsubsection
-\startsubsection[title={\lpr {lettonothing} and \lpr {glettonothing}}]
+\startsubsection[title={\prm {lettonothing} and \prm {glettonothing}}]
This primitive is equivalent to:
@@ -863,7 +863,7 @@ name (relaxing would show the relax equivalent).
\stopsubsection
-\startsubsection[title={\lpr {glet}}]
+\startsubsection[title={\prm {glet}}]
This primitive is similar to:
@@ -876,7 +876,7 @@ but faster (only measurable with millions of calls) and probably more convenient
\stopsubsection
-\startsubsection[title={\lpr {defcsname}, \lpr {edefcsname}, \lpr {edefcsname} and \lpr {xdefcsname}}]
+\startsubsection[title={\prm {defcsname}, \prm {edefcsname}, \prm {edefcsname} and \prm {xdefcsname}}]
Although we can implement these primitives easily using macros it makes sense,
given the popularity of \prm {csname} to have these as primitives. It also saves
@@ -888,11 +888,11 @@ some \prm {expandafter} usage and it looks a bit better in the source.
\stopsubsection
-\startsubsection[title={\lpr {expanded}}]
+\startsubsection[title={\prm {expanded}}]
\topicindex {expansion}
-The \lpr {expanded} primitive takes a token list and expands its content which
+The \prm {expanded} primitive takes a token list and expands its content which
can come in handy: it avoids a tricky mix of \prm {expandafter} and \prm
{noexpand}. You can compare it with what happens inside the body of an \prm
{edef}. The \tex {immediateassignment} and \tex {immediateassigned} commands are
@@ -908,11 +908,11 @@ primitives back you can say:
\stopsubsection
-% \startsubsection[title={\lpr {expanded}, \lpr {immediateassignment} and \lpr {immediateassigned}}]
+% \startsubsection[title={\prm {expanded}, \prm {immediateassignment} and \prm {immediateassigned}}]
%
% \topicindex {expansion}
%
-% The \lpr {expanded} primitive takes a token list and expands its content which can
+% The \prm {expanded} primitive takes a token list and expands its content which can
% come in handy: it avoids a tricky mix of \prm {expandafter} and \prm {noexpand}.
% You can compare it with what happens inside the body of an \prm {edef}. But this
% kind of expansion still doesn't expand some primitive operations.
@@ -1005,14 +1005,14 @@ primitives back you can say:
%
% \stopsubsection
-\startsubsection[title={\lpr {ignorepars}}]
+\startsubsection[title={\prm {ignorepars}}]
This primitive is like \prm {ignorespaces} but also skips paragraph ending
commands (normally \prm {par} and empty lines).
\stopsubsection
-\startsubsection[title={\lpr {futureexpand}, \lpr {futureexpandis}, \lpr {futureexpandisap}}]
+\startsubsection[title={\prm {futureexpand}, \prm {futureexpandis}, \prm {futureexpandisap}}]
These commands are used as:
@@ -1027,7 +1027,7 @@ When there is no match and a space was gobbled a space will be put back. The
\stopsubsection
-\startsubsection[title={\lpr {aftergrouped}}]
+\startsubsection[title={\prm {aftergrouped}}]
There is a new experimental feature that can inject multiple tokens to after the group
ends. An example demonstrate its use:
@@ -1069,7 +1069,7 @@ This gives:
\startsection[title=Conditions]
-\startsubsection[title={\lpr{ifabsnum} and \lpr {ifabsdim}}]
+\startsubsection[title={\prm{ifabsnum} and \prm {ifabsdim}}]
There are two tests that we took from \PDFTEX:
@@ -1090,8 +1090,8 @@ This gives
\stopsubsection
-\startsubsection[title={\lpr{ifcmpnum}, \lpr {ifcmpdim}, \lpr {ifnumval}, \lpr
-{ifdimval}, \lpr {ifchknum} and \lpr {ifchkdim}}]
+\startsubsection[title={\prm{ifcmpnum}, \prm {ifcmpdim}, \prm {ifnumval}, \prm
+{ifdimval}, \prm {ifchknum} and \prm {ifchkdim}}]
\topicindex {conditions+numbers}
\topicindex {conditions+dimensions}
@@ -1150,12 +1150,12 @@ or more than zero.
\typebuffer \blank {\tt \getbuffer} \blank
-The last checked values are available in \lpr {lastchknum} and \lpr {lastchkdim}.
+The last checked values are available in \prm {lastchknum} and \prm {lastchkdim}.
These don't obey grouping.
\stopsubsection
-\startsubsection[title={\lpr {ifmathstyle} and \lpr {ifmathparameter}}]
+\startsubsection[title={\prm {ifmathstyle} and \prm {ifmathparameter}}]
These two are variants on \prm {ifcase} where the first one operates with values
in ranging from zero (display style) to seven (cramped script script style) and
@@ -1166,7 +1166,7 @@ valid style identifier (a primitive identifier or number). The \type
\stopsubsection
-\startsubsection[title={\lpr {ifempty}}]
+\startsubsection[title={\prm {ifempty}}]
This primitive tests for the following token (control sequence) having no
content. Assuming that \type {\empty} is indeed empty, the following two are
@@ -1182,14 +1182,14 @@ lead to less clutter in tracing.
\stopsubsection
-\startsubsection[title={\lpr {ifrelax}}]
+\startsubsection[title={\prm {ifrelax}}]
This primitive complements \type {\ifdefined}, \type {\ifempty} and \type
{\ifcsname} so that we have all reasonable tests directly available.
\stopsubsection
-\startsubsection[title={\lpr {ifboolean}}]
+\startsubsection[title={\prm {ifboolean}}]
This primitive tests for non|-|zero, so the next variants are similar
@@ -1201,7 +1201,7 @@ This primitive tests for non|-|zero, so the next variants are similar
\stopsubsection
-\startsubsection[title={\lpr {iftok} and \lpr {ifcstok}}]
+\startsubsection[title={\prm {iftok} and \prm {ifcstok}}]
\topicindex {conditions+tokens}
\topicindex {tokens}
@@ -1230,7 +1230,7 @@ one might evolve).
\stopsubsection
-\startsubsection[title={\lpr {ifarguments}, \lpr {ifparameters} and \lpr {ifparameter}}]
+\startsubsection[title={\prm {ifarguments}, \prm {ifparameters} and \prm {ifparameter}}]
These are part of the extended macro argument parsing features. The \type
{\ifarguments} condition is like an \type {\ifcase} where the number is the
@@ -1257,7 +1257,7 @@ No expansion of arguments takes place here but you can use a test like this:
\stopsubsection
-\startsubsection[title={\lpr {ifcondition}}]
+\startsubsection[title={\prm {ifcondition}}]
\topicindex {conditions}
@@ -1315,7 +1315,7 @@ we use \type {\unless} to negate the result.
\stopsubsection
-\startsubsection[title={\lpr {orelse} and \lpr {orunless}}]
+\startsubsection[title={\prm {orelse} and \prm {orunless}}]
Sometimes you have successive tests that, when laid out in the source lead to
deep trees. The \type {\ifcase} test is an exception. Experiments with \type
@@ -1381,7 +1381,7 @@ Of course it is only useful at the right level, so you might end up with cases l
\fi
\stoptyping
-The \lpr {orunless} variant negates the next test, just like \prm {unless}. In
+The \prm {orunless} variant negates the next test, just like \prm {unless}. In
some cases these commands look at the next token to see if it is an if|-|test so
a following negation will not work (read: making that work would complicate the
code and hurt efficiency too). Side note: interesting is that in \CONTEXT\ we
@@ -1389,13 +1389,14 @@ hardly use this kind of negation.
\stopsubsection
-\startsubsection[title={\lpr {ifprotected}, \lpr {frozen}, \lpr {iffrozen} and \lpr {ifusercmd}}]
+\startsubsection[title={\prm {ifflags}}]
-These checkers deal with control sequences. You can check if a command is a
+This checker deal with control sequences. You can check if a command is a
protected one, that is, defined with the \type {\protected} prefix. A command is
frozen when it has been defined with the \type {\frozen} prefix. Beware: only
macros can be frozen. A user command is a command that is not part of the
-predefined set of commands. This is an experimental command.
+predefined set of commands. This is an experimental command. The flag values can
+be queried with \typ {tex.getflagvalues}.
\stopsubsection
@@ -1403,7 +1404,7 @@ predefined set of commands. This is an experimental command.
\startsection[title={Boxes, rules and leaders}]
-\startsubsection[title={\lpr {outputbox}}]
+\startsubsection[title={\prm {outputbox}}]
\topicindex {output}
@@ -1417,7 +1418,7 @@ the acceptable range is from 0 to 65535.
\stopsubsection
-\startsubsection[title={\prm {hrule}, \prm {vrule}, \lpr {nohrule} and \lpr {novrule}}]
+\startsubsection[title={\prm {hrule}, \prm {vrule}, \prm {nohrule} and \prm {novrule}}]
\topicindex {rules}
@@ -1483,7 +1484,7 @@ edges and these depend on it being a horizontal or vertical rule.
\getbuffer
\stoplinecorrection
-Two new primitives were introduced: \lpr {nohrule} and \lpr {novrule}. These can
+Two new primitives were introduced: \prm {nohrule} and \prm {novrule}. These can
be used to reserve space. This is often more efficient than creating an empty box
with fake dimensions. Of course this assumes that the backend implements them
being invisible but still taking space.
@@ -1546,22 +1547,22 @@ of course be implemented in \LUA.
\starttabulate[|l|p|]
\DB command \BC explanation \NC \NR
\TB
-\NC \lpr {saveboxresource} \NC save the box as an object to be included later \NC \NR
-\NC \lpr {saveimageresource} \NC save the image as an object to be included later \NC \NR
-\NC \lpr {useboxresource} \NC include the saved box object here (by index) \NC \NR
-\NC \lpr {useimageresource} \NC include the saved image object here (by index) \NC \NR
-\NC \lpr {lastsavedboxresourceindex} \NC the index of the last saved box object \NC \NR
-\NC \lpr {lastsavedimageresourceindex} \NC the index of the last saved image object \NC \NR
-\NC \lpr {lastsavedimageresourcepages} \NC the number of pages in the last saved image object \NC \NR
+\NC \tex {saveboxresource} \NC save the box as an object to be included later \NC \NR
+\NC \tex {saveimageresource} \NC save the image as an object to be included later \NC \NR
+\NC \tex {useboxresource} \NC include the saved box object here (by index) \NC \NR
+\NC \tex {useimageresource} \NC include the saved image object here (by index) \NC \NR
+\NC \tex {lastsavedboxresourceindex} \NC the index of the last saved box object \NC \NR
+\NC \tex {lastsavedimageresourceindex} \NC the index of the last saved image object \NC \NR
+\NC \tex {lastsavedimageresourcepages} \NC the number of pages in the last saved image object \NC \NR
\LL
\stoptabulate
An implementation probably should accept the usual optional dimension parameters
for \type {\use...resource} in the same format as for rules. With images, these
-dimensions are then used instead of the ones given to \lpr {useimageresource} but
-the original dimensions are not overwritten, so that a \lpr {useimageresource}
-without dimensions still provides the image with dimensions defined by \lpr
-{saveimageresource}. These optional parameters are not implemented for \lpr
+dimensions are then used instead of the ones given to \tex {useimageresource} but
+the original dimensions are not overwritten, so that a \tex {useimageresource}
+without dimensions still provides the image with dimensions defined by \tex
+{saveimageresource}. These optional parameters are not implemented for \tex
{saveboxresource}.
\starttyping
@@ -1580,7 +1581,7 @@ packages.
\stopsubsection
-\startsubsection[title={\lpr {hpack}, \lpr {vpack} and \lpr {tpack}}]
+\startsubsection[title={\prm {hpack}, \prm {vpack} and \prm {tpack}}]
These three primitives are the equivalents of \prm {hbox}, \prm {vbox} and
\prm {vtop} but they don't trigger the packaging related callbacks. Of course
@@ -1591,7 +1592,7 @@ mode.
\stopsubsection
-\startsubsection[title={\lpr {gleaders}},reference=sec:gleaders]
+\startsubsection[title={\prm {gleaders}},reference=sec:gleaders]
\topicindex {leaders}
@@ -1606,7 +1607,7 @@ smallest\/}. The \type {g} stresses this global nature.
\startsection[title={Languages}]
-\startsubsection[title={\lpr {hyphenationmin}}]
+\startsubsection[title={\prm {hyphenationmin}}]
\topicindex {languages}
\topicindex {hyphenation}
@@ -1654,7 +1655,7 @@ and for nodes that have sublists (like discretionaries) these are also shown. Al
that could have been delegated to \LUA\ but it felt wrong to not made that a core
engine feature.
-When bit~1 of \lpr {tracinglevels} is set the current level is prepended to
+When bit~1 of \prm {tracinglevels} is set the current level is prepended to
tracing lines in the log and when bit~2 is set the input level is prepended. You
can set both bits and get both numbers prepended. In \CONTEXT\ we default to
the value~3, so you get prefixes like \type {3:4:} followed by a space.
@@ -1684,8 +1685,8 @@ for instance \type {\meaningfull} and \type {\meaningless} as variants of \type
\stopsubsection
-% \startsubsection[title={\lpr {lastnodetype}, \lpr {lastnodesubtype}, \lpr
-% {currentiftype} and \lpr {internalcodesmode}.}]
+% \startsubsection[title={\prm {lastnodetype}, \prm {lastnodesubtype}, \prm
+% {currentiftype} and \prm {internalcodesmode}.}]
%
% The \ETEX\ command \type {\lastnodetype} is limited to some nodes. When the
% parameter \type {\internalcodesmode} is set to a non|-|zero value the normal
@@ -1695,7 +1696,7 @@ for instance \type {\meaningfull} and \type {\meaningless} as variants of \type
%
% \stopsubsection
-\startsubsection[title={\lpr {lastnodetype}, \lpr {lastnodesubtype}, \lpr
+\startsubsection[title={\prm {lastnodetype}, \prm {lastnodesubtype}, \prm
{currentiftype}}]
The \ETEX\ command \type {\lastnodetype} returns the node codes as used in the
@@ -1727,11 +1728,11 @@ they will be stable.
This allows for embedded spaces, without the need for double quotes. Macro
expansion takes place inside the argument. Keep in mind that as side effect of
-delegating \IO\ to \LUA\ the \prm {openin} primitive is nor provided by the
+delegating \IO\ to \LUA\ the \tex {openin} primitive is not provided by the
engine and has to be implemented by the macro package. This also means that the
limit on the number of open files is not enforced by the engine.
-The \lpr {tracingfonts} primitive that has been inherited from \PDFTEX\ has
+The \prm {tracingfonts} primitive that has been inherited from \PDFTEX\ has
been adapted to support variants in reporting the font. The reason for this
extension is that a csname not always makes sense. The zero case is the default.
@@ -1897,7 +1898,7 @@ It gets typeset as:
We could define the two helpers to look back, pick up a skip, remove it and
inject it after the dir node. But that way we loose the subtype information that
for some applications can be handy to be kept as|-|is. This is why we now have a
-variant of \lpr {textdirection} which injects the balanced node before the skip.
+variant of \prm {textdirection} which injects the balanced node before the skip.
Instead of the previous definition we can use:
\startbuffer[def]
@@ -1926,7 +1927,7 @@ comes out as a properly spaced:
Anything more complex that this, like combination of skips and penalties, or
kerns, should be handled in the input or macro package because there is no way we
-can predict the expected behaviour. In fact, the \lpr {linedir} is just a
+can predict the expected behaviour. In fact, the \prm {linedirection} is just a
convenience extra which could also have been implemented using node list parsing.
Directions are complicated by the fact that they often need to work over groups
@@ -1949,7 +1950,7 @@ width. In \LUATEX\ glue got subtypes so we can recognize the left-, right and
parfill skips, but still there is no hundred percent certainty about the shape.
In \LUAMETATEX\ lines can be normalized. This is optional because we want to
-preserve the original (for comparison) and is controlled by \lpr
+preserve the original (for comparison) and is controlled by \prm
{normalizelinemode}. That variable actually drives some more. An earlier version
provided a few more granular options (for instance: does a leftskip comes before
or after a left hanging indentation) but in the end that was dropped. Because
@@ -1983,7 +1984,7 @@ in future releases.
%
% Another adaptation to the \ALEPH\ directional model is control over shapes driven
% by \prm {hangindent} and \prm {parshape}. This is controlled by a new parameter
-% \lpr {shapemode}:
+% \prm {shapemode}:
%
% \starttabulate[|c|l|l|]
% \DB value \BC \prm {hangindent} \BC \prm {parshape} \NC \NR
@@ -2046,10 +2047,10 @@ in future releases.
% \type {\linedirection} that is like \type {\textdirection} but with some
% additional (inline) glue checking.
-% Controlling glue with \lpr {breakafterdirmode}
+% Controlling glue with \prm {breakafterdirmode}
%
% Glue after a dir node is ignored in the linebreak decision but you can bypass that
-% by setting \lpr {breakafterdirmode} to~\type {1}. The following table shows the
+% by setting \prm {breakafterdirmode} to~\type {1}. The following table shows the
% difference. Watch your spaces.
%
% \def\ShowSome#1{%
@@ -2160,14 +2161,14 @@ had an issue that had to be fixed.
\stopsection
-\startsection[title=Expressions and \lpr {numericscale}]
+\startsection[title=Expressions and \prm {numericscale}]
The \type {*expr} parsers now accept \type {:} as operator for integer division
(the \type {/} operators does rounding. This can be used for division compatible
with \type {\divide}. I'm still wondering if adding a couple of bit operators
makes sense (for integers).
-The \lpr{numericscale} parser is kind of special (and might evolve). For now it
+The \prm{numericscale} parser is kind of special (and might evolve). For now it
converts a following number in a scale value as often used in \TEX, where 1000
means scaling by~1.0. The trick is in the presence of a digit (or comma): 1.234
becomes 1234 but 1234 stays 1234 and from this you can deduce that 12.34 becomes
@@ -2186,7 +2187,7 @@ Again this is experimental and (used and) discussed in document that come with t
\stoptyping
Here the first argument between parentheses is mandate. But the magic
-prefix \lpr {tolerant} makes that limitation go away:
+prefix \prm {tolerant} makes that limitation go away:
\starttyping
\tolerant\def\foo(#1)#2{...}
@@ -2259,7 +2260,7 @@ features.
There is an experimental overload protection mechanism that we will test for a
while before declaring it stable. The reason for that is that we need to adapt
the \CONTEXT\ code base in order to test its usefulness. Protection is achieved
-via prefixes. Depending on the value of the \lpr {overloadmode} variable
+via prefixes. Depending on the value of the \prm {overloadmode} variable
warnings or errors will be triggered. Examples of usage can be found in some
documents that come with \CONTEXT, so here we just stick to the basics.
@@ -2271,10 +2272,10 @@ documents that come with \CONTEXT, so here we just stick to the basics.
\aliased \def\foo{...}
\stoptyping
-A \lpr {mutable} macro can always be changed contrary to an \lpr {immutable} one.
-For instance a macro that acts as a variable is normally \lpr {mutable}, while a
+A \prm {mutable} macro can always be changed contrary to an \prm {immutable} one.
+For instance a macro that acts as a variable is normally \prm {mutable}, while a
constant can best be immutable. It makes sense to define a public core macro as
-\lpr {permanent}. Primives start out a \lpr {permanent} ones but with a primitive
+\prm {permanent}. Primives start out a \prm {permanent} ones but with a primitive
property instead.
\startbuffer
@@ -2285,16 +2286,16 @@ property instead.
\typebuffer
-The \lpr {meaningfull} primitive is like \prm {meaning} but report the
-properties too. The \lpr {meaningless} companion reports the body of a macro.
+The \prm {meaningfull} primitive is like \prm {meaning} but report the
+properties too. The \prm {meaningless} companion reports the body of a macro.
Anyway, this typesets:
\startlines \tttf \getbuffer \stoplines
-So, the \lpr {aliased} prefix copies the properties. Keep in mind that a macro
+So, the \prm {aliased} prefix copies the properties. Keep in mind that a macro
package can redefine primitives, but \prm {relax} is an unlikely candidate.
-There is an extra prefix \lpr {noaligned} that flags a macro as being valid
+There is an extra prefix \prm {noaligned} that flags a macro as being valid
for \prm {noalign} compatible usage (which means that the body must contain that
one. The idea is that we then can do this:
@@ -2306,7 +2307,7 @@ that is: we can have protected macros that don't trigger an error in the parser
where there is a look ahead for \prm {noalign} which is why normally protection
doesn't work well. So: we have macro flagged as permanent (overload protection),
being protected (that is, not expandable by default) and a valid equivalent of
-the noalign primitive. Of course we can also apply the \prm {global} and \lpr
+the noalign primitive. Of course we can also apply the \prm {global} and \prm
{tolerant} prefixes here. The complete repertoire of extra prefixes is:
\starttabulate
@@ -2329,12 +2330,12 @@ the noalign primitive. Of course we can also apply the \prm {global} and \lpr
\HL
\stoptabulate
-The not yet discussed \lpr {instance} is just a flag with no special meaning
-which can be used as classifier. The \lpr {frozen} also protects against overload
+The not yet discussed \prm {instance} is just a flag with no special meaning
+which can be used as classifier. The \prm {frozen} also protects against overload
which brings amount of blockers to four.
To what extent the engine will complain when a property is changed in a way that
-violates the flags depends on the parameter \lpr {overloadmode}. When this
+violates the flags depends on the parameter \prm {overloadmode}. When this
parameter is set to zero no checking takes place. More interesting are values
larger than zero. If that is the case, when a control sequence is flagged as
mutable, it is always permitted to change. When it is set to immutable one can
@@ -2352,11 +2353,11 @@ the following overload values are used:
\stoptabulate
The even values (except zero) will abort the run. A value of 255 will freeze this
-parameter. At level five and above the \lpr {instance} flag is also checked but
+parameter. At level five and above the \prm {instance} flag is also checked but
no drastic action takes place. We use this to signal to the user that a specific
instance is redefined (of course the definition macros can check for that too).
-The \lpr {overloaded} prefix can be used to overload a frozen macro. The \lpr
+The \prm {overloaded} prefix can be used to overload a frozen macro. The \prm
{enforced} is more powerful and forces an overload but that prefix is only
effective in ini mode or when it's embedded in the body of a macro or token list
at ini time unless of course at runtime the mode is zero.
@@ -2368,13 +2369,13 @@ modules or macros of unpredictable origin will probably suffer from warnings and
errors when de mode is set to non zero. In \CONTEXT\ we're okay unless of course
users redefine instances but there a warning or error is kind of welcome.
-There is an extra prefix \lpr {untraced} that will suppress the meaning when
+There is an extra prefix \prm {untraced} that will suppress the meaning when
tracing so that the macro looks more like a primitive. It is still somewhat
experimental so what gets displayed might change.
\stopsection
-\startsection[title={Constants with \lpr{integerdef} and \lpr {dimendef}}]
+\startsection[title={Constants with \prm{integerdef} and \prm {dimensiondef}}]
It is rather common to store constant values in a register or character
definition.
@@ -2388,8 +2389,8 @@ definition.
But in \LUAMETATEX\ we also can do this:
\starttyping
-\integerdef\MyConstantC 456
-\dimendef \MyConstantD 456pt
+\integerdef \MyConstantC 456
+\dimensiondef\MyConstantD 456pt
\stoptyping
These two are stored as efficient as a register but don't occupy a register slot.
@@ -2402,7 +2403,7 @@ in a previous section.
\stopsection
-\startsection[title={Serialization with \lpr {todimension}, \lpr {toscaled} and \lpr {tointeger}}]
+\startsection[title={Serialization with \prm {todimension}, \prm {toscaled} and \prm {tointeger}}]
These three serializers take a verbose or symbolic quantity:
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex
index 663b328ba..8a049e694 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex
@@ -115,9 +115,9 @@ has no ligatures and kerns and is normally not processed at all.
\NC \type {italic} \NC number \NC italic correction in sp (default 0) \NC\NR
\NC \type {top_accent} \NC number \NC top accent alignment place in sp (default zero) \NC\NR
\NC \type {bot_accent} \NC number \NC bottom accent alignment place, in sp (default zero) \NC\NR
-\NC \type {left_protruding} \NC number \NC left protruding factor (\lpr {lpcode}) \NC\NR
-\NC \type {right_protruding} \NC number \NC right protruding factor (\lpr {rpcode}) \NC\NR
-\NC \type {expansion_factor} \NC number \NC expansion factor (\lpr {efcode}) \NC\NR
+\NC \type {left_protruding} \NC number \NC left protruding factor (\prm {lpcode}) \NC\NR
+\NC \type {right_protruding} \NC number \NC right protruding factor (\prm {rpcode}) \NC\NR
+\NC \type {expansion_factor} \NC number \NC expansion factor (\prm {efcode}) \NC\NR
\NC \type {next} \NC number \NC \quote {next larger} character index \NC\NR
\NC \type {extensible} \NC table \NC constituent parts of an extensible recipe \NC\NR
\NC \type {vert_variants} \NC table \NC constituent parts of a vertical variant set \NC \NR
@@ -160,9 +160,9 @@ processing. \type {right_boundary} is similar but not actually used for anything
The values of \type {top_accent}, \type {bot_accent} and \type {mathkern} are
used only for math accent and superscript placement, see \at {page} [math] in
this manual for details. The values of \type {left_protruding} and \type
-{right_protruding} are used only when \lpr {protrudechars} is non-zero. Whether
+{right_protruding} are used only when \prm {protrudechars} is non-zero. Whether
or not \type {expansion_factor} is used depends on the font's global expansion
-settings, as well as on the value of \lpr {adjustspacing}.
+settings, as well as on the value of \prm {adjustspacing}.
A math character can have a \type {next} field that points to a next larger
shape. However, the presence of \type {extensible} will overrule \type {next}, if
@@ -277,10 +277,10 @@ More options might be added in the future.
\stopluacode
In \CONTEXT\ these are interfaced via pseudo features. The math control flags of
-a font can be overloaded by \lpr {mathcontrolmode} on the spot and the set
-controls of a font can be queried by \lpr {fontmathcontrol}. The text control
-flags in a font always win over the ones set by other parameters, like \lpr
-{hyphenationmode}. They can be queried with \lpr {fonttextcontrol}.
+a font can be overloaded by \prm {mathcontrolmode} on the spot and the set
+controls of a font can be queried by \prm {fontmathcontrol}. The text control
+flags in a font always win over the ones set by other parameters, like \prm
+{hyphenationmode}. They can be queried with \prm {fonttextcontrol}.
\stopsection
@@ -353,7 +353,7 @@ ever seen in the engine.
\NC \type{down} \NC 1 \NC number \NC move down on the page \NC \NR
\NC \type{right} \NC 1 \NC number \NC move right on the page \NC \NR
\HL
-\NC \type{special} \NC 1 \NC string \NC output a \prm {special} command \NC \NR
+\NC \type{special} \NC 1 \NC string \NC output a driver directive \NC \NR
\HL
\NC \type{nop} \NC 0 \NC \NC do nothing \NC \NR
\NC \type{slot} \NC 2 \NC 2 numbers \NC a shortcut for the combination of a font and char command\NC \NR
@@ -452,7 +452,7 @@ expansion takes place inside the argument.
\stopsubsection
-\startsubsection[title={\lpr {fontid} and \lpr {setfontid}}]
+\startsubsection[title={\prm {fontid} and \prm {setfontid}}]
\startsyntax
\fontid\font
@@ -480,12 +480,12 @@ order of loading fonts. For instance, when in \CONTEXT\ virtual math \UNICODE\
fonts are used, we can easily get over a hundred ids in use. Not all ids have to
be bound to a real font, after all it's just a number.
-The primitive \lpr {setfontid} can be used to enable a font with the given id,
+The primitive \prm {setfontid} can be used to enable a font with the given id,
which of course needs to be a valid one.
\stopsubsection
-\startsubsection[title={\lpr {glyphoptions}}]
+\startsubsection[title={\prm {glyphoptions}}]
\topicindex {ligatures+suppress}
\topicindex {kerns+suppress}
@@ -494,7 +494,7 @@ which of course needs to be a valid one.
In \LUATEX\ the \type {\noligs} and \type {\nokerns} primitives suppress these
features but in \LUAMETATEX\ these primitives are gone. They are replace by a more
-generic control primitive \lpr {glyphoptions}. This numerical parameter is a
+generic control primitive \prm {glyphoptions}. This numerical parameter is a
bitset with the following fields:
\starttabulate[|l|pl|]
@@ -516,18 +516,18 @@ glyph, this because the current value of this option is stored with glyphs.
\stopsubsection
-\startsubsection[title={\lpr {glyphxscale}, \lpr {glyphyscale} and \lpr {scaledfontdimen}}]
+\startsubsection[title={\prm {glyphxscale}, \prm {glyphyscale} and \prm {scaledfontdimen}}]
The two scale parameters control the current scaling. They are traditional \TEX\
integer parameters that operate independent of each other. The scaling is
reflected in the dimensions of glyphs as well as in the related font dimensions,
which means that units like \type {ex} and \type {em} work as expected. If you
-query a font dimensions with \prm {fontdimen} you get the raw value but with \lpr
+query a font dimensions with \prm {fontdimen} you get the raw value but with \prm
{scaledfontdimen} you get the useable value.
\stopsubsection
-\startsubsection[title={\lpr {glyphxoffset}, \lpr {glyphyoffset}}]
+\startsubsection[title={\prm {glyphxoffset}, \prm {glyphyoffset}}]
These two parameters control the horizontal and vertical shift of glyphs with,
when applied to a stretch of them, the horizontal offset probably being the least
@@ -535,7 +535,7 @@ useful.
\stopsubsection
-\startsubsection[title={\lpr {glyph}}]
+\startsubsection[title={\prm {glyph}}]
This command is a variation in \prm {char} that takes keywords:
@@ -570,7 +570,7 @@ Visualized:
\stopsubsection
-\startsubsection[title={\lpr{nospaces}}]
+\startsubsection[title={\prm{nospaces}}]
\topicindex {spaces+suppress}
@@ -580,7 +580,7 @@ triggers no injection while \type{2} results in injection of a zero skip. In \in
{figure} [fig:nospaces] we see the results for four characters separated by a
space.
-\startplacefigure[reference=fig:nospaces,title={The \lpr {nospaces} options.}]
+\startplacefigure[reference=fig:nospaces,title={The \prm {nospaces} options.}]
\startcombination[3*2]
{\ruledhbox to 5cm{\vtop{\hsize 10mm\nospaces=0\relax x x x x \par}\hss}} {\type {0 / hsize 10mm}}
{\ruledhbox to 5cm{\vtop{\hsize 10mm\nospaces=1\relax x x x x \par}\hss}} {\type {1 / hsize 10mm}}
@@ -593,7 +593,7 @@ space.
\stopsubsection
-\startsubsection[title={\lpr{protrusionboundary}}]
+\startsubsection[title={\prm{protrusionboundary}}]
\topicindex {protrusion}
\topicindex {boundaries}
@@ -712,7 +712,7 @@ font.current(<number> i)
\stopsubsection
-\startsubsection[title={Glyph data: \lpr {glyphdata}, \lpr {glyphscript}, \lpr {glyphstate}}]
+\startsubsection[title={Glyph data: \prm {glyphdatafield}, \prm {glyphscriptfield}, \prm {glyphstatefield}}]
These primitives can be used to set an additional glyph properties. Of course
it's very macro package dependant what is done with that. It started with just
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-internals.tex b/doc/context/sources/general/manuals/luametatex/luametatex-internals.tex
index 68fdc0307..d71ce7ab8 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-internals.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-internals.tex
@@ -32,7 +32,7 @@ want to peek in \quotation {The \ETEX\ manual} too.
But \unknown\ if you're here because of \LUA, then all you need to know is that
you can call it from within a run. If you want to learn the language, just read
the well written \LUA\ book. The macro package that you use probably will provide
-a few wrapper mechanisms but the basic \lpr {directlua} command that does the job
+a few wrapper mechanisms but the basic \prm {directlua} command that does the job
is:
\starttyping
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex b/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex
index 472434602..36336e42e 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex
@@ -112,13 +112,14 @@ Hans Hagen
\blank[2*big]
\starttabulate[|||]
-\NC Version \EQ \currentdate \NC \NR
-\NC \LUAMETATEX \EQ \cldcontext{LUATEXENGINE} %
- \cldcontext{LUATEXVERSION} / %
- \cldcontext{LUATEXFUNCTIONALITY}
- \NC \NR
-\NC \CONTEXT \EQ MkIV \contextversion \NC \NR
-\NC \LUATEX\ Team \EQ Hans Hagen, Hartmut Henkel, Taco Hoekwater, Luigi Scarso \NC \NR
+\NC \LUAMETATEX\ Banner \EQ \cldcontext{LUATEXENGINE} %
+ \cldcontext{LUATEXVERSION} / %
+ \cldcontext{LUATEXFUNCTIONALITY}
+ \NC \NR
+\NC \LUAMETATEX\ Version \EQ \currentdate \NC \NR
+\NC \CONTEXT\ Version \EQ LMTX \contextversion \NC \NR
+\NC \LUATEX\ Team \EQ Hans Hagen, Hartmut Henkel, Taco Hoekwater, Luigi Scarso \NC \NR
+\NC \LUAMETATEX\ Team \EQ Hans Hagen, Alan Braslau, Mojca Miklavec and Wolfgang Schuster \NC \NR
\stoptabulate
\stopchapter
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
index 0d4066ee1..61ad57296 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
@@ -98,7 +98,7 @@ characters long. The language is stored with each character. You can set
\prm {firstvalidlanguage} to for instance~1 and make thereby language~0
an ignored hyphenation language.
-The new primitive \lpr {hyphenationmin} can be used to signal the minimal length
+The new primitive \prm {hyphenationmin} can be used to signal the minimal length
of a word. This value is stored with the (current) language.
Because the \prm {uchyph} value is saved in the actual nodes, its handling is
@@ -130,7 +130,7 @@ hyphenation happens is (normally) when the paragraph or a horizontal box is
constructed. When \prm {savinghyphcodes} was zero when the language got
initialized you start out with nothing, otherwise you already have a set.
-When a \lpr {hjcode} is greater than 0 but less than 32 is indicates the
+When a \prm {hjcode} is greater than 0 but less than 32 is indicates the
to be used length. In the following example we map a character (\type {x}) onto
another one in the patterns and tell the engine that \type {Å“} counts as two
characters. Because traditionally zero itself is reserved for inhibiting
@@ -192,7 +192,7 @@ The start and end of a sequence of characters is signalled by a \nod {glue}, \no
{penalty}, \nod {kern} or \nod {boundary} node. But by default also a \nod
{hlist}, \nod {vlist}, \nod {rule}, \nod {dir}, \nod {whatsit}, \nod {insert}, and
\nod {adjust} node indicate a start or end. You can omit the last set from the
-test by setting flags in \lpr {hyphenationmode}:
+test by setting flags in \prm {hyphenationmode}:
\starttabulate[|c|l|]
\DB value \BC behaviour \NC \NR
@@ -324,8 +324,8 @@ examples.
\NC \number \compoundhyphenationcode \NC permit break at an explicit hyphen (border cases) \NC \NR
\NC \number \strictstarthyphenationcode \NC traditional \TEX\ compatibility wrt the start of a word \NC \NR
\NC \number \strictendhyphenationcode \NC traditional \TEX\ compatibility wrt the end of a word \NC \NR
-\NC \number \automaticpenaltyhyphenationcode \NC use \lpr {automatichyphenpenalty} \NC \NR
-\NC \number \explicitpenaltyhyphenationcode \NC use \lpr {explicithyphenpenalty} \NC \NR
+\NC \number \automaticpenaltyhyphenationcode \NC use \prm {automatichyphenpenalty} \NC \NR
+\NC \number \explicitpenaltyhyphenationcode \NC use \prm {explicithyphenpenalty} \NC \NR
\NC \number \permitgluehyphenationcode \NC turn glue in discretionaries into kerns \NC \NR
\NC \number \permitallhyphenationcode \NC okay, let's be even more tolerant in discretionaries \NC \NR
\NC \number \permitmathreplacehyphenationcode \NC and again we're more permissive \NC \NR
@@ -451,12 +451,12 @@ have been added:
\explicithyphenpenalty
\stoptyping
-The usage of these penalties is controlled by the \lpr {hyphenationmode} flags
+The usage of these penalties is controlled by the \prm {hyphenationmode} flags
\number\automaticpenaltyhyphenationcode\space and
\number\explicitpenaltyhyphenationcode\space and when these are not set \prm
{exhyphenpenalty} is used.
-You can use the \lpr {tracinghyphenation} variable to get a bit more information
+You can use the \prm {tracinghyphenation} variable to get a bit more information
about what happens.
\starttabulate[|lT|l|]
@@ -547,7 +547,7 @@ actual explicit hyphen character if needed). For example, this matches the word
The motivation behind the \ETEX\ extension \prm {savinghyphcodes} was that
hyphenation heavily depended on font encodings. This is no longer true in
\LUATEX, and the corresponding primitive is basically ignored. Because we now
-have \lpr {hjcode}, the case related codes can be used exclusively for \prm
+have \prm {hjcode}, the case related codes can be used exclusively for \prm
{uppercase} and \prm {lowercase}.
The three curly brace pair pattern in an exception can be somewhat unexpected so
@@ -556,7 +556,7 @@ creates a lookup \type {fooxbar} and the pattern \type {foo{}{}{}bar} creates
\type {foobar}. Then, when a hit happens there is a replacement text (\type {x})
or none. Because we introduced penalties in discretionary nodes, the exception
syntax now also can take a penalty specification. The value between square brackets
-is a multiplier for \lpr {exceptionpenalty}. Here we have set it to 10000 so
+is a multiplier for \prm {exceptionpenalty}. Here we have set it to 10000 so
effectively we get 30000 in the example.
\def\ShowSample#1#2%
@@ -633,10 +633,10 @@ of the implementation:
needed.
\stopitem
\startitem
- \LUATEX\ uses the language-specific variables \lpr {prehyphenchar} and \lpr
+ \LUATEX\ uses the language-specific variables \prm {prehyphenchar} and \prm
{posthyphenchar} in the creation of implicit discretionaries, instead of
\TEX82's \prm {hyphenchar}, and the values of the language|-|specific
- variables \lpr {preexhyphenchar} and \lpr {postexhyphenchar} for explicit
+ variables \prm {preexhyphenchar} and \prm {postexhyphenchar} for explicit
discretionaries (instead of \TEX82's empty discretionary).
\stopitem
\startitem
@@ -734,7 +734,7 @@ In so called base mode, where \TEX\ does the work, the ligature construction
\type {ff} ligatures and that one followed by an \type {i} can become a \type
{ffi} ligature. The situation can be complicated by hyphenation points between
these characters. When there are several in a ligature collapsing happens. Flag
-{\tttf "\uchexnumbers {\lazyligatureshyphenationcode}} in the \lpr
+{\tttf "\uchexnumbers {\lazyligatureshyphenationcode}} in the \prm
{hyphenationmode} variable determines if this happens lazy or greedy, i.e.\ the
first hyphen wins or the last one does. In practice a \CONTEXT\ user won't have
to deal with this because most fonts are processed in node mode.
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
index 44d7dbe19..da05485ad 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
@@ -68,7 +68,7 @@ The unaltered ones are:
\stoptabulate
For practical reasons \prm {mathchardef} will silently accept values larger
-that \type {0x8000} and interpret it as \lpr {Umathcharnumdef}. This is needed
+that \type {0x8000} and interpret it as \prm {Umathcharnumdef}. This is needed
to satisfy older macro packages.
The following new primitives are compatible with \XETEX:
@@ -78,17 +78,17 @@ The following new primitives are compatible with \XETEX:
\starttabulate[|l|l|r|c|l|r|]
\DB primitive \BC min \BC max \BC \kern 2em \BC min \BC max \NC \NR
\TB
-\NC \lpr {Umathchardef} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
-\NC \lpr {Umathcharnumdef}\rlap{\high{5}} \NC -80000000 \NC 7FFFFFFF \NC \NC \NC \NC \NR
-\NC \lpr {Umathcode} \NC 0 \NC 10FFFF \NC = \NC 0+0+0 \NC 7+FF+10FFFF \NC \NR
-\NC \lpr {Udelcode} \NC 0 \NC 10FFFF \NC = \NC 0+0 \NC FF+10FFFF \NC \NR
-\NC \lpr {Umathchar} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
-\NC \lpr {Umathaccent} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
-\NC \lpr {Udelimiter} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
-\NC \lpr {Uradical} \NC 0+0 \NC FF+10FFFF \NC \NC \NC \NC \NR
-\NC \lpr {Umathcharnum} \NC -80000000 \NC 7FFFFFFF \NC \NC \NC \NC \NR
-\NC \lpr {Umathcodenum} \NC 0 \NC 10FFFF \NC = \NC -80000000 \NC 7FFFFFFF \NC \NR
-\NC \lpr {Udelcodenum} \NC 0 \NC 10FFFF \NC = \NC -80000000 \NC 7FFFFFFF \NC \NR
+\NC \prm {Umathchardef} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
+\NC \prm {Umathcharnumdef}\rlap{\high{5}} \NC -80000000 \NC 7FFFFFFF \NC \NC \NC \NC \NR
+\NC \prm {Umathcode} \NC 0 \NC 10FFFF \NC = \NC 0+0+0 \NC 7+FF+10FFFF \NC \NR
+\NC \prm {Udelcode} \NC 0 \NC 10FFFF \NC = \NC 0+0 \NC FF+10FFFF \NC \NR
+\NC \prm {Umathchar} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
+\NC \prm {Umathaccent} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
+\NC \prm {Udelimiter} \NC 0+0+0 \NC 7+FF+10FFFF \NC \NC \NC \NC \NR
+\NC \prm {Uradical} \NC 0+0 \NC FF+10FFFF \NC \NC \NC \NC \NR
+\NC \prm {Umathcharnum} \NC -80000000 \NC 7FFFFFFF \NC \NC \NC \NC \NR
+\NC \prm {Umathcodenum} \NC 0 \NC 10FFFF \NC = \NC -80000000 \NC 7FFFFFFF \NC \NR
+\NC \prm {Udelcodenum} \NC 0 \NC 10FFFF \NC = \NC -80000000 \NC 7FFFFFFF \NC \NR
\LL
\stoptabulate
@@ -101,20 +101,20 @@ Specifications typically look like:
The new primitives that deal with delimiter|-|style objects do not set up a
\quote {large family}. Selecting a suitable size for display purposes is expected
-to be dealt with by the font via the \lpr {Umathoperatorsize} parameter.
+to be dealt with by the font via the \prm {Umathoperatorsize} parameter.
For some of these primitives, all information is packed into a single signed
-integer. For the first two (\lpr {Umathcharnum} and \lpr {Umathcodenum}), the
+integer. For the first two (\prm {Umathcharnum} and \prm {Umathcodenum}), the
lowest 21 bits are the character code, the 3 bits above that represent the math
class, and the family data is kept in the topmost bits. This means that the values
-for math families 128--255 are actually negative. For \lpr {Udelcodenum} there
+for math families 128--255 are actually negative. For \prm {Udelcodenum} there
is no math class. The math family information is stored in the bits directly on
top of the character code. Using these three commands is not as natural as using
the two- and three|-|value commands, so unless you know exactly what you are
doing and absolutely require the speedup resulting from the faster input
scanning, it is better to use the verbose commands instead.
-The \lpr {Umathaccent} command accepts optional keywords to control various
+The \prm {Umathaccent} command accepts optional keywords to control various
details regarding math accents. See \in {section} [mathacc] below for details.
There are more new primitives and all of these will be explained in following
@@ -123,11 +123,11 @@ sections:
\starttabulate[|l|l|]
\DB primitive \BC value range (in hex) \NC \NR
\TB
-\NC \lpr {Uroot} \NC 0 + 0--FF + 10FFFF \NC \NR
-\NC \lpr {Uoverdelimiter} \NC 0 + 0--FF + 10FFFF \NC \NR
-\NC \lpr {Uunderdelimiter} \NC 0 + 0--FF + 10FFFF \NC \NR
-\NC \lpr {Udelimiterover} \NC 0 + 0--FF + 10FFFF \NC \NR
-\NC \lpr {Udelimiterunder} \NC 0 + 0--FF + 10FFFF \NC \NR
+\NC \prm {Uroot} \NC 0 + 0--FF + 10FFFF \NC \NR
+\NC \prm {Uoverdelimiter} \NC 0 + 0--FF + 10FFFF \NC \NR
+\NC \prm {Uunderdelimiter} \NC 0 + 0--FF + 10FFFF \NC \NR
+\NC \prm {Udelimiterover} \NC 0 + 0--FF + 10FFFF \NC \NR
+\NC \prm {Udelimiterunder} \NC 0 + 0--FF + 10FFFF \NC \NR
\LL
\stoptabulate
@@ -135,13 +135,13 @@ sections:
\startsection[title={Math styles}]
-\subsection{\lpr {mathstyle}}
+\subsection{\prm {mathstyle}}
\topicindex {math+styles}
It is possible to discover the math style that will be used for a formula in an
expandable fashion (while the math list is still being read). To make this
-possible, \LUATEX\ adds the new primitive: \lpr {mathstyle}. This is a \quote
+possible, \LUATEX\ adds the new primitive: \prm {mathstyle}. This is a \quote
{convert command} like e.g. \prm {romannumeral}: its value can only be read,
not set. Beware that contrary to \LUATEX\ this is now a proper number so you need
to use \type {\number} o r\type {\the} in order to serialize it.
@@ -171,7 +171,7 @@ preceding use of that family).
The style switching primitives like \prm {textstyle} are turned into nodes so the
styles set there are frozen. The \prm {mathchoice} primitive results in four
lists being constructed of which one is used in the second pass. The fact that
-some automatic styles are not yet known also means that the \lpr {mathstyle}
+some automatic styles are not yet known also means that the \prm {mathstyle}
primitive expands to the current style which can of course be different from the
one really used. It's a snapshot of the first pass state. As a consequence in the
following example you get a style number (first pass) typeset that can actually
@@ -244,27 +244,27 @@ Using \prm {begingroup} \unknown\ \prm {endgroup} instead gives:
\blank $\displaystyle \getbuffer[2]$ \blank
\blank $\textstyle \getbuffer[2]$ \blank
-This might look wrong but it's just a side effect of \lpr {mathstyle} expanding
+This might look wrong but it's just a side effect of \prm {mathstyle} expanding
to the current (first pass) style and the number being injected in the list that
gets converted in the second pass. It all makes sense and it illustrates the
importance of grouping. In fact, the math choice style being effective afterwards
has advantages. It would be hard to get it otherwise.
-\subsection{\lpr {Ustack}}
+\subsection{\prm {Ustack}}
\topicindex {math+stacks}
There are a few math commands in \TEX\ where the style that will be used is not
known straight from the start. These commands (\prm {over}, \prm {atop},
\prm {overwithdelims}, \prm {atopwithdelims}) would therefore normally return
-wrong values for \lpr {mathstyle}. To fix this, \LUATEX\ introduces a special
-prefix command: \lpr {Ustack}:
+wrong values for \prm {mathstyle}. To fix this, \LUATEX\ introduces a special
+prefix command: \prm {Ustack}:
\starttyping
$\Ustack {a \over b}$
\stoptyping
-The \lpr {Ustack} command will scan the next brace and start a new math group
+The \prm {Ustack} command will scan the next brace and start a new math group
with the correct (numerator) math style.
\subsection{The new \type {\cramped...style} commands}
@@ -312,7 +312,7 @@ are described as follows:
In \LUATEX\ one can set the styles in more detail which means that you sometimes
have to set both normal and cramped styles to get the effect you want. (Even) if
-we force styles in the script using \prm {scriptstyle} and \lpr
+we force styles in the script using \prm {scriptstyle} and \prm
{crampedscriptstyle} we get this:
\startbuffer[demo]
@@ -360,7 +360,7 @@ Now we get:
\startsection[title={Math parameter settings}]
-\subsection {Many new \lpr {Umath*} primitives}
+\subsection {Many new \tex {Umath*} primitives}
\topicindex {math+parameters}
@@ -371,62 +371,62 @@ has resulted in turning some hard codes properties into parameters.
\starttabulate
\DB primitive name \BC description \NC \NR
\TB
-\NC \lpr {Umathquad} \NC the width of 18 mu's \NC \NR
-\NC \lpr {Umathaxis} \NC height of the vertical center axis of
+\NC \prm {Umathquad} \NC the width of 18 mu's \NC \NR
+\NC \prm {Umathaxis} \NC height of the vertical center axis of
the math formula above the baseline \NC \NR
-\NC \lpr {Umathoperatorsize} \NC minimum size of large operators in display mode \NC \NR
-\NC \lpr {Umathoverbarkern} \NC vertical clearance above the rule \NC \NR
-\NC \lpr {Umathoverbarrule} \NC the width of the rule \NC \NR
-\NC \lpr {Umathoverbarvgap} \NC vertical clearance below the rule \NC \NR
-\NC \lpr {Umathunderbarkern} \NC vertical clearance below the rule \NC \NR
-\NC \lpr {Umathunderbarrule} \NC the width of the rule \NC \NR
-\NC \lpr {Umathunderbarvgap} \NC vertical clearance above the rule \NC \NR
-\NC \lpr {Umathradicalkern} \NC vertical clearance above the rule \NC \NR
-\NC \lpr {Umathradicalrule} \NC the width of the rule \NC \NR
-\NC \lpr {Umathradicalvgap} \NC vertical clearance below the rule \NC \NR
-\NC \lpr {Umathradicaldegreebefore}\NC the forward kern that takes place before placement of
+\NC \prm {Umathoperatorsize} \NC minimum size of large operators in display mode \NC \NR
+\NC \prm {Umathoverbarkern} \NC vertical clearance above the rule \NC \NR
+\NC \prm {Umathoverbarrule} \NC the width of the rule \NC \NR
+\NC \prm {Umathoverbarvgap} \NC vertical clearance below the rule \NC \NR
+\NC \prm {Umathunderbarkern} \NC vertical clearance below the rule \NC \NR
+\NC \prm {Umathunderbarrule} \NC the width of the rule \NC \NR
+\NC \prm {Umathunderbarvgap} \NC vertical clearance above the rule \NC \NR
+\NC \prm {Umathradicalkern} \NC vertical clearance above the rule \NC \NR
+\NC \prm {Umathradicalrule} \NC the width of the rule \NC \NR
+\NC \prm {Umathradicalvgap} \NC vertical clearance below the rule \NC \NR
+\NC \prm {Umathradicaldegreebefore}\NC the forward kern that takes place before placement of
the radical degree \NC \NR
-\NC \lpr {Umathradicaldegreeafter} \NC the backward kern that takes place after placement of
+\NC \prm {Umathradicaldegreeafter} \NC the backward kern that takes place after placement of
the radical degree \NC \NR
-\NC \lpr {Umathradicaldegreeraise} \NC this is the percentage of the total height and depth of
+\NC \prm {Umathradicaldegreeraise} \NC this is the percentage of the total height and depth of
the radical sign that the degree is raised by; it is
expressed in \type {percents}, so 60\% is expressed as the
integer $60$ \NC \NR
-\NC \lpr {Umathstackvgap} \NC vertical clearance between the two
+\NC \prm {Umathstackvgap} \NC vertical clearance between the two
elements in an \prm {atop} stack \NC \NR
-\NC \lpr {Umathstacknumup} \NC numerator shift upward in \prm {atop} stack \NC \NR
-\NC \lpr {Umathstackdenomdown} \NC denominator shift downward in \prm {atop} stack \NC \NR
-\NC \lpr {Umathfractionrule} \NC the width of the rule in a \prm {over} \NC \NR
-\NC \lpr {Umathfractionnumvgap} \NC vertical clearance between the numerator and the rule \NC \NR
-\NC \lpr {Umathfractionnumup} \NC numerator shift upward in \prm {over} \NC \NR
-\NC \lpr {Umathfractiondenomvgap} \NC vertical clearance between the denominator and the rule \NC \NR
-\NC \lpr {Umathfractiondenomdown} \NC denominator shift downward in \prm {over} \NC \NR
-\NC \lpr {Umathfractiondelsize} \NC minimum delimiter size for \type {\...withdelims} \NC \NR
-\NC \lpr {Umathlimitabovevgap} \NC vertical clearance for limits above operators \NC \NR
-\NC \lpr {Umathlimitabovebgap} \NC vertical baseline clearance for limits above operators \NC \NR
-\NC \lpr {Umathlimitabovekern} \NC space reserved at the top of the limit \NC \NR
-\NC \lpr {Umathlimitbelowvgap} \NC vertical clearance for limits below operators \NC \NR
-\NC \lpr {Umathlimitbelowbgap} \NC vertical baseline clearance for limits below operators \NC \NR
-\NC \lpr {Umathlimitbelowkern} \NC space reserved at the bottom of the limit \NC \NR
-\NC \lpr {Umathoverdelimitervgap} \NC vertical clearance for limits above delimiters \NC \NR
-\NC \lpr {Umathoverdelimiterbgap} \NC vertical baseline clearance for limits above delimiters \NC \NR
-\NC \lpr {Umathunderdelimitervgap} \NC vertical clearance for limits below delimiters \NC \NR
-\NC \lpr {Umathunderdelimiterbgap} \NC vertical baseline clearance for limits below delimiters \NC \NR
-\NC \lpr {Umathsubshiftdrop} \NC subscript drop for boxes and subformulas \NC \NR
-\NC \lpr {Umathsubshiftdown} \NC subscript drop for characters \NC \NR
-\NC \lpr {Umathsupshiftdrop} \NC superscript drop (raise, actually) for boxes and subformulas \NC \NR
-\NC \lpr {Umathsupshiftup} \NC superscript raise for characters \NC \NR
-\NC \lpr {Umathsubsupshiftdown} \NC subscript drop in the presence of a superscript \NC \NR
-\NC \lpr {Umathsubtopmax} \NC the top of standalone subscripts cannot be higher than this
+\NC \prm {Umathstacknumup} \NC numerator shift upward in \prm {atop} stack \NC \NR
+\NC \prm {Umathstackdenomdown} \NC denominator shift downward in \prm {atop} stack \NC \NR
+\NC \prm {Umathfractionrule} \NC the width of the rule in a \prm {over} \NC \NR
+\NC \prm {Umathfractionnumvgap} \NC vertical clearance between the numerator and the rule \NC \NR
+\NC \prm {Umathfractionnumup} \NC numerator shift upward in \prm {over} \NC \NR
+\NC \prm {Umathfractiondenomvgap} \NC vertical clearance between the denominator and the rule \NC \NR
+\NC \prm {Umathfractiondenomdown} \NC denominator shift downward in \prm {over} \NC \NR
+\NC \prm {Umathfractiondelsize} \NC minimum delimiter size for \type {\...withdelims} \NC \NR
+\NC \prm {Umathlimitabovevgap} \NC vertical clearance for limits above operators \NC \NR
+\NC \prm {Umathlimitabovebgap} \NC vertical baseline clearance for limits above operators \NC \NR
+\NC \prm {Umathlimitabovekern} \NC space reserved at the top of the limit \NC \NR
+\NC \prm {Umathlimitbelowvgap} \NC vertical clearance for limits below operators \NC \NR
+\NC \prm {Umathlimitbelowbgap} \NC vertical baseline clearance for limits below operators \NC \NR
+\NC \prm {Umathlimitbelowkern} \NC space reserved at the bottom of the limit \NC \NR
+\NC \prm {Umathoverdelimitervgap} \NC vertical clearance for limits above delimiters \NC \NR
+\NC \prm {Umathoverdelimiterbgap} \NC vertical baseline clearance for limits above delimiters \NC \NR
+\NC \prm {Umathunderdelimitervgap} \NC vertical clearance for limits below delimiters \NC \NR
+\NC \prm {Umathunderdelimiterbgap} \NC vertical baseline clearance for limits below delimiters \NC \NR
+\NC \prm {Umathsubshiftdrop} \NC subscript drop for boxes and subformulas \NC \NR
+\NC \prm {Umathsubshiftdown} \NC subscript drop for characters \NC \NR
+\NC \prm {Umathsupshiftdrop} \NC superscript drop (raise, actually) for boxes and subformulas \NC \NR
+\NC \prm {Umathsupshiftup} \NC superscript raise for characters \NC \NR
+\NC \prm {Umathsubsupshiftdown} \NC subscript drop in the presence of a superscript \NC \NR
+\NC \prm {Umathsubtopmax} \NC the top of standalone subscripts cannot be higher than this
above the baseline \NC \NR
-\NC \lpr {Umathsupbottommin} \NC the bottom of standalone superscripts cannot be less than
+\NC \prm {Umathsupbottommin} \NC the bottom of standalone superscripts cannot be less than
this above the baseline \NC \NR
-\NC \lpr {Umathsupsubbottommax} \NC the bottom of the superscript of a combined super- and subscript
+\NC \prm {Umathsupsubbottommax} \NC the bottom of the superscript of a combined super- and subscript
be at least as high as this above the baseline \NC \NR
-\NC \lpr {Umathsubsupvgap} \NC vertical clearance between super- and subscript \NC \NR
-\NC \lpr {Umathspacebeforescript} \NC additional space added before a super- or subprescript (bonus setting) \NC \NR
-\NC \lpr {Umathspaceafterscript} \NC additional space added after a super- or subscript \NC \NR
-\NC \lpr {Umathconnectoroverlapmin}\NC minimum overlap between parts in an extensible recipe \NC \NR
+\NC \prm {Umathsubsupvgap} \NC vertical clearance between super- and subscript \NC \NR
+\NC \prm {Umathspacebeforescript} \NC additional space added before a super- or subprescript (bonus setting) \NC \NR
+\NC \prm {Umathspaceafterscript} \NC additional space added after a super- or subscript \NC \NR
+\NC \prm {Umathconnectoroverlapmin}\NC minimum overlap between parts in an extensible recipe \NC \NR
\LL
\stoptabulate
@@ -533,39 +533,39 @@ dimension parameter. For math fonts, this should be set to zero.
\LL
\stoptabulate
-Note 1: \OPENTYPE\ fonts set \lpr {Umathlimitabovekern} and \lpr
-{Umathlimitbelowkern} to zero and set \lpr {Umathquad} to the font size of the
+Note 1: \OPENTYPE\ fonts set \prm {Umathlimitabovekern} and \prm
+{Umathlimitbelowkern} to zero and set \prm {Umathquad} to the font size of the
used font, because these are not supported in the \type {MATH} table,
-Note 2: Traditional \TFM\ fonts do not set \lpr {Umathradicalrule} because
+Note 2: Traditional \TFM\ fonts do not set \prm {Umathradicalrule} because
\TEX82\ uses the height of the radical instead. When this parameter is indeed not
set when \LUATEX\ has to typeset a radical, a backward compatibility mode will
kick in that assumes that an oldstyle \TEX\ font is used. Also, they do not set
-\lpr {Umathradicaldegreebefore}, \lpr {Umathradicaldegreeafter}, and \lpr
+\prm {Umathradicaldegreebefore}, \prm {Umathradicaldegreeafter}, and \prm
{Umathradicaldegreeraise}. These are then automatically initialized to
$5/18$quad, $-10/18$quad, and 60.
-Note 3: If \TFM\ fonts are used, then the \lpr {Umathradicalvgap} is not set
+Note 3: If \TFM\ fonts are used, then the \prm {Umathradicalvgap} is not set
until the first time \LUATEX\ has to typeset a formula because this needs
parameters from both family~2 and family~3. This provides a partial backward
-compatibility with \TEX82, but that compatibility is only partial: once the \lpr
+compatibility with \TEX82, but that compatibility is only partial: once the \prm
{Umathradicalvgap} is set, it will not be recalculated any more.
-Note 4: When \TFM\ fonts are used a similar situation arises with respect to \lpr
+Note 4: When \TFM\ fonts are used a similar situation arises with respect to \prm
{Umathspaceafterscript}: it is not set until the first time \LUATEX\ has to
typeset a formula. This provides some backward compatibility with \TEX82. But
-once the \lpr {Umathspaceafterscript} is set, \prm {scriptspace} will never be
+once the \prm {Umathspaceafterscript} is set, \prm {scriptspace} will never be
looked at again.
-Note 5: Traditional \TFM\ fonts set \lpr {Umathconnectoroverlapmin} to zero
+Note 5: Traditional \TFM\ fonts set \prm {Umathconnectoroverlapmin} to zero
because \TEX82\ always stacks extensibles without any overlap.
-Note 6: The \lpr {Umathoperatorsize} is only used in \prm {displaystyle}, and is
+Note 6: The \prm {Umathoperatorsize} is only used in \prm {displaystyle}, and is
only set in \OPENTYPE\ fonts. In \TFM\ font mode, it is artificially set to one
scaled point more than the initial attempt's size, so that always the \quote
{first next} will be tried, just like in \TEX82.
-Note 7: The \lpr {Umathradicaldegreeraise} is a special case because it is the
+Note 7: The \prm {Umathradicaldegreeraise} is a special case because it is the
only parameter that is expressed in a percentage instead of a number of scaled
points.
@@ -581,16 +581,16 @@ math font Cambria, but were useful enough to be added.
\startsection[title={Math spacing}]
-\subsection{Setting inline surrounding space with \lpr {mathsurround[skip]}}
+\subsection{Setting inline surrounding space with \prm {mathsurround} and \prm {mathsurroundskip}}
\topicindex {math+spacing}
Inline math is surrounded by (optional) \prm {mathsurround} spacing but that is a fixed
-dimension. There is now an additional parameter \lpr {mathsurroundskip}. When set to a
+dimension. There is now an additional parameter \prm {mathsurroundskip}. When set to a
non|-|zero value (or zero with some stretch or shrink) this parameter will replace
\prm {mathsurround}. By using an additional parameter instead of changing the nature
of \prm {mathsurround}, we can remain compatible. In the meantime a bit more
-control has been added via \lpr {mathsurroundmode}. This directive can take 6 values
+control has been added via \prm {mathsurroundmode}. This directive can take 6 values
with zero being the default behaviour.
\start
@@ -614,14 +614,14 @@ with zero being the default behaviour.
\starttabulate[|c|c|c|pl|]
\DB mode \BC x\$x\$x \BC x \$x\$ x \BC effect \NC \NR
\TB
-\OneLiner{0}{obey \prm {mathsurround} when \lpr {mathsurroundskip} is 0pt}
+\OneLiner{0}{obey \prm {mathsurround} when \prm {mathsurroundskip} is 0pt}
\OneLiner{1}{only add skip to the left}
\OneLiner{2}{only add skip to the right}
\OneLiner{3}{add skip to the left and right}
\OneLiner{4}{ignore the skip setting, obey \prm {mathsurround}}
\OneLiner{5}{disable all spacing around math}
-\OneLiner{6}{only apply \lpr {mathsurroundskip} when also spacing}
-\OneLiner{7}{only apply \lpr {mathsurroundskip} when no spacing}
+\OneLiner{6}{only apply \prm {mathsurroundskip} when also spacing}
+\OneLiner{7}{only apply \prm {mathsurroundskip} when no spacing}
\LL
\stoptabulate
@@ -637,7 +637,7 @@ node and not always treated as normal glue: it travels with the begin and end
math nodes. Also, method 6 and 7 will zero the skip related fields in a node when
applicable in the first occasion that checks them (linebreaking or packaging).
-\subsection{Pairwise spacing and \lpr {Umath...spacing} commands}
+\subsection{Pairwise spacing and \tex {Umath...spacing} commands}
\topicindex {math+spacing}
@@ -648,70 +648,70 @@ types, but for completeness' sake, here is the whole list:
\starttwocolumns
\startlines
-\lpr {Umathordordspacing}
-\lpr {Umathordopspacing}
-\lpr {Umathordbinspacing}
-\lpr {Umathordrelspacing}
-\lpr {Umathordopenspacing}
-\lpr {Umathordclosespacing}
-\lpr {Umathordpunctspacing}
-\lpr {Umathordinnerspacing}
-\lpr {Umathopordspacing}
-\lpr {Umathopopspacing}
-\lpr {Umathopbinspacing}
-\lpr {Umathoprelspacing}
-\lpr {Umathopopenspacing}
-\lpr {Umathopclosespacing}
-\lpr {Umathoppunctspacing}
-\lpr {Umathopinnerspacing}
-\lpr {Umathbinordspacing}
-\lpr {Umathbinopspacing}
-\lpr {Umathbinbinspacing}
-\lpr {Umathbinrelspacing}
-\lpr {Umathbinopenspacing}
-\lpr {Umathbinclosespacing}
-\lpr {Umathbinpunctspacing}
-\lpr {Umathbininnerspacing}
-\lpr {Umathrelordspacing}
-\lpr {Umathrelopspacing}
-\lpr {Umathrelbinspacing}
-\lpr {Umathrelrelspacing}
-\lpr {Umathrelopenspacing}
-\lpr {Umathrelclosespacing}
-\lpr {Umathrelpunctspacing}
-\lpr {Umathrelinnerspacing}
-\lpr {Umathopenordspacing}
-\lpr {Umathopenopspacing}
-\lpr {Umathopenbinspacing}
-\lpr {Umathopenrelspacing}
-\lpr {Umathopenopenspacing}
-\lpr {Umathopenclosespacing}
-\lpr {Umathopenpunctspacing}
-\lpr {Umathopeninnerspacing}
-\lpr {Umathcloseordspacing}
-\lpr {Umathcloseopspacing}
-\lpr {Umathclosebinspacing}
-\lpr {Umathcloserelspacing}
-\lpr {Umathcloseopenspacing}
-\lpr {Umathcloseclosespacing}
-\lpr {Umathclosepunctspacing}
-\lpr {Umathcloseinnerspacing}
-\lpr {Umathpunctordspacing}
-\lpr {Umathpunctopspacing}
-\lpr {Umathpunctbinspacing}
-\lpr {Umathpunctrelspacing}
-\lpr {Umathpunctopenspacing}
-\lpr {Umathpunctclosespacing}
-\lpr {Umathpunctpunctspacing}
-\lpr {Umathpunctinnerspacing}
-\lpr {Umathinnerordspacing}
-\lpr {Umathinneropspacing}
-\lpr {Umathinnerbinspacing}
-\lpr {Umathinnerrelspacing}
-\lpr {Umathinneropenspacing}
-\lpr {Umathinnerclosespacing}
-\lpr {Umathinnerpunctspacing}
-\lpr {Umathinnerinnerspacing}
+\prm {Umathordordspacing}
+\prm {Umathordopspacing}
+\prm {Umathordbinspacing}
+\prm {Umathordrelspacing}
+\prm {Umathordopenspacing}
+\prm {Umathordclosespacing}
+\prm {Umathordpunctspacing}
+\prm {Umathordinnerspacing}
+\prm {Umathopordspacing}
+\prm {Umathopopspacing}
+\prm {Umathopbinspacing}
+\prm {Umathoprelspacing}
+\prm {Umathopopenspacing}
+\prm {Umathopclosespacing}
+\prm {Umathoppunctspacing}
+\prm {Umathopinnerspacing}
+\prm {Umathbinordspacing}
+\prm {Umathbinopspacing}
+\prm {Umathbinbinspacing}
+\prm {Umathbinrelspacing}
+\prm {Umathbinopenspacing}
+\prm {Umathbinclosespacing}
+\prm {Umathbinpunctspacing}
+\prm {Umathbininnerspacing}
+\prm {Umathrelordspacing}
+\prm {Umathrelopspacing}
+\prm {Umathrelbinspacing}
+\prm {Umathrelrelspacing}
+\prm {Umathrelopenspacing}
+\prm {Umathrelclosespacing}
+\prm {Umathrelpunctspacing}
+\prm {Umathrelinnerspacing}
+\prm {Umathopenordspacing}
+\prm {Umathopenopspacing}
+\prm {Umathopenbinspacing}
+\prm {Umathopenrelspacing}
+\prm {Umathopenopenspacing}
+\prm {Umathopenclosespacing}
+\prm {Umathopenpunctspacing}
+\prm {Umathopeninnerspacing}
+\prm {Umathcloseordspacing}
+\prm {Umathcloseopspacing}
+\prm {Umathclosebinspacing}
+\prm {Umathcloserelspacing}
+\prm {Umathcloseopenspacing}
+\prm {Umathcloseclosespacing}
+\prm {Umathclosepunctspacing}
+\prm {Umathcloseinnerspacing}
+\prm {Umathpunctordspacing}
+\prm {Umathpunctopspacing}
+\prm {Umathpunctbinspacing}
+\prm {Umathpunctrelspacing}
+\prm {Umathpunctopenspacing}
+\prm {Umathpunctclosespacing}
+\prm {Umathpunctpunctspacing}
+\prm {Umathpunctinnerspacing}
+\prm {Umathinnerordspacing}
+\prm {Umathinneropspacing}
+\prm {Umathinnerbinspacing}
+\prm {Umathinnerrelspacing}
+\prm {Umathinneropenspacing}
+\prm {Umathinnerclosespacing}
+\prm {Umathinnerpunctspacing}
+\prm {Umathinnerinnerspacing}
\stoplines
\stoptwocolumns
@@ -736,7 +736,7 @@ marked \type {*} in the \TEX book. These will not actually be used as those
combinations of atoms cannot actually happen, but it seemed better not to break
orthogonality. They are initialized to zero.
-\subsection{Local \lpr {frozen} settings with}
+\subsection{Local \prm {frozen} settings with}
Math is processed in two passes. The first pass is needed to intercept for
instance \type {\over}, one of the few \TEX\ commands that actually has a
@@ -777,12 +777,12 @@ unprocessed math list. The result looks as follows:
\blank \getbuffer \blank
-\subsection{Checking a state with \lpr {ifmathparameter}}
+\subsection{Checking a state with \prm {ifmathparameter}}
When you adapt math parameters it might make sense to see if they are set at all.
When a parameter is unset its value has the maximum dimension value and you might
for instance mistakenly multiply that value to open up things a bit, which gives
-unexpected side effects. For that reason there is a convenient checker: \lpr
+unexpected side effects. For that reason there is a convenient checker: \prm
{ifmathparameter}. This test primitive behaves like an \prm {ifcase}, with:
\starttabulate[|c|l|]
@@ -794,14 +794,14 @@ unexpected side effects. For that reason there is a convenient checker: \lpr
\LL
\stoptabulate
-\subsection{Skips around display math and \lpr {mathdisplayskipmode}}
+\subsection{Skips around display math and \prm {mathdisplayskipmode}}
\topicindex {math+spacing}
The injection of \prm {abovedisplayskip} and \prm {belowdisplayskip} is not
symmetrical. An above one is always inserted, also when zero, but the below is
only inserted when larger than zero. Especially the latter makes it sometimes hard
-to fully control spacing. Therefore \LUATEX\ comes with a new directive: \lpr
+to fully control spacing. Therefore \LUATEX\ comes with a new directive: \prm
{mathdisplayskipmode}. The following values apply:
\starttabulate[|c|l|]
@@ -814,14 +814,14 @@ to fully control spacing. Therefore \LUATEX\ comes with a new directive: \lpr
\LL
\stoptabulate
-\subsection {Nolimit correction with \lpr {mathnolimitsmode}}
+\subsection {Nolimit correction with \prm {mathnolimitsmode}}
\topicindex {math+limits}
-There are two extra math parameters \lpr {Umathnolimitsupfactor} and \lpr
+There are two extra math parameters \prm {Umathnolimitsupfactor} and \prm
{Umathnolimitsubfactor} that were added to provide some control over how limits
are spaced (for example the position of super and subscripts after integral
-operators). They relate to an extra parameter \lpr {mathnolimitsmode}. The half
+operators). They relate to an extra parameter \prm {mathnolimitsmode}. The half
corrections are what happens when scripts are placed above and below. The
problem with italic corrections is that officially that correction italic is used
for above|/|below placement while advanced kerns are used for placement at the
@@ -868,15 +868,15 @@ When the mode is set to one, the math parameters are used. This way a macro
package writer can decide what looks best. Given the current state of fonts in
\CONTEXT\ we currently use mode 1 with factor 0 for the superscript and 750 for
the subscripts. Positive values are used for both parameters but the subscript
-shifts to the left. A \lpr {mathnolimitsmode} larger that 15 is considered to
+shifts to the left. A \prm {mathnolimitsmode} larger that 15 is considered to
be a factor for the subscript correction. This feature can be handy when
experimenting.
-\subsection {Controlling math italic mess with \lpr {mathitalicsmode}}
+\subsection {Controlling math italic mess with \prm {mathitalicsmode}}
\topicindex {math+italics}
-The \lpr {mathitalicsmode} parameter can be set to~1 to force italic correction
+The \prm {mathitalicsmode} parameter can be set to~1 to force italic correction
before noads that represent some more complex structure (read: everything
that is not an ord, bin, rel, open, close, punct or inner). We show a Cambria
example.
@@ -902,7 +902,7 @@ example.
This kind of parameters relate to the fact that italic correction in \OPENTYPE\
math is bound to fuzzy rules. So, control is the solution.
-\subsection {Influencing script kerning with \lpr {mathscriptboxmode}}
+\subsection {Influencing script kerning with \prm {mathscriptboxmode}}
\topicindex {math+kerning}
\topicindex {math+scripts}
@@ -911,7 +911,7 @@ If you want to typeset text in math macro packages often provide something \type
{\text} which obeys the script sizes. As the definition can be anything there is
a good chance that the kerning doesn't come out well when used in a script. Given
that the first glyph ends up in an \prm {hbox} we have some control over this.
-And, as a bonus we also added control over the normal sublist kerning. The \lpr
+And, as a bonus we also added control over the normal sublist kerning. The \prm
{mathscriptboxmode} parameter defaults to~1.
\starttabulate[|c|l|]
@@ -957,7 +957,7 @@ italics, while other fonts can lack kerns.
\NC dejavu \NC \Show{1}{0}{dejavu} \NC\Show{1}{1}{dejavu} \NC \Show{2}{1}{dejavu} \NC \Show{2}{2}{dejavu} \NC \Show{3}{3}{dejavu} \NC \NR
\stoptabulate
-Kerning between a character subscript is controlled by \lpr {mathscriptcharmode}
+Kerning between a character subscript is controlled by \prm {mathscriptcharmode}
which also defaults to~1.
Here is another example. Internally we tag kerns as italic kerns or font kerns
@@ -990,19 +990,19 @@ control over what one can turn on and off.
\LL
\stoptabulate
-\subsection{Forcing fixed scripts with \lpr {mathscriptsmode}}
+\subsection{Forcing fixed scripts with \prm {mathscriptsmode}}
We have three parameters that are used for this fixed anchoring:
\starttabulate[|c|l|]
\DB parameter \BC register \NC \NR
-\NC $d$ \NC \lpr {Umathsubshiftdown} \NC \NR
-\NC $u$ \NC \lpr {Umathsupshiftup} \NC \NR
-\NC $s$ \NC \lpr {Umathsubsupshiftdown} \NC \NR
+\NC $d$ \NC \prm {Umathsubshiftdown} \NC \NR
+\NC $u$ \NC \prm {Umathsupshiftup} \NC \NR
+\NC $s$ \NC \prm {Umathsubsupshiftdown} \NC \NR
\LL
\stoptabulate
-When we set \lpr {mathscriptsmode} to a value other than zero these are used
+When we set \prm {mathscriptsmode} to a value other than zero these are used
for calculating fixed positions. This is something that is needed for instance
for chemistry. You can manipulate the mentioned variables to achieve different
effects.
@@ -1027,7 +1027,7 @@ formula.
% if needed we can put the value in stylenodes but maybe more should go there
-\subsection{Penalties: \lpr {mathpenaltiesmode}}
+\subsection{Penalties: \prm {mathpenaltiesmode}}
\topicindex {math+penalties}
@@ -1051,7 +1051,7 @@ makes sense. As a bonus we also provide two extra penalties:
They default to inifinite which signals that they don't need to be inserted. When
set they are injected before a binop or rel noad. This is an experimental feature.
-\subsection{Equation spacing: \lpr {matheqnogapstep}}
+\subsection{Equation spacing: \prm {matheqnogapstep}}
By default \TEX\ will add one quad between the equation and the number. This is
hard coded. A new primitive can control this:
@@ -1069,17 +1069,17 @@ is divided by 1000 which is the usual way to mimmick floating point factors in
\startsection[title={Math constructs}]
-\subsection {Unscaled fences and \lpr{mathdelimitersmode}}
+\subsection {Unscaled fences and \prm{mathdelimitersmode}}
\topicindex {math+fences}
-The \lpr {mathdelimitersmode} primitive is experimental and deals with the
+The \prm {mathdelimitersmode} primitive is experimental and deals with the
following (potential) problems. Three bits can be set. The first bit prevents an
unwanted shift when the fence symbol is not scaled (a cambria side effect). The
second bit forces italic correction between a preceding character ordinal and the
fenced subformula, while the third bit turns that subformula into an ordinary so
that the same spacing applies as with unfenced variants. Here we show Cambria
-(with \lpr {mathitalicsmode} enabled).
+(with \prm {mathitalicsmode} enabled).
\starttexdefinition Whatever #1
\NC \type{\mathdelimitersmode = #1}
@@ -1142,16 +1142,16 @@ In typeset form this looks like:
\getbuffer
-\subsection[mathacc]{Accent handling with \lpr {Umathaccent}}
+\subsection[mathacc]{Accent handling with \prm {Umathaccent}}
\topicindex {math+accents}
\LUATEX\ supports both top accents and bottom accents in math mode, and math
accents stretch automatically (if this is supported by the font the accent comes
from, of course). Bottom and combined accents as well as fixed-width math accents
-are controlled by optional keywords following \lpr {Umathaccent}.
+are controlled by optional keywords following \prm {Umathaccent}.
-The keyword \type {bottom} after \lpr {Umathaccent} signals that a bottom accent
+The keyword \type {bottom} after \prm {Umathaccent} signals that a bottom accent
is needed, and the keyword \type {both} signals that both a top and a bottom
accent are needed (in this case two accents need to be specified, of course).
@@ -1191,20 +1191,20 @@ fraction only applies to the stepwise selected shapes and is mostly meant for th
\type {overlay} location. It also works for the other locations but then it
concerns the width.
-\subsection{Building radicals with \lpr {Uradical} and \lpr {Uroot}}
+\subsection{Building radicals with \prm {Uradical} and \prm {Uroot}}
\topicindex {math+radicals}
-The new primitive \lpr {Uroot} allows the construction of a radical noad
-including a degree field. Its syntax is an extension of \lpr {Uradical}:
+The new primitive \prm {Uroot} allows the construction of a radical noad
+including a degree field. Its syntax is an extension of \prm {Uradical}:
\starttyping
\Uradical <fam integer> <char integer> <radicand>
\Uroot <fam integer> <char integer> <degree> <radicand>
\stoptyping
-The placement of the degree is controlled by the math parameters \lpr
-{Umathradicaldegreebefore}, \lpr {Umathradicaldegreeafter}, and \lpr
+The placement of the degree is controlled by the math parameters \prm
+{Umathradicaldegreebefore}, \prm {Umathradicaldegreeafter}, and \prm
{Umathradicaldegreeraise}. The degree will be typeset in \prm
{scriptscriptstyle}.
@@ -1267,16 +1267,16 @@ next higher height and kern pair, or the highest one in the character (if there
value high enough in the character), or simply zero (if the character has no math kern
pairs at all).
-\subsection{Scripts on extensibles: \lpr {Uunderdelimiter}, \lpr {Uoverdelimiter},
-\lpr {Udelimiterover}, \lpr {Udelimiterunder} and \lpr {Uhextensible}}
+\subsection{Scripts on extensibles: \prm {Uunderdelimiter}, \prm {Uoverdelimiter},
+\prm {Udelimiterover}, \prm {Udelimiterunder} and \prm {Uhextensible}}
\topicindex {math+scripts}
\topicindex {math+delimiters}
\topicindex {math+extensibles}
-The primitives \lpr {Uunderdelimiter} and \lpr {Uoverdelimiter} allow the
+The primitives \prm {Uunderdelimiter} and \prm {Uoverdelimiter} allow the
placement of a subscript or superscript on an automatically extensible item and
-\lpr {Udelimiterunder} and \lpr {Udelimiterover} allow the placement of an
+\prm {Udelimiterunder} and \prm {Udelimiterover} allow the placement of an
automatically extensible item as a subscript or superscript on a nucleus. The
input:
@@ -1294,18 +1294,18 @@ $\Udelimiterunder 0 "2194 {\hbox{\strut delimiterunder}}$
\blank \startnarrower \getbuffer \stopnarrower \blank
-The vertical placements are controlled by \lpr {Umathunderdelimiterbgap}, \lpr
-{Umathunderdelimitervgap}, \lpr {Umathoverdelimiterbgap}, and \lpr
+The vertical placements are controlled by \prm {Umathunderdelimiterbgap}, \prm
+{Umathunderdelimitervgap}, \prm {Umathoverdelimiterbgap}, and \prm
{Umathoverdelimitervgap} in a similar way as limit placements on large operators.
-The superscript in \lpr {Uoverdelimiter} is typeset in a suitable scripted style,
-the subscript in \lpr {Uunderdelimiter} is cramped as well.
+The superscript in \prm {Uoverdelimiter} is typeset in a suitable scripted style,
+the subscript in \prm {Uunderdelimiter} is cramped as well.
These primitives accepts an optional \type {width} specification. When used the
also optional keywords \type {left}, \type {middle} and \type {right} will
determine what happens when a requested size can't be met (which can happen when
we step to successive larger variants).
-An extra primitive \lpr {Uhextensible} is available that can be used like this:
+An extra primitive \prm {Uhextensible} is available that can be used like this:
\startbuffer
$\Uhextensible width 10cm 0 "2194$
@@ -1330,7 +1330,7 @@ $\Uhextensible width 1pt middle 0 "2194$
font metrics are involved we have a different code path for traditional fonts end
\OPENTYPE\ fonts.
-\subsection{Fractions and the new \lpr {Uskewed} and \lpr {Uskewedwithdelims}}
+\subsection{Fractions and the new \prm {Uskewed} and \prm {Uskewedwithdelims}}
\topicindex {math+fractions}
@@ -1348,7 +1348,7 @@ vertical gap for skewed fractions. Of course some guessing is needed in order to
implement something that uses them. And so we now provide a primitive similar to the
other fraction related ones but with a few options so that one can influence the
rendering. Of course a user can also mess around a bit with the parameters
-\lpr {Umathskewedfractionhgap} and \lpr {Umathskewedfractionvgap}.
+\prm {Umathskewedfractionhgap} and \prm {Umathskewedfractionvgap}.
The syntax used here is:
@@ -1414,9 +1414,9 @@ The optional arguments are also supported but we have one extra option: \type
\Uover style \scriptstyle {top} {bottom}
\stoptyping
-The complete list of these commands is: \lpr {Uabove}, \lpr {Uatop}, \lpr
-{Uover}, \lpr {Uabovewithdelims}, \lpr {Uatopwithdelims}, \lpr {Uoverwithdelims},
-\lpr {UUskewed}, \lpr {UUskewedwithdelims}. As with other extensions we use a
+The complete list of these commands is: \prm {Uabove}, \prm {Uatop}, \prm
+{Uover}, \prm {Uabovewithdelims}, \prm {Uatopwithdelims}, \prm {Uoverwithdelims},
+\prm {UUskewed}, \prm {UUskewedwithdelims}. As with other extensions we use a
leading \type {U} and because we already had extra skew related primitives we end
up with a \type {UU} there. This obscurity is not that big an issue because
normally such primitives are wrapped in a macro. Here are a few examples:
@@ -1437,7 +1437,7 @@ $\Uover style \scriptscriptstyle {1234} {5678} $\blank
These render as: \getbuffer
-\subsection {Math styles: \lpr {Ustyle}}
+\subsection {Math styles: \prm {Ustyle}}
This primitive accepts a style identifier:
@@ -1453,7 +1453,7 @@ This in itself is not spectacular because it is equivalent to
Both commands inject a style node and change the current style. However, as in other
places where \LUAMETATEX\ expects a style you can also pass a number in the range
-zero upto seven (like the ones reported by the primitive \lpr {mathstyle}). So, the
+zero upto seven (like the ones reported by the primitive \prm {mathstyle}). So, the
next few lines give identical results:
\startbuffer
@@ -1467,7 +1467,7 @@ Like: \inlinebuffer . Values outside the valid range are ignored.
There is an extra option \type {norule} that can be used to suppress the rule while
keeping the spacing compatible.
-\subsection {Delimiters: \type{\Uleft}, \lpr {Umiddle} and \lpr {Uright}}
+\subsection {Delimiters: \type{\Uleft}, \prm {Umiddle} and \prm {Uright}}
\topicindex {math+delimiters}
@@ -1520,8 +1520,8 @@ non|-|zero value.
\startsection[title={Extracting values}]
-\subsection{Codes and using \lpr {Umathcode}, \lpr {Umathcharclass}, \lpr
-{Umathcharfam} and \lpr {Umathcharslot}}
+\subsection{Codes and using \prm {Umathcode}, \prm {Umathcharclass}, \prm
+{Umathcharfam} and \prm {Umathcharslot}}
\topicindex {math+codes}
@@ -1558,7 +1558,7 @@ do the following:
\relax}
\stoptyping
-\subsection {Last lines and \lpr{predisplaygapfactor}}
+\subsection {Last lines and \prm{predisplaygapfactor}}
\topicindex {math+last line}
@@ -1586,8 +1586,8 @@ get the length of the last line, the following will often work too:
\startsection[title={Math mode}]
-\subsection {Verbose versions of single|-|character math commands like \lpr {Usuperscript}
-and \lpr {Usubscript}}
+\subsection {Verbose versions of single|-|character math commands like \prm {Usuperscript}
+and \prm {Usubscript}}
\topicindex {math+styles}
@@ -1597,24 +1597,24 @@ and \lpr {Usubscript}}
\starttabulate[|l|l|]
\DB primitive \BC explanation \NC \NR
\TB
-\NC \lpr {Usuperscript} \NC duplicates the functionality of \type {^} \NC \NR
-\NC \lpr {Usubscript} \NC duplicates the functionality of \type {_} \NC \NR
-\NC \lpr {Ustartmath} \NC duplicates the functionality of \type {$}, % $
+\NC \prm {Usuperscript} \NC duplicates the functionality of \type {^} \NC \NR
+\NC \prm {Usubscript} \NC duplicates the functionality of \type {_} \NC \NR
+\NC \prm {Ustartmath} \NC duplicates the functionality of \type {$}, % $
when used in non-math mode. \NC \NR
-\NC \lpr {Ustopmath} \NC duplicates the functionality of \type {$}, % $
+\NC \prm {Ustopmath} \NC duplicates the functionality of \type {$}, % $
when used in inline math mode. \NC \NR
-\NC \lpr {Ustartdisplaymath} \NC duplicates the functionality of \type {$$}, % $$
+\NC \prm {Ustartdisplaymath} \NC duplicates the functionality of \type {$$}, % $$
when used in non-math mode. \NC \NR
-\NC \lpr {Ustopdisplaymath} \NC duplicates the functionality of \type {$$}, % $$
+\NC \prm {Ustopdisplaymath} \NC duplicates the functionality of \type {$$}, % $$
when used in display math mode. \NC \NR
\LL
\stoptabulate
-The \lpr {Ustopmath} and \lpr {Ustopdisplaymath} primitives check if the current
+The \prm {Ustopmath} and \prm {Ustopdisplaymath} primitives check if the current
math mode is the correct one (inline vs.\ displayed), but you can freely intermix
the four mathon|/|mathoff commands with explicit dollar sign(s).
-\subsection{Script commands \lpr {Unosuperscript} and \lpr {Unosubscript}}
+\subsection{Script commands \prm {Unosuperscript} and \prm {Unosubscript}}
\topicindex {math+styles}
\topicindex {math+scripts}
@@ -1640,8 +1640,8 @@ results in \inlinebuffer[script].
\topicindex {math+text}
\topicindex {text+math}
-The commands \prm {mathchar}, and \lpr {Umathchar} and control sequences that are
-the result of \prm {mathchardef} or \lpr {Umathchardef} are also acceptable in
+The commands \prm {mathchar}, and \prm {Umathchar} and control sequences that are
+the result of \prm {mathchardef} or \prm {Umathchardef} are also acceptable in
the horizontal and vertical modes. In those cases, the \prm {textfont} from the
requested math family is used.
@@ -1649,7 +1649,7 @@ requested math family is used.
\startsection[title={Goodies}]
-\subsection {Flattening: \lpr {mathflattenmode}}
+\subsection {Flattening: \prm {mathflattenmode}}
\topicindex {math+flattening}
@@ -1669,7 +1669,7 @@ This renders as:
\blank \start \mathflattenmode\plusone \getbuffer[sample] \stop \blank
-When we set \lpr {mathflattenmode} to 31 we get:
+When we set \prm {mathflattenmode} to 31 we get:
\blank \start \mathflattenmode\numexpr1+2+4+8+16\relax \getbuffer[sample] \stop \blank
@@ -1709,7 +1709,7 @@ There are a couple of experimental features. They will stay but details might
change, for instance more control over spacing. We just show some examples and
let your imagination work it out. First we have prescripts:
-\subsection {Prescripts with \lpr {Usuperprescript} and {Usubprescript}}
+\subsection {Prescripts with \prm {Usuperprescript} and {Usubprescript}}
\startbuffer
\hbox{$
@@ -1754,7 +1754,7 @@ These more verbose triggers can be used to build interfaces:
\blank \getbuffer \blank
-\subsection {Prescripts with \lpr {Usuperprescript} and {Usubprescript}}
+\subsection {Prescripts with \prm {Usuperprescript} and {Usubprescript}}
You can change the class of a math character on the fly:
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex b/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex
index 3202f1ff6..cc08bc9c6 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex
@@ -113,10 +113,10 @@ most still comes from original Knuthian \TEX. But we divert a bit.
\stopitem
\startitem
- Because the backend is not built|-|in, the magnification (\prm {mag})
- primitive is gone. A \type {shipout} just discards the content of the given
- box. The write related primitives have to be implemented in the used macro
- package using \LUA. None of the \PDFTEX\ derived primitives is present.
+ Because the backend is not built|-|in, the magnification (\tex {mag})
+ primitive is gone. A \tex {shipout} command just discards the content of the
+ given box. The write related primitives have to be implemented in the used
+ macro package using \LUA. None of the \PDFTEX\ derived primitives is present.
\stopitem
\startitem
@@ -209,7 +209,7 @@ features, but with a few small adaptations.
\stopitem
\startitem
- The \prm {readline} primitive has to be implemented in \LUA. This is a side
+ The \tex {readline} primitive has to be implemented in \LUA. This is a side
effect of delegating all file \IO.
\stopitem
@@ -237,27 +237,27 @@ don't expect \LUAMETATEX\ to be compatible.
\startitemize
\startitem
- The experimental primitives \lpr {ifabsnum} and \lpr {ifabsdim} have been
+ The experimental primitives \prm {ifabsnum} and \prm {ifabsdim} have been
promoted to core primitives.
\stopitem
\startitem
- The primitives \lpr {ifincsname}, \lpr {expanded} and \lpr {quitvmode}
+ The primitives \prm {ifincsname}, \prm {expanded} and \prm {quitvmode}
have become core primitives.
\stopitem
\startitem
As the hz (expansion) and protrusion mechanism are part of the core the
- related primitives \lpr {lpcode}, \lpr {rpcode}, \lpr {efcode}, \lpr
- {leftmarginkern}, \lpr {rightmarginkern} are promoted to core primitives. The
- two commands \lpr {protrudechars} and \lpr {adjustspacing} control these
+ related primitives \prm {lpcode}, \prm {rpcode}, \prm {efcode}, \prm
+ {leftmarginkern}, \prm {rightmarginkern} are promoted to core primitives. The
+ two commands \prm {protrudechars} and \prm {adjustspacing} control these
processes.
\stopitem
\startitem
In \LUAMETATEX\ three extra primitives can be used to overload the font
- specific settings: \lpr {adjustspacingstep} (max: 100), \lpr
- {adjustspacingstretch} (max: 1000) and \lpr {adjustspacingshrink} (max: 500).
+ specific settings: \prm {adjustspacingstep} (max: 100), \prm
+ {adjustspacingstretch} (max: 1000) and \prm {adjustspacingshrink} (max: 500).
\stopitem
\startitem
@@ -270,25 +270,25 @@ don't expect \LUAMETATEX\ to be compatible.
\stopitem
\startitem
- When \lpr {adjustspacing} has value~2, hz optimization will be applied to
+ When \prm {adjustspacing} has value~2, hz optimization will be applied to
glyphs and kerns. When the value is~3, only glyphs will be treated. A value
smaller than~2 disables this feature.
\stopitem
\startitem
- When \lpr {protrudechars} has a value larger than zero characters at the edge
+ When \prm {protrudechars} has a value larger than zero characters at the edge
of a line can be made to hang out. A value of~2 will take the protrusion into
account when breaking a paragraph into lines. A value of~3 will try to deal
with right|-|to|-|left rendering; this is a still experimental feature.
\stopitem
\startitem
- The pixel multiplier dimension \lpr {pxdimen} has be inherited as core
+ The pixel multiplier dimension \prm {pxdimen} has be inherited as core
primitive.
\stopitem
\startitem
- The primitive \lpr {tracingfonts} is now a core primitive but doesn't relate
+ The primitive \prm {tracingfonts} is now a core primitive but doesn't relate
to the backend.
\stopitem
@@ -382,13 +382,13 @@ The Program mostly applies!
\startsubsection[title=Sparse arrays]
The \prm {mathcode}, \prm {delcode}, \prm {catcode}, \prm {sfcode}, \prm {lccode}
-and \prm {uccode} (and the new \lpr {hjcode}) tables are now sparse arrays that
+and \prm {uccode} (and the new \prm {hjcode}) tables are now sparse arrays that
are implemented in~\CCODE. They are no longer part of the \TEX\ \quote
{equivalence table} and because each had 1.1 million entries with a few memory
words each, this makes a major difference in memory usage. Performance is not
really hurt by this.
-The \prm {catcode}, \prm {sfcode}, \prm {lccode}, \prm {uccode} and \lpr {hjcode}
+The \prm {catcode}, \prm {sfcode}, \prm {lccode}, \prm {uccode} and \prm {hjcode}
assignments don't show up when using the \ETEX\ tracing routines \prm
{tracingassigns} and \prm {tracingrestores} but we don't see that as a real
limitation. It also saves a lot of clutter.
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
index 189fe2173..a063de703 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
@@ -23,14 +23,6 @@ such a userdata object is represented as \syntax {<node>}.
\dontleavehmode {\bf The return values of \type {node.types} are:} \showtypes
\blank
-In \ETEX\ the \prm {lastnodetype} primitive has been introduced. With this
-primitive the valid range of numbers is still $[-1,15]$ and glyph nodes (formerly
-known as char nodes) have number~0. That way macro packages can use the same
-symbolic names as in traditional \ETEX. But you need to keep in mind that these
-\ETEX\ node numbers are different from the real internal ones. When you set \prm
-{internalcodesmode} to a non|-|zero value, the internal codes will be used in
-the \ETEX\ introspection commands \prm {lastnodetype} and \prm {currentiftype}.
-
You can ask for a list of fields with \type {node.fields} and for valid subtypes
with \type {node.subtypes}. The \type {node.values} function reports some used
values. Valid arguments are \type {glue}, \type {style} and \type {math}. Keep in
@@ -133,9 +125,10 @@ more sense.
\topicindex {nodes+rules}
\topicindex {rules}
-Contrary to traditional \TEX, \LUATEX\ has more \prm {rule} subtypes because we
-also use rules to store reuseable objects and images. User nodes are invisible
-and can be intercepted by a callback. The supported fields are \showfields {rule}.
+Contrary to traditional \TEX, \LUATEX\ has more \prm {hrule} and \prm {vrule}
+subtypes because we also use rules to store reuseable objects and images. User
+nodes are invisible and can be intercepted by a callback. The supported fields
+are \showfields {rule}.
\starttabulate[|l|l|p|]
\DB field \BC type \BC explanation \NC \NR
@@ -539,13 +532,13 @@ too much with this one. Valid fields are: \showfields {par}.
\DB field \BC type \BC explanation \NC \NR
\TB
\NC \type{attr} \NC node \NC list of attributes \NC \NR
-\NC \type{pen_inter} \NC number \NC local interline penalty (from \lpr {localinterlinepenalty}) \NC \NR
-\NC \type{pen_broken} \NC number \NC local broken penalty (from \lpr {localbrokenpenalty}) \NC \NR
+\NC \type{pen_inter} \NC number \NC local interline penalty (from \prm {localinterlinepenalty}) \NC \NR
+\NC \type{pen_broken} \NC number \NC local broken penalty (from \prm {localbrokenpenalty}) \NC \NR
\NC \type{dir} \NC string \NC the direction of this par. see~\in [dirnodes] \NC \NR
-\NC \type{box_left} \NC node \NC the \lpr {localleftbox} \NC \NR
-\NC \type{box_left_width} \NC number \NC width of the \lpr {localleftbox} \NC \NR
-\NC \type{box_right} \NC node \NC the \lpr {localrightbox} \NC \NR
-\NC \type{box_right_width} \NC number \NC width of the \lpr {localrightbox} \NC \NR
+\NC \type{box_left} \NC node \NC the \prm {localleftbox} \NC \NR
+\NC \type{box_left_width} \NC number \NC width of the \prm {localleftbox} \NC \NR
+\NC \type{box_right} \NC node \NC the \prm {localrightbox} \NC \NR
+\NC \type{box_right_width} \NC number \NC width of the \prm {localrightbox} \NC \NR
\LL
\stoptabulate
@@ -561,7 +554,7 @@ error may result.
\topicindex {directions}
Direction nodes mark parts of the running text that need a change of direction
-and the \prm {textdir} command generates them. Again this is a small node, we
+and the \prm {textdirection} command generates them. Again this is a small node, we
just have \showfields {dir}.
\starttabulate[|l|l|p|]
@@ -812,7 +805,7 @@ is correct, otherwise an error can be triggered.
\NC \type{sub} \NC kernel node \NC subscript \NC \NR
\NC \type{sup} \NC kernel node \NC superscript \NC \NR
\NC \type{left} \NC delimiter node \NC \NC \NR
-\NC \type{degree} \NC kernel node \NC only set by \lpr {Uroot} \NC \NR
+\NC \type{degree} \NC kernel node \NC only set by \prm {Uroot} \NC \NR
\NC \type{width} \NC number \NC required width \NC \NR
\NC \type{options} \NC number \NC bitset of rendering options \NC \NR
\LL
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-registers.tex b/doc/context/sources/general/manuals/luametatex/luametatex-registers.tex
index 060808176..931a57efe 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-registers.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-registers.tex
@@ -13,10 +13,11 @@
\startchapter[title=Primitives]
This register contains the primitives that are mentioned in the manual. There
- are of course many more primitives. The \LUATEX\ primitives are typeset in
- bold.
+ are of course many more primitives. The \ETEX\ and \LUATEX\ primitives are
+ typeset in bold (some originate in \PDFTEX).
- \placeregister[primitiveindex][indicator=no]
+% \placeregister[primitiveindex][indicator=no]
+ \placeregister[texindex,etexindex,luatexindex][indicator=no]
\stopchapter
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-style.tex b/doc/context/sources/general/manuals/luametatex/luametatex-style.tex
index 82ef694ae..e60b6977d 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-style.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-style.tex
@@ -431,19 +431,26 @@
\usemodule[abbreviations-logos]
\defineregister[topicindex]
+\defineregister[luatexindex]
+\defineregister[etexindex]
+\defineregister[texindex]
\defineregister[primitiveindex]
\defineregister[callbackindex]
\defineregister[nodeindex]
\defineregister[libraryindex]
-\protected\def\lpr#1{\doifmode{*bodypart}{\primitiveindex[#1]{\bf\tex {#1}}}\tex {#1}}
-\protected\def\prm#1{\doifmode{*bodypart}{\primitiveindex[#1]{\tex {#1}}}\tex {#1}}
-\protected\def\orm#1{\doifmode{*bodypart}{\primitiveindex[#1]{\tex {#1}}}\tex {#1}}
+\setupregister[etexindex] [textstyle=bold]
+\setupregister[luatexindex][textstyle=bold]
+
+%protected\def\lpr#1{\doifmode{*bodypart}{\primitiveindex[#1]{\bf\tex {#1}}}\tex {#1}}
+%protected\def\prm#1{\doifmode{*bodypart}{\primitiveindex[#1]{\tex {#1}}}\tex {#1}}
\protected\def\cbk#1{\doifmode{*bodypart}{\callbackindex [#1]{\type {#1}}}\type{#1}}
\protected\def\nod#1{\doifmode{*bodypart}{\nodeindex [#1]{\bf\type{#1}}}\type{#1}}
\protected\def\whs#1{\doifmode{*bodypart}{\nodeindex [#1]{\type {#1}}}\type{#1}}
\protected\def\noa#1{\doifmode{*bodypart}{\nodeindex [#1]{\type {#1}}}\type{#1}}
+\protected\def\prm#1{\doifmode{*bodypart}{\getvalue{\ctxlua{document.primitiveorigin("#1")}index}{\tex{#1}}}\tex{#1}}
+
\hyphenation{sub-nodes}
\def\currentlibraryindex{\namedstructureuservariable{section}{library}}
@@ -490,10 +497,27 @@
% video: interesting what comes out of top musicians working remote.
\startluacode
-local list = token.getprimitives()
+local list = token.getprimitives()
+local origins = tex.getprimitiveorigins()
+local hash = { }
+
+for i=1,#list do
+ local l = list[i]
+ hash[l[3]] = l
+end
-- redo this:
+function document.primitiveorigin(name)
+ local h = hash[name]
+ if h then
+ context(origins[h[4]])
+ else
+ logs.report("!!!!!!","unknown primitive %s",name)
+ context("tex")
+ end
+end
+
function document.showprimitives(tag)
local t = tex.extraprimitives(tag)
table.sort(t)
@@ -530,14 +554,15 @@ end
function document.allprimitives()
local c = tokens.commands
- local o = tex.getprimitiveorigins()
+ local o = origins
table.sort(list, function(a,b)
return a[3] < b[3]
end)
- context.starttabulate { "|T|T|Tc|T|" }
+ context.starttabulate { "|T|T|Tr|Tr|T|" }
context.DB() context("primitive")
- context.BC() context("command code")
- context.BC() context("char code")
+ context.BC() context("command name")
+ context.BC() context("cmd")
+ context.BC() context("chr")
context.BC() context("origin")
context.NC() context.NR()
context.TB()
@@ -545,6 +570,7 @@ function document.allprimitives()
local l = list[i]
context.NC() context.tex(l[3])
context.NC() context(c[l[1]])
+ context.NC() context(l[1])
context.NC() context(l[2])
context.NC() context(o[l[4]])
context.NC() context.NR()
@@ -555,3 +581,65 @@ end
\stopluacode
\stopenvironment
+
+% \startluacode
+%
+% local function identify(name, l)
+% local t = { }
+% local l = l or _G[name]
+% if type(l) == "table" then
+% for k, v in next, l do
+% print(k)
+% if string.find(k,"^_") then
+% elseif type(v) == "table" then
+% t[k] = identify(k,v)
+% else
+% t[k] = type(v)
+% end
+% end
+% else
+% print("unknown " .. name)
+% end
+% return t
+% end
+%
+% local builtin = {
+% --
+% md5 = identify("md5"),
+% sha2 = identify("sha2"),
+% basexx = identify("basexx"),
+% lfs = identify("lfs"),
+% fio = identify("fio"),
+% sio = identify("sio"),
+% sparse = identify("sparse"),
+% xzip = identify("xzip"),
+% xmath = identify("xmath") ,
+% xcomplex = identify("xcomplex"),
+% xdecimal = identify("xdecimal"),
+% --
+% socket = identify("socket"),
+% mime = identify("mime"),
+% --
+% lua = identify("lua"),
+% status = identify("status"),
+% texio = identify("texio"),
+% --
+% tex = identify("tex"),
+% token = identify("token"),
+% node = identify("node"),
+% callback = identify("callback"),
+% font = identify("font"),
+% language = identify("language"),
+% --
+% mplib = identify("mplib"),
+% --
+% pdfe = identify("pdfe"),
+% pdfdecode = identify("pdfdecode"),
+% pngdecode = identify("pngdecode"),
+% --
+% optional = identify("optional"),
+% };
+%
+% inspect(builtin)
+%
+% \stopluacode
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex b/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
index d7ccae6eb..b7b150560 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
@@ -249,7 +249,7 @@ Most variables speak for themselves, some are more obscure. For instance the
\DB n \NC meaning \NC explanation \NC \NR
\TB
\NC 0 \NC initializing \NC \type {--ini} mnode \NC \NR
-\NC 1 \NC updating \NC relates to \lpr {overloadmode} \NC \NR
+\NC 1 \NC updating \NC relates to \prm {overloadmode} \NC \NR
\NC 2 \NC production \NC a regular (format driven) run \NC \NR
\LL
\stoptabulate
@@ -442,7 +442,7 @@ provide a consistent \LUA\ interface.
\libindex{getmark}
-\TEX's attributes (\lpr {attribute}), counters (\prm {count}), dimensions (\prm
+\TEX's attributes (\prm {attribute}), counters (\prm {count}), dimensions (\prm
{dimen}), skips (\prm {skip}, \prm {muskip}) and token (\prm {toks}) registers
can be accessed and written to using two times five virtual sub|-|tables of the
\type {tex} table:
@@ -460,7 +460,7 @@ tex.toks
\stoptyping
\stopthreecolumns
-It is possible to use the names of relevant \lpr {attributedef}, \prm {countdef},
+It is possible to use the names of relevant \prm {attributedef}, \prm {countdef},
\prm {dimendef}, \prm {skipdef}, or \prm {toksdef} control sequences as indices
to these tables:
@@ -470,7 +470,7 @@ enormous = tex.dimen['maxdimen']
\stoptyping
In this case, \LUATEX\ looks up the value for you on the fly. You have to use a
-valid \prm {countdef} (or \lpr {attributedef}, or \prm {dimendef}, or \prm
+valid \prm {countdef} (or \prm {attributedef}, or \prm {dimendef}, or \prm
{skipdef}, or \prm {toksdef}), anything else will generate an error (the intent
is to eventually also allow \type {<chardef tokens>} and even macros that expand
into a number).
@@ -693,7 +693,7 @@ smallfam, smallchar, largefam, largechar =
\stopfunctioncall
Normally, the third and fourth values in a delimiter code assignment will be zero
-according to \lpr {Udelcode} usage, but the returned table can have values there
+according to \prm {Udelcode} usage, but the returned table can have values there
(if the delimiter code was set using \prm {delcode}, for example). Unset \type
{delcode}'s can be recognized because \type {dval[1]} is $-1$.
@@ -927,9 +927,9 @@ The known fields are:
for \prm {over} etc. \NC \NR
\NC \type{delimptr} \NC node \NC mmode \NC used for temporary storage of the previous math delimiter,
for \prm {middle} \NC \NR
-\NC \type{mathdir} \NC boolean \NC mmode \NC true when during math processing the \lpr {mathdir} is not
- the same as the surrounding \lpr {textdir} \NC \NR
-\NC \type{mathstyle} \NC number \NC mmode \NC the current \lpr {mathstyle} \NC \NR
+\NC \type{mathdir} \NC boolean \NC mmode \NC true when during math processing the \prm {mathdirection} is not
+ the same as the surrounding \prm {textdirection} \NC \NR
+\NC \type{mathstyle} \NC number \NC mmode \NC the current \prm {mathstyle} \NC \NR
\LL
\stoptabulate
@@ -970,7 +970,7 @@ table argument instead of a list of strings, this has to be a consecutive array
of strings to print (the first non-string value will stop the printing process).
The optional parameter can be used to print the strings using the catcode regime
-defined by \lpr {catcodetable}~\type {n}. If \type {n} is $-1$, the currently
+defined by \prm {catcodetable}~\type {n}. If \type {n} is $-1$, the currently
active catcode regime is used. If \type {n} is $-2$, the resulting catcodes are
the result of \prm {the} \prm {toks}: all category codes are 12 (other) except for
the space character, that has category code 10 (space). Otherwise, if \type {n}
@@ -1054,7 +1054,7 @@ tokenized into a token list but it has a reference to a real node. Normally this
goes fine. But now assume that you store the whole lot in a macro: in that case
the tokenized node can be flushed many times. But, after the first such flush the
node is used and its memory freed. You can prevent this by using copies which is
-controlled by setting \lpr {luacopyinputnodes} to a non|-|zero value. This is one
+controlled by setting \prm {luacopyinputnodes} to a non|-|zero value. This is one
of these fuzzy areas you have to live with if you really mess with these low
level issues.
@@ -1424,7 +1424,7 @@ tex.enableprimitives('LuaTeX', {'formatname'})
\stoptyping
will define \type {\LuaTeXformatname} with the same intrinsic meaning as the
-documented primitive \lpr {formatname}, provided that the control sequences \type
+documented primitive \prm {formatname}, provided that the control sequences \type
{\LuaTeXformatname} is currently undefined.
When \LUATEX\ is run with \type {--ini} only the \TEX82 primitives and \prm
@@ -2174,7 +2174,7 @@ set_lua("mycode",id,"global","protected")
This creates a token that refers to a \LUA\ function with an entry in the table
that you can access with \type {lua.getfunctions_table}. It is the companion
-to \lpr {luadef}. When the first (and only) argument is true the size will preset
+to \prm {luadef}. When the first (and only) argument is true the size will preset
to the value of \type {texconfig.function_size}.
The \type {pushmacro} and \type {popmacro} function are very experimental and
diff --git a/doc/context/sources/general/manuals/readme/mreadme.tex b/doc/context/sources/general/manuals/readme/mreadme.tex
index 950f4a64c..1bb185c74 100644
--- a/doc/context/sources/general/manuals/readme/mreadme.tex
+++ b/doc/context/sources/general/manuals/readme/mreadme.tex
@@ -1,4 +1,4 @@
-% interface=en language=uk
+% language=us runpath=texruns:manuals/readme
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
@@ -54,8 +54,8 @@
\startsubject[title={Introduction}]
-What licence suits best for a \TEX\ like system is a matter of taste. Personally
-we dislike any licence that needs more than a few pages of dense legal code to
+What license suits best for a \TEX\ like system is a matter of taste. Personally
+we dislike any license that needs more than a few pages of dense legal code to
get the message across. A \TEX\ related system like \CONTEXT\ is a hybrid of
programs, scripts and|/|or macro code as well as documentation and sample code,
including graphics. \TEX\ related systems also have a long standing tradition of
@@ -64,12 +64,12 @@ providing support structures for users. In order to make support feasible, a
way the related files are named and organized in a tree structure. Even a small
change in one of the elements may let such a system behave differently than
manuals suggest. Swap a font, change some style defaults, leave out some pieces,
-and users may end up in confusion. A licence does not give a user any guarantees!
+and users may end up in confusion. A license does not give a user any guarantees!
In order to satisfy those responsible for distributing \CONTEXT, we need to
-choose a licence that makes them feel comfortable. Unfortunately we don't feel
-that comfortable with a licence that does not provide the guarantees that a
-system will not be adapted in such ways that the advertised behaviour changes. On
+choose a license that makes them feel comfortable. Unfortunately we don't feel
+that comfortable with a license that does not provide the guarantees that a
+system will not be adapted in such ways that the advertised behavior changes. On
the other hand, it is the responsibility of those distributing and extending the
system to make sure that this does not happen. However, users should not
automatically assume that what they get shipped is the same as the original,
@@ -103,9 +103,9 @@ The documentation can be downloaded from our website or the Wiki. Some manuals
ship with source code. We might ship more source code but only when the source is
stable and clean and can serve as an example.
-That said, what licence does apply? We need to distinguish between things that
+That said, what license does apply? We need to distinguish between things that
resemble a program on the one hand and documentation on the other hand. We
-(currently) use a different licence for either of them.
+(currently) use a different license for either of them.
\stopsubject
@@ -118,8 +118,8 @@ distributed under the
\goto{Creative Commons GNU GPL}[url(gpl-simple)]
\stopnarrower
-For practical purposes distributers may also choose the \LATEX\ project licence,
-which is considered to be a bit more \TEX\ friendly. (BSD alike licences also
+For practical purposes distributors may also choose the \LATEX\ project license,
+which is considered to be a bit more \TEX\ friendly. (BSD alike licenses also
apply well for \CONTEXT.)
In practice, users may forget about the legal part, if only because I haven't
@@ -138,7 +138,7 @@ license, it grants to you the four following freedoms:
The freedom to study how the program works and adapt it to your needs.
\stopitem
\startitem
- The freedom to redistribute copies so you can help your neighbour.
+ The freedom to redistribute copies so you can help your neighbor.
\stopitem
\startitem
The freedom to improve the program and release your improvements to the
@@ -195,7 +195,7 @@ Here are a few recommendations in case you want to distribute, extend of embed
\stopitem
\startitem
- Put your own code in the right subpaths, i.e.\ modules approved by the
+ Put your own code in the right sub paths, i.e.\ modules approved by the
development team under \type {.../third}, and styles and whatever else under
\type {.../user}. This way your code will not interfere with existing code
and updating will give less problems. Keep in mind that \TEX\ systems have
@@ -245,7 +245,7 @@ Here are a few recommendations in case you want to distribute, extend of embed
\startsubject[title={Documents}]
-The documentation is provided under another Creative Commons licence:
+The documentation is provided under another Creative Commons license:
\startnarrower
\goto{Attribution ShareAlike}[url(bysa-simple)]
@@ -370,7 +370,7 @@ The developers can be met at:
\startsubject[title={Disclaimer}]
-To play safe we include a disclaimer here, taken from the BSD style licence. For
+To play safe we include a disclaimer here, taken from the BSD style license. For
some reason such a text is always in unreadable capitals, so \unknown
\start \txx \blue
@@ -386,8 +386,8 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\stop
-\unknown\ and don't bother discussing licence issues and related things with us
-for the mere sake of discussing licence stuff.
+\unknown\ and don't bother discussing license issues and related things with us
+for the mere sake of discussing license stuff.
\stopsubject
diff --git a/doc/context/sources/general/manuals/workflows/workflows-hashed.tex b/doc/context/sources/general/manuals/workflows/workflows-hashed.tex
index 85aa5d5f1..250376c45 100644
--- a/doc/context/sources/general/manuals/workflows/workflows-hashed.tex
+++ b/doc/context/sources/general/manuals/workflows/workflows-hashed.tex
@@ -11,14 +11,14 @@
In a (basically free content) project we had to deal with tens of thousands of
files. Most are in \XML\ format, but there are also thousands of \PNG, \JPG\ and
-\SVG images. In large project like this, which covers a large part of Dutch
+\SVG\ images. In a large project like this, which covers a large part of Dutch
school math, images can be shared. All the content is available for schools as
\HTML\ but can also be turned into printable form and because schools want to
have stable content over specified periods one has to make a regular snapshot of
-this corpus. Also, distributing a few gigabytes if data is not much fun.
+this corpus. Also, distributing a few gigabytes of data is not much fun.
So, in order to bring the amount down a dedicated mechanism for handling files
-has bene introduced. After playing with a \SQLITE\ database we finally settled on
+has been introduced. After playing with a \SQLITE\ database we finally settled on
just \LUA, simply because it was faster and it also makes the solution
independent.
@@ -53,7 +53,7 @@ return {
context --extra=hashed --database=m4 --patterns=m4all.lua
\stoptyping
-You should see something like on the console:
+You should see something like this on the console:
\starttyping
hashed > database 'hasheddata', 1627 paths, 46141 names,
@@ -106,7 +106,7 @@ a database first:
\registerhashedfiles[m4]
\stoptyping
-A fully qualified specifier looks like this (not to different from other
+A fully qualified specifier looks like this (not too different from other
specifiers):
\starttyping
@@ -152,8 +152,8 @@ and act upon the outcome:
}
\stoptyping
-Future version might introduce filename normalization (lowercase, cleanup) so
-consider this is first step. First we need test it for a while.
+Future versions might introduce filename normalization (lowercase, cleanup) so
+consider this as a first step. First we need test it for a while.
\stopchapter