diff options
Diffstat (limited to 'doc')
16 files changed, 566 insertions, 468 deletions
diff --git a/doc/context/documents/general/manuals/workflows-mkiv.pdf b/doc/context/documents/general/manuals/workflows-mkiv.pdf Binary files differindex 1e5f3f287..2c3f169ba 100644 --- a/doc/context/documents/general/manuals/workflows-mkiv.pdf +++ b/doc/context/documents/general/manuals/workflows-mkiv.pdf 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 |