From 83667a906d7cac842635bc5243db70f55b346562 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 26 Jan 2023 19:34:21 +0100 Subject: 2023-01-26 18:34:00 --- .../documents/general/manuals/luametatex.pdf | Bin 1463760 -> 1470739 bytes .../manuals/luametatex/luametatex-building.tex | 2 +- .../manuals/luametatex/luametatex-callbacks.tex | 2 +- .../manuals/luametatex/luametatex-enhancements.tex | 7 ++- .../manuals/luametatex/luametatex-fonts.tex | 2 +- .../general/manuals/luametatex/luametatex-math.tex | 52 +++++++++++++++------ .../manuals/luatex/luatex-modifications.tex | 20 ++++++++ 7 files changed, 68 insertions(+), 17 deletions(-) (limited to 'doc/context') diff --git a/doc/context/documents/general/manuals/luametatex.pdf b/doc/context/documents/general/manuals/luametatex.pdf index 76d2769db..a6c0d6c42 100644 Binary files a/doc/context/documents/general/manuals/luametatex.pdf and b/doc/context/documents/general/manuals/luametatex.pdf differ diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-building.tex b/doc/context/sources/general/manuals/luametatex/luametatex-building.tex index 9e09bce7c..4941a5929 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-building.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-building.tex @@ -719,7 +719,7 @@ depth of the box are taken into account when interline space is calculated. \topicindex {packing} These three primitives are the equivalents of \prm {hbox}, \prm {vbox}, \prm -{vtop} and \prm P{dbox} but they don't trigger the packaging related callbacks. +{vtop} and \prm {dbox} but they don't trigger the packaging related callbacks. Of course one never know if content needs a treatment so using them should be done with care. Apart from accepting more keywords (and therefore options) the normal box behave the same as before. diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex index 0469d0cc8..803b0427b 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex @@ -76,7 +76,7 @@ if callback.known("foo") then ... end \stopsection -\startsection[title={File related callbacks}][library=callback] +\startsection[title={File related callbacks},reference=iocallback][library=callback] \startsubsection[title={\cbk {find_format_file} and \cbk {find_log_file}}] diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex index 15682e036..b64bcd4bc 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex @@ -1149,7 +1149,7 @@ The \prm {beginsimplegroup} primitives signals that any end group command, excep \prm {endmathgroup} will wrap up the current group. The \prm {endsimplegroup} is sort of redundant but fits in anyway. -The also \LUAMETATEX\ specific \prm {mathbegingroup} and \prm {mathendgroup} +The also \LUAMETATEX\ specific \prm {beginmathgroup} and \prm {endmathgroup} commands are like \prm {begingroup} and \prm {endgroup} but restore the mathstyle when it has been changed in the group. @@ -1327,6 +1327,11 @@ or more than zero. The last checked values are available in \prm {lastchknum} and \prm {lastchkdim}. These don't obey grouping. +The two primitives \prm {ifchkdimension} and \prm {ifchknumber} are like \prm +{ifchkdimen} and \prm {ifchknum}but are more rigorous: the short ones quit +scanning at a match where after the match there can be anything, while the long +variants don't accept following crap. + \stopsubsection \startsubsection[title={\prm {ifmathstyle} and \prm {ifmathparameter}}] diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex index 64eb06bc9..b4e692545 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex @@ -854,7 +854,7 @@ instance content moved into the margin: \topicindex {glyphs + properties} -The \prm {fontcharwd}, \prm {fontcharht}, \prm {fontchardp} and \prm {fontcharit} +The \prm {fontcharwd}, \prm {fontcharht}, \prm {fontchardp} and \prm {fontcharic} give access to character properties. To this repertoire \LUAMETATEX\ adds the top accent accessor \prm {fontcharta} which came in handy for tracing. You pass a font reference and character code. Normally only \OPENTYPE\ math fonts have this diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex index 37926c8ab..1da49b455 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-math.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-math.tex @@ -830,8 +830,8 @@ $\Ustack {a \over b}$ \stoptyping The \prm {Ustack} command will scan the next brace and start a new math group -with the correct (numerator) math style. The \prm {ustackstyle} relates to this -feature. +with the correct (numerator) math style. The \prm {mathstackstyle} primitive +relates to this feature. \stopsubsection @@ -1040,6 +1040,8 @@ undefined will get presets, quite likely zero): \NC \prm {Umathflattenedaccentbottomshiftdown} \NC the amount that a wide bottom accent is shifted down \NC \NR \NC \prm {Umathdelimiterpercent} \NC \NC \NR \NC \prm {Umathdelimitershortfall} \NC \NC \NR +\NC \prm {Umathradicalextensiblebefore} \NC \NC \NR +\NC \prm {Umathradicalextensibleafter} \NC \NC \NR \stoptabulate These relate to the font parameters and in \CONTEXT\ we assign some different @@ -1557,16 +1559,17 @@ The original \TEX\ engine has primitives like \prm {mathord} and a limited set o possible atoms. In \LUAMETATEX\ we have many more built in and you can add more. It will take a while before we have documented all the new math features and more details can be found in the manuals that come with \CONTEXT\ for which all this -was implemented. In addition to \prm {mathord}, \prm {mathop}, \prm {mathbin}, -\prm {mathrel}, \prm {mathopen}, \prm {mathclose}, \prm {mathpunct} and \prm -{mathinner} we have \prm {mathfrac}, \prm {mathrad}, \prm {mathmiddle}, \prm -{mathaccent}, \prm {mathfenced}. \prm {mathghost} and the existing \prm -{underline} and \prm {overline} class driven atoms. +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. The \prm {mathatom} primitive is the generic one and it accepts a couple of keywords: -\starttabulate[|cT|l|] +\starttabulate[|lT|l|l|] \DB keyword \BC argument \NC meaning \NC \NR \TB \NC attr \NC int int \NC attributes to be applied to this atom \NC \NR @@ -1842,7 +1845,7 @@ supports two delimiters. \topicindex {math+radicals} \topicindex {math+delimiters} -This new primitive is like \prm {Rooted} in that it takes two delimiters but it +This new primitive is like \prm {Urooted} in that it takes two delimiters but it takes no degree and no rule is drawn. \starttyping @@ -2264,7 +2267,16 @@ get the length of the last line, the following will often work too: \stopsection -\startsection[title={Math mode}] +\startsection[title={Math mode and scripts}] + +\startsubsection[title={Entering and leaving math mode with \prm {Ustartmathmode} +and \prm {Ustopmathmode}}] + +These commands are variants on the single and double (usually) dollar signs that +make us enter math mode and later leave it. The start command expects a style +identifier that determines in what style we end up in. + +\stopsubsection \startsubsection[title={Verbose versions of single|-|character math commands like \prm {Usuperscript} and \prm {Usubscript}}] @@ -2528,6 +2540,17 @@ Watch how the spacing changes: \getbuffer \stoplines +The \TEX\ engines deal with active characters in math differently as in text. +When a character has class~8 it will be fed back into the machinery with an +active catcode which of course assumes that there is some meaning attached. + +A variant on this is the use of \prm {amcode}. A character that has that code set +and that is active when we are in math mode, will be fed back with that code as +catcode which can be one of alignment tab, superscript, subscript, letter, other +char, or active. This feature is still experimental. Watch out: when an already +active character remains active we get a loop. Also, math characters are checked +for this property too, which can then turn them active. + \stopsubsection \startsubsection[title={Checking class states}] @@ -2768,10 +2791,12 @@ probably more qualifies as a feature specific for that usage. \DB value \BC meaning \NC \NR \TB \NC 0x01 \NC obey stretch component \NC \NR -\NC 0x02 \NC obey shrink component \NC \NR +\NC 0x02 \NC obey shrink component \NC \NR \LL \stoptabulate +\stopsubsection + \stopsection \startsection[title={Experiments}] @@ -2894,8 +2919,6 @@ You'll notice that we apply more severe penalties at the edges: \stopsubsection -\stopsection - \startsubsection[title={\prm {Umathdiscretionary} and \prm {hmcode}}] \topicindex {math+discretionaries} @@ -2928,6 +2951,9 @@ So we can say: \stoptyping When the \type {italic} bit is set italic correction is kept at a linebreak. +\stopsubsection + +\stopsection \stopchapter diff --git a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex index a8247c1de..d4fc437e6 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex @@ -1407,6 +1407,26 @@ incompatible. We already expose some more details. \stopsubsection +\startsubsection[title=Hyperlinks] + +\topicindex {hyperlinks} + +There is an experimental feature that makes multi|-|line hyper links behave a +little better, fixing some side effects that showed up in r2l typesetting but +also can surface in l2r. Because this got unnoticed till 2023, and because it +depends bit on how macro packages deal with hyper links, the fix is currently +under parameter control: + +\starttyping +\pdfvariable linking = 1 +\stoptyping + +That way (we hope) legacy documents come out as expected, whatever those +expectations are. One of the aspects dealt with concerns (unusual) left and right +skips. + +\stopsubsection + \stopsection \stopchapter -- cgit v1.2.3