summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2023-02-06 19:14:14 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2023-02-06 19:14:14 +0100
commit0d0874ba797ee44f9fa53ed0fe95d7a863bf2f1b (patch)
treeea9c82877dd7a14db92e964277551370ecc156cb /doc
parent83667a906d7cac842635bc5243db70f55b346562 (diff)
downloadcontext-0d0874ba797ee44f9fa53ed0fe95d7a863bf2f1b.tar.gz
2023-02-06 17:57:00
Diffstat (limited to 'doc')
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-building.tex28
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex25
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-math.tex7
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-tex.tex4
4 files changed, 55 insertions, 9 deletions
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-building.tex b/doc/context/sources/general/manuals/luametatex/luametatex-building.tex
index 4941a5929..ca09c53f9 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-building.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-building.tex
@@ -368,7 +368,8 @@ the acceptable range is from 0 to 65535.
\stopsubsection
-\startsubsection[title={\prm {hrule}, \prm {vrule}, \prm {srule}, \prm {nohrule} and \prm {novrule}}]
+\startsubsection[title={\prm {hrule}, \prm {vrule}, \prm {srule}, \prm {nohrule}, \prm {novrule},
+\prm {virtualhrule} and \prm {virtualvrule}}]
\topicindex {rules}
@@ -473,7 +474,22 @@ combination. This is especially important in math mode where then can adapt to
\stoplines
Because this kind of rules has a dedicated subtype you can intercept it in the backend
-if needed.
+if needed. The two virtual variants are special in the way that they are like normal
+rules but take no space. Can you figure out how to get this?
+
+\startlinecorrection[blank]
+\dontleavehmode \hbox{%
+ \hbox{\green before}%
+ {\darkblue \virtualvrule width 40pt height -2pt depth 4pt xoffset -20pt\relax}%
+ \hbox{\red after}%
+}
+\stoplinecorrection
+
+% \vskip5pt
+
+% \ruledvbox{\ruledhbox to 10pt{\green x}
+% \virtualhrule width 10pt height 2pt depth 2pt yoffset -2pt \relax
+% \ruledhbox to 10pt{\red x}}
\stopsubsection
@@ -604,6 +620,14 @@ Adapting will recalculate the dimensions with a scale factor for the glue:
\stopsubsection
+\startsubsection[title={\prm {boxvadjust}}]
+
+This primitive binds a \prm {vadjust} to a box and therefore also accepts the
+\type {pre} and \type {post} keywords which means that you can prepend and append
+as the box itself gets flushed.
+
+\stopsubsection
+
\startsubsection[title={Overshooting dimensions}]
\topicindex {boxes+overfull}
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
index b64bcd4bc..13bc3a3e3 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
@@ -969,8 +969,8 @@ An \prm {expandedafter} primitive is also provided as an variant on \prm
\stopsubsection
-\startsubsection[title={\prm {semiprotected}, \prm {semiexpanded}, \prm {expand} and
-\prm {semiexpand}}]
+\startsubsection[title={\prm {semiprotected}, \prm {semiexpanded}, \prm {expand},
+\prm {semiexpand} and \prm {expandactive}}]
These primitives can best be explained with a few examples. The semi boils down to
a bit more controlled usage of \prm {protected} macros.
@@ -1013,6 +1013,23 @@ I admit that is not yet applied much in \CONTEXT\ as we have no real need for it
and I implemented it more out for nostalgic reasons: the kind of selective
protect mechanism we have in \MKII.
+Assuming that \type {~} is made active:
+
+\starttyping
+\protected\def~{!}
+
+\edef\xxxx{~}
+\edef\xxxx{\expandactive~}
+\stoptyping
+
+In both cases the meaning will show \type {~} so it's kind of subtle because in reality
+they have the following internal representation:
+
+\starttyping
+active char 126
+protected call ~
+\stoptyping
+
\stopsubsection
\startsubsection[title={Going ahead with \prm {expandafterpars} and \prm {expandafterspaces}}]
@@ -1926,6 +1943,10 @@ This is slightly more efficient than constructing the string twice (deep down in
\LUATEX\ this also involves some \UTF8 juggling), but probably more relevant is
that it saves a few tokens and can make code a bit more readable.
+Active characters are stored in the hash with a special prefix sequence prepended
+to the character: \prm {csactive} or the never used \UTF\ representation of \type
+{U+FFFF}.
+
\stopsubsection
\startsubsection[title={\prm {futuredef} and \prm {futurecsname}}]
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
index 1da49b455..61ec42ec3 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
@@ -1562,9 +1562,10 @@ details can be found in the manuals that come with \CONTEXT\ for which all this
was implemented. In addition to \prm {mathordinary} (aka \prm {mathord}), \prm
{mathoperator} (aka \prm {mathop}), \prm {mathbinary} (aka \prm {mathbin}), \prm
{mathrelation} (aka \prm {mathrel}), \prm {mathopen}, \prm {mathclose}, \prm
-{mathpunct} and \prm {mathinner} we have \prm {mathfraction}, \prm {mathradical},
-\prm {mathmiddle}, \prm {mathaccent}, \prm {mathfenced}. \prm {mathghost} and the
-existing \prm {underline} and \prm {overline} class driven atoms.
+{mathpunctuation} (aka {mathpunct}) and \prm {mathinner} we have \prm
+{mathfraction}, \prm {mathradical}, \prm {mathmiddle}, \prm {mathaccent}, \prm
+{mathfenced}, \prm {mathghost} and the existing \prm {mathunderline} (aka \prm
+{underline}) and \prm {mathoverline} (aka \prm {overline}) class driven atoms.
The \prm {mathatom} primitive is the generic one and it accepts a couple of
keywords:
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex b/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
index 837cc6e01..67661fe76 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-tex.tex
@@ -1179,8 +1179,8 @@ tex.print(tex.romannumeral(123))
The first one returns the name only, the second one reports the size too.
\startfunctioncall
-tex.print(tex.fontname(tex.fontname))
-tex.print(tex.fontname(tex.fontidentidier))
+tex.print(tex.fontname(1))
+tex.print(tex.fontidentifier(1))
\stopfunctioncall
\subsubsection{\type {sp}}