summaryrefslogtreecommitdiff
path: root/doc/context/sources/general/manuals/ontarget
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/sources/general/manuals/ontarget')
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget-contents.tex13
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex104
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget-style.tex68
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget-titlepage.tex73
-rw-r--r--doc/context/sources/general/manuals/ontarget/ontarget.tex19
5 files changed, 277 insertions, 0 deletions
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget-contents.tex b/doc/context/sources/general/manuals/ontarget/ontarget-contents.tex
new file mode 100644
index 000000000..f0a733b01
--- /dev/null
+++ b/doc/context/sources/general/manuals/ontarget/ontarget-contents.tex
@@ -0,0 +1,13 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-contents
+
+\environment ontarget-style
+
+\starttitle[title={Table of contents}]
+
+ \placelist[chapter]
+
+\stoptitle
+
+\stopcomponent
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex b/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex
new file mode 100644
index 000000000..f7ac0a19d
--- /dev/null
+++ b/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex
@@ -0,0 +1,104 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-introduction
+
+\environment ontarget-style
+
+\startchapter[title={Introduction}]
+
+This is the seventh wrapup of the \LUATEX\ and \LUAMETATEX\ development cycle. It
+is dedicated to all those users who kept up with developments and are always
+willing to test the new features. Without them a project like this would not be
+possible.
+
+At the time this introduction is written the \LUAMETATEX\ code base is rather
+stable and quite a bit of the \MKIV\ code base has been adapted to new situation.
+But, as usual, there are always new possibilities to explore, so I expect that
+this document will grow over time as did the others. I'm not going to repeat all
+that has been done because that's what the previous episodes are about.
+
+As the title suggest, we're still on target. When the \LUAMETATEX\ project
+started there actually was no deadline formulated so in fact we're always on
+target. The core components \TEX, \METAPOST, and \LUA\ are all long term efforts
+so we're in no hurry at all. However, this is the year that a fast pace will
+become a slow pace with respect to the \LUAMETATEX\ code base. There are still
+some things on the agenda but in principle the goals are reached. One problem in
+today's code development is that useability and quality seems to relate to the
+amount of changes in code. No update can mean old, unusable and uninteresting.
+It's probably why some sources get this silly yearly copyright year update.
+However, the update cycle of good old \TEX\ has an decade interval by now while
+it is still a pretty useable program. It would be nice to end up in such a long
+term cycle with \LUAMETATEX: bug fixes only.
+
+Although \CONTEXT\ has always adapted early to new developments (color, graphics,
+\PDF, \METAPOST, \ETEX, \PDFTEX, \LUATEX, \UTF, fonts) the effects on the
+\CONTEXT\ code base are mostly hidden for users. There have been some changes
+between \MKII\ and \MKIV, simply because there has been a shift from specific
+eight bit encodings to \UTF\ and \TYPEONE\ to \OPENTYPE\ fonts. Both had an
+impact on important subsystems: input encodings, font definitions and features,
+language and script support. On other subsystems the impact was hardly
+noticeable, like for instance backend related features (these have always been
+kind of abstract). That doesn't mean that these haven't changed deep down, they
+definitely have. Some mechanisms became better in \MKIV, simply because less
+hackery was needed. My experience is that when users see that it gets better or
+easier, they are also willing to adapt the few lines in their document source
+that benefit from it. Of course the impact on the \METAPOST\ integration in
+\CONTEXT\ had a real large impact, especially in terms of performance.
+
+The upgrade to \LMTX, the version of \CONTEXT\ for \LUAMETATEX, is even less
+visible although already some new mechanisms showed up. This time a couple of
+engine specific features have been improved and made more flexible. In fact, the
+whole code base of the engine has been overhauled. This happened stepwise because
+we had to make sure all things kept working. As a first step code was made
+independent of the compilation infrastructure and the dependencies, other than a
+very few small ones, have been removed. The result is a rather lean and mean
+setup, even when we consider what has been added at the primitive level and
+traditional subsystems. A benefit is that in the meantime the \LUAMETATEX\ \LMTX\
+combination outperforms \LUATEX\ with \MKIV, something that was not ensured when
+the built|-|in \PDF\ backend was removed and delegated to \LUA. By binding
+development closely to \CONTEXT\ we also hope that the code base stays clean of
+arbitrary extensions.
+
+Because in the end, \TEX\ is also a programming language, there have been
+extensions that make programming easier. There is already a stable middle layer
+of auxiliary macros in \CONTEXT\ that help the user who likes to program but
+doesn't like real low level primitives and dirty tricks, but by extending the
+primitive repertoire a bit users can now stay closer to the original \TEX\
+concepts. Adding more and more layers of indirectness makes no sense if we can
+improve the bottom programming layer. It also makes coding a bit more natural
+(the \TEX\ look), apart from offering performance benefits. This is where you can
+see differences between the \MKIV\ and \LMTX\ code base which for that reason is
+now nearly split completely. The \METAPOST\ subsystem has been extended with
+proper scanners so that we can enhance the interfaces in a natural way and as a
+result we also have an upgraded code base there. We also moved to \LUA 5.4 and
+will keep up as long as compatibility is no issue. Some \LUA\ code is likely to
+remain common between \MKIV\ and \LMTX, for instance font handling and helpers
+but we'll see where that ends.
+
+The \LUAMETATEX\ engine provides control over most internals and there are all
+kind of new interesting features. Decades of \CONTEXT\ development are behind
+that. Also, in the days that there were discussions about extending \TEX,
+\CONTEXT\ was not that much of influence and on the road to and from user group
+meetings, Taco and I often discussed what we'd like to see added (and some was
+actually implemented in \type {eetex} but that only lived on our machines. One
+can consider \LUATEX\ to be a follow up on that, and \LUAMETATEX\ in turn follows
+up on that project, which we both liked doing a lot. In some way \LUATEX\ lowered
+the boundary for implementing some of the more intrusive extensions in
+\LUAMETATEX\ and the follow up on \MPLIB. And once you start along that road
+small steps become large steps and one can as well be try to be as complete as
+possible. We've come a long way but eventually arrived at the destination.
+Personally I think we got there by not being in a hurry.
+
+But even targets that are reached can eventually move,
+
+\blank[2*big]
+
+\startlines
+Hans Hagen
+Hasselt NL
+August 2021\high{++}
+\stoplines
+
+\stopchapter
+
+\stopcomponent
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget-style.tex b/doc/context/sources/general/manuals/ontarget/ontarget-style.tex
new file mode 100644
index 000000000..eac3ffe31
--- /dev/null
+++ b/doc/context/sources/general/manuals/ontarget/ontarget-style.tex
@@ -0,0 +1,68 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startenvironment ontarget-style
+
+\usemodule[abbreviations-smallcaps]
+\usemodule[scite]
+
+\enableexperiments[fonts.compact]
+
+\logo [LUAMETATEX] {LuaMeta\TeXsuffix}
+
+\setupbodyfont[plex,10pt] % not that ok for titling
+
+\setuplayout
+ [width=middle,
+ height=middle,
+ header=0pt,
+ footer=1cm,
+ footerdistance=5mm,
+ backspace=2cm,
+ cutspace=15mm,
+ topspace=2cm,
+ bottomspace=1cm,
+ style=bold,
+ color=maincolor]
+
+\setuppagenumbering
+ [alternative=doublesided]
+
+\setupwhitespace
+ [big]
+
+\setupfootertexts
+ [][{\getmarking[chapter]\quad\pagenumber}]
+ [{\pagenumber\quad\getmarking[chapter]}][]
+
+\definecolor
+ [maincolor]
+ [darkred]
+
+\setuphead
+ [chapter]
+ [style=\bfc,
+ color=maincolor]
+
+\setuphead
+ [section]
+ [style=\bfa,
+ color=maincolor]
+
+\setuphead
+ [subsection]
+ [style=\bf,
+ color=maincolor]
+
+\setupalign
+ [tolerant,stretch]
+
+\setuptyping
+ [color=maincolor]
+
+\setuptype
+ [color=maincolor]
+
+\setupitemize
+ [color=maincolor]
+
+\stopenvironment
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget-titlepage.tex b/doc/context/sources/general/manuals/ontarget/ontarget-titlepage.tex
new file mode 100644
index 000000000..516955f7e
--- /dev/null
+++ b/doc/context/sources/general/manuals/ontarget/ontarget-titlepage.tex
@@ -0,0 +1,73 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-titlepage
+
+\environment ontarget-style
+
+\startMPpage[pagestate=stop]
+
+StartPage ;
+
+ picture p ; p := image (
+
+ numeric d ; d := 6.5 ;
+
+ path c ; c := fullcircle scaled 40 shifted (2,7) ;
+
+ path e ; e :=
+ (0,0) -- (3,0) --
+ (3,1) -- (1,1) --
+ (1,2) -- (3,2) --
+ (3,3) -- (1,3) --
+ (1,4) -- (3,4) --
+ (3,4) -- (3,4) --
+ (3,5) -- (0,5) -- cycle ;
+
+ path r ; r := ((0,0) -- (3,0) -- (3,5) -- (0,5)) -- reverse e -- cycle;
+
+ path q ; q := fullsquare xyscaled (3,60) shifted (3/2,0) ;
+
+ fill c withcolor "lightgray" ;
+
+ fill q withpen pencircle scaled 1/5 withcolor "white" ;
+
+ for i=-25 step 5 until 35 :
+ fill (if (i mod 10) = 0 : e else : r fi) shifted (0,i - d) withcolor "darkred" ;
+ endfor ;
+
+ draw q withpen pencircle scaled 1/5 withcolor "darkgray" ;
+
+ for i=-25 step 10 until 30 :
+ draw textext.lft("\tttf " & decimal ((i/10)+21.5)) ysized 3
+ shifted (9,19 + i-6.5 - d) withcolor "darkgray" ;
+ endfor ;
+
+ draw ((-25, 0) -- (25, 0)) shifted center c withpen pencircle scaled 2/10 withcolor "yellow" ;
+ draw (( 0,-25) -- ( 0,25)) shifted center c withpen pencircle scaled 2/10 withcolor "yellow" ;
+
+ clip currentpicture to c ;
+ draw c withpen pencircle scaled 4/10 withcolor "yellow" ;
+ ) ;
+
+ fill Page withcolor "darkred" ;
+
+ p := p shifted - center p ;
+
+ draw p scaled 6mm
+ shifted center Page
+ shifted (0mm,50mm) ;
+
+ draw image (draw textext ("\tt\bf on\thinspace target") xsized (16cm) withcolor "yellow")
+ shifted center bottomboundary Page
+ shifted (0mm,45mm) ;
+
+ draw image (draw textext ("\tttf luametatex & context lmtx") xsized (13cm) withcolor "yellow")
+ shifted center bottomboundary Page
+ shifted (0mm,20mm) ;
+
+StopPage ;
+
+\stopMPpage
+
+\stopcomponent
+
diff --git a/doc/context/sources/general/manuals/ontarget/ontarget.tex b/doc/context/sources/general/manuals/ontarget/ontarget.tex
new file mode 100644
index 000000000..c66318030
--- /dev/null
+++ b/doc/context/sources/general/manuals/ontarget/ontarget.tex
@@ -0,0 +1,19 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\environment ontarget-style
+
+\dontcomplain
+
+\startdocument
+
+ \component ontarget-titlepage
+
+ \startfrontmatter
+ \component ontarget-contents
+ \stopfrontmatter
+
+ \startbodymatter
+ \component ontarget-introduction
+ \stopbodymatter
+
+\stopdocument