From 65bc427dff7ea819abb9b38a0407026baf13a0cc Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 30 Aug 2021 17:21:31 +0200 Subject: 2021-08-30 16:23:00 --- .../context/2020/context-2020-concepts.pdf | Bin 156486 -> 114016 bytes .../context/2020/context-2020-concepts.tex | 75 ++++++++++++++++----- 2 files changed, 59 insertions(+), 16 deletions(-) (limited to 'doc/context/presentations') diff --git a/doc/context/presentations/context/2020/context-2020-concepts.pdf b/doc/context/presentations/context/2020/context-2020-concepts.pdf index 913db5ef3..ca6014f39 100644 Binary files a/doc/context/presentations/context/2020/context-2020-concepts.pdf and b/doc/context/presentations/context/2020/context-2020-concepts.pdf differ diff --git a/doc/context/presentations/context/2020/context-2020-concepts.tex b/doc/context/presentations/context/2020/context-2020-concepts.tex index a472a33f4..23bdba432 100644 --- a/doc/context/presentations/context/2020/context-2020-concepts.tex +++ b/doc/context/presentations/context/2020/context-2020-concepts.tex @@ -2,6 +2,11 @@ \usemodule[present-boring,abbreviations-logos] +% This was a talk about a preliminary mechanism so it has been adapted to run in +% the current version. I need to check other 2020 files and examples and will do +% that when I update (especially the low level) manuals. Let me know when there +% are issues. + \startdocument [title={CONCEPTS}, banner={experiments turned features}, @@ -110,6 +115,10 @@ $\whatevera a = (-2) \quad \whateverb a = (-2)$ \par \typebuffer \startpacked \getbuffer \stoppacked +{\em We can now also enable and disable specific features in the engine that +control traditional or \OPENTYPE\ approaches. This is only there for experimental +and educational purposes.} + \stoptitle \starttitle[title=Macros] @@ -163,6 +172,9 @@ Special behaviour: #3<-3 \stoptyping +{\em There are more specifiers and I admit that they are hard to remember. But +they are mostly used in low level macros anyway.} + \page Optional tokens (we also show some \TEX-expansion-horror here): @@ -184,6 +196,9 @@ Optional tokens (we also show some \TEX-expansion-horror here): or as tokens (\type{\showluatokens\doifelseinset}) on the next page: +{\em There are some expansion related extensions that are discussed in the low +level expansion manual.} + \page \starttyping @@ -248,7 +263,7 @@ As in: Hyphenation at work: -\startlinecorrection[line] +\startlinecorrection[line] \small \startcombination[distance=3cm,nx=6] {\vtop{\hsize 2mm \strut NEDERLANDS\vskip.5\lineheight}} {\type{NEDERLANDS}} {\vtop{\hsize 2mm \strut Nederlands\vskip.5\lineheight}} {\type{Nederlands}} @@ -360,6 +375,9 @@ nederlands\discretionary options 3 {!}{!}{!}nederlands At some point it will become \quote {frozen} functionality and that's when it gets documented (first we need to integrate and play a bit more with it in \CONTEXT). +{\em There is now a plugin mechanism that provides more control over language +specific hyphenation, e.g.\ compound words combined with ligatures.} + \stoptitle \starttitle[title=Local control] @@ -449,9 +467,12 @@ And a teaser: \starttyping \protected\def\widthofcontent#1{\beginlocalcontrol - \setbox\scratchbox\hbox{#1}\endlocalcontrol \wd\scratchbox} + \setbox\scratchbox\hbox{#1}\endlocalcontrol \wd\scratchbox} \stoptyping +{\em These mechanisms can have surprising side effects due to input stacking. +There is some more info in the low level expansion manual.} + \stoptitle \starttitle[title=Conditionals] @@ -544,6 +565,10 @@ v: \setbox0\hbox{uncopy \footnote{v: unhcopy}}\setbox2\vbox{\unhcopy0}\box2\par % \setprelistbox0\hbox{BEFORE} \setpostlistbox0\hbox{AFTER} % \box0 +{\em Everything insert related will always have side effects. It's complicated +by the fact that the page flow interferes with expectations of where notes +break cq.\ end up.} + \stoptitle \starttitle[title=Normalizing lines] @@ -559,16 +584,16 @@ We can have predictable lines: Standard (but already with left skips): \start - \bitwiseflip \normalizelinemode -\indentskipmodecode - \bitwiseflip \normalizelinemode -\normalizelinemodecode + \bitwiseflip \normalizelinemode -\parindentskipnormalizecode + \bitwiseflip \normalizelinemode -\normalizelinenormalizecode \showmakeup \relax \getbuffer \stop Normalized (enhanced, no shifts, indent skip): \start - \bitwiseflip \normalizelinemode \indentskipmodecode - \bitwiseflip \normalizelinemode \normalizelinemodecode + \bitwiseflip \normalizelinemode \parindentskipnormalizecode + \bitwiseflip \normalizelinemode \normalizelinenormalizecode \showmakeup \relax \getbuffer \stop @@ -583,36 +608,51 @@ Normalized (enhanced, no shifts, indent skip): Standard: \start - \bitwiseflip \normalizelinemode -\indentskipmodecode - \bitwiseflip \normalizelinemode -\normalizelinemodecode + \bitwiseflip \normalizelinemode -\parindentskipnormalizecode + \bitwiseflip \normalizelinemode -\normalizelinenormalizecode \showmakeup \relax \getbuffer \stop Normalized: \start - \bitwiseflip \normalizelinemode \indentskipmodecode - \bitwiseflip \normalizelinemode \normalizelinemodecode + \bitwiseflip \normalizelinemode \parindentskipnormalizecode + \bitwiseflip \normalizelinemode \normalizelinenormalizecode \showmakeup \relax \getbuffer \stop % {\showmakeup \getbuffer} +{\em There might be some more normalization in the future in other subsystems of +the engine. One should be aware of this when manipulating node lists after they +come out such subsystems.} + \stoptitle \starttitle[title=Freezing paragraph properties] -\startbuffer -\forgetparagraphfreezing \placefigure[left]{}{} {\bf Andrew Cuomo:} \input cuomo +\startbuffer[sample] +\startplacefigure[location=left,number=no] \externalfigure[halslegacy.jpg][width=30pt] \stopplacefigure + +{\bf David Stork:} \samplefile{stork} \stopbuffer -\typebuffer[style=\tt\small] \start \switchtobodyfont[8pt] \getbuffer \par \stop +\startbuffer[demo] +\forgetparagraphfreezing \getbuffer[sample] +\stopbuffer -\startbuffer -\setparagraphfreezing \placefigure[left]{}{} {\bf Andrew Cuomo:} \input cuomo +\typebuffer[demo][style=\tt\small] \start \switchtobodyfont[6pt] \getbuffer[demo] \par \stop + +\startbuffer[demo] +\setparagraphfreezing \getbuffer[sample] \stopbuffer -\typebuffer[style=\tt\small] \start \switchtobodyfont[8pt] \getbuffer \par \stop +\typebuffer[demo][style=\tt\small] \start \switchtobodyfont[6pt] \getbuffer[demo] \par \stop + +Sample: \typebuffer[sample][style=\tt\small\small] + +{\em This feature will stepwise be applied to mechanism and might have side effects when +users have their own hacks around \TEX's limitations (and side effects).} \stoptitle @@ -689,6 +729,9 @@ Example 2: \startcolumns \startpacked \getbuffer \stoppacked \stopcolumns +{\em These are just weird examples, but you can expect more interesting features to +show up. Beware of stacking because order matters.} + \stoptitle \stopdocument -- cgit v1.2.3