summaryrefslogtreecommitdiff
path: root/doc/context/sources/general/manuals/columnsets
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/sources/general/manuals/columnsets')
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-000.tex63
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-001.tex17
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-002.tex17
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-003.tex35
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-004.tex32
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-005.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-006.tex35
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-007.tex43
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-101.tex30
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-102.tex36
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-103.tex37
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-201.tex31
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-202.tex32
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-203.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-204.tex41
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-205.tex42
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-206.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-301.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-401.tex26
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-402.tex24
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-403.tex23
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-404.tex34
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-405.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-601.tex29
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-701.tex23
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-702.tex27
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-703.tex34
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-704.tex69
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-801.tex19
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-802.tex22
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-803.tex26
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-804.tex26
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-805.tex26
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-806.tex26
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-901.tex38
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-902.tex38
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-903.tex41
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets.tex886
38 files changed, 2073 insertions, 0 deletions
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-000.tex b/doc/context/sources/general/manuals/columnsets/columnsets-000.tex
new file mode 100644
index 000000000..429a067de
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-000.tex
@@ -0,0 +1,63 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\usemodule[visual]
+\usemodule[simulate]
+
+\dontcomplain
+
+\startenvironment columnsets-000
+
+\useMPlibrary[dum]
+
+\setupbodyfont
+ [palatino]
+
+\setuplayout
+ [grid=yes]
+
+\setuplayout
+ [backspace=20mm,
+ cutspace=15mm,
+ width=middle,
+ height=middle]
+
+\setupsystem
+ [random=1234]
+
+\setuppagenumbering
+ [alternative=doublesided,
+ location=]
+
+\setupheadertexts
+ [pagenumber][right]
+ [left][pagenumber]
+
+\setupfootertexts
+ [\inputfilename]
+
+\setupfooter
+ [style=\tttf]
+
+\setuptolerance
+ [verytolerant,stretch]
+
+\definecolor[color-1][.5(red,green)]
+\definecolor[color-2][.5(green,blue)]
+\definecolor[color-3][.5(blue,red)]
+\definecolor[color-4][.5(white,black)]
+\definecolor[color-5][.5(white,color-4)]
+
+\startuniqueMPgraphic{frame}
+ fill OverlayBox withcolor \MPcolor{color-1} ;
+\stopuniqueMPgraphic
+
+\startuniqueMPgraphic{contrast}
+ fill OverlayBox withcolor \MPcolor{color-3} ;
+\stopuniqueMPgraphic
+
+\defineoverlay[frame] [\uniqueMPgraphic{frame}]
+\defineoverlay[contrast][\uniqueMPgraphic{contrast}]
+
+\stopenvironment
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-001.tex b/doc/context/sources/general/manuals/columnsets/columnsets-001.tex
new file mode 100644
index 000000000..689f4e044
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-001.tex
@@ -0,0 +1,17 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=2]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{20}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-002.tex b/doc/context/sources/general/manuals/columnsets/columnsets-002.tex
new file mode 100644
index 000000000..a67dd3161
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-002.tex
@@ -0,0 +1,17 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][nleft=3,nright=2,width=5cm]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{15}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-003.tex b/doc/context/sources/general/manuals/columnsets/columnsets-003.tex
new file mode 100644
index 000000000..eed0286f8
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-003.tex
@@ -0,0 +1,35 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=2,page=left]
+
+\setupbackgrounds[text][background=color,backgroundcolor=color-1]
+
+\setupcolumnsetstart[example][1][1][2]
+\setupcolumnsetstart[example][1][2][4]
+\setupcolumnsetstart[example][2][1][6]
+\setupcolumnsetstart[example][2][2][6]
+\setupcolumnsetstart[example][3][1][4]
+\setupcolumnsetstart[example][3][2][2]
+
+\setupcolumnsetlines[example][1][1][-2]
+\setupcolumnsetlines[example][1][2][-4]
+\setupcolumnsetlines[example][2][1][-6]
+\setupcolumnsetlines[example][2][2][-6]
+\setupcolumnsetlines[example][3][1][-4]
+\setupcolumnsetlines[example][3][2][-2]
+\setupcolumnsetlines[example][4][1][4]
+\setupcolumnsetlines[example][4][2][10]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{20}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-004.tex b/doc/context/sources/general/manuals/columnsets/columnsets-004.tex
new file mode 100644
index 000000000..a58ddf621
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-004.tex
@@ -0,0 +1,32 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left]
+
+\definecolor[fakerulecolor]
+
+\definecolumnsetspan[wide] [n=2,background=contrast,color=white]
+\definecolumnsetspan[wider][n=4,background=contrast,color=white]
+
+\starttext
+
+\startcolumnset[example]
+
+ \startcolumnsetspan[wider]
+ wider: \dorecurse{2}{#1: \fakewords{25}{50}\par}
+ \stopcolumnsetspan
+
+ inbetween: \fakewords{25}{50}\par
+
+ \startcolumnsetspan[wide]
+ wide : \dorecurse{2}{#1: \fakewords{25}{50}\par}
+ \stopcolumnsetspan
+
+ after: \dorecurse{15}{#1: \fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-005.tex b/doc/context/sources/general/manuals/columnsets/columnsets-005.tex
new file mode 100644
index 000000000..f1d970d9e
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-005.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left]
+
+\definecolumnsetspan[wide][n=2,background=contrast,color=white]
+
+\definecolor[fakerulecolor]
+
+\starttext
+
+\startcolumnset[example]
+
+ \startcolumnsetspan[wide][default=btlr]
+
+ \startsimplecolumns
+ \dorecurse{2}{\fakewords{25}{40}\par}
+ \stopsimplecolumns
+
+ \stopcolumnsetspan
+
+ \dorecurse{15}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-006.tex b/doc/context/sources/general/manuals/columnsets/columnsets-006.tex
new file mode 100644
index 000000000..033619970
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-006.tex
@@ -0,0 +1,35 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left]
+
+\definecolor[fakerulecolor]
+
+\definecolumnsetspan[wide][n=2,background=contrast,color=white]
+
+\starttext
+
+\startcolumnset[example]
+
+ \startcolumnsetspan[wide]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \fakewords{25}{50}
+
+ \startcolumnsetspan[wide]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \startcolumnsetspan[wide][default=btrl]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \dorecurse{15}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-007.tex b/doc/context/sources/general/manuals/columnsets/columnsets-007.tex
new file mode 100644
index 000000000..137a414d9
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-007.tex
@@ -0,0 +1,43 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left]
+
+\definecolor[fakerulecolor]
+
+\definecolumnsetspan[wide][n=2,background=contrast,color=white]
+
+\starttext
+
+\startbuffer
+
+ \startcolumnsetspan[wide]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \fakewords{25}{50}
+
+ \startcolumnsetspan[wide]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \startcolumnsetspan[wide][default=btrl]
+ \fakewords{25}{50}
+ \stopcolumnsetspan
+
+ \dorecurse{3}{\fakewords{100}{200}\par}
+
+\stopbuffer
+
+\startcolumnset[example]
+
+ \dorecurse{4}{\getbuffer}
+
+ \dorecurse{5}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-101.tex b/doc/context/sources/general/manuals/columnsets/columnsets-101.tex
new file mode 100644
index 000000000..f9c7b59cb
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-101.tex
@@ -0,0 +1,30 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\starttext
+
+\startbuffer
+\fakewords{100}{200}
+\placefigure
+ {}
+ {\externalfigure[placeholder][width=\columnsetspanwidth{1}]}
+\fakewords{100}{200}
+\placefigure
+ {}
+ {\externalfigure[placeholder][width=\columnsetspanwidth{2}]}
+\fakewords{100}{200}
+\stopbuffer
+
+\startcolumnset[example]
+
+ \dorecurse {5}{\getbuffer}
+ \dorecurse{10}{\fakewords{100}{200}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-102.tex b/doc/context/sources/general/manuals/columnsets/columnsets-102.tex
new file mode 100644
index 000000000..3cf4dcd0e
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-102.tex
@@ -0,0 +1,36 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\starttext
+
+\startbuffer
+\placefigure [tbrl]
+ {tblr}
+ {\externalfigure[fake][width=\columnsetspanwidth{1},lines=5]}
+\placefigure [fxtb:6*4]
+ {fxtb}
+ {\externalfigure[fake][width=\columnsetspanwidth{2},lines=5]}
+\placefigure [btlr]
+ {btlr}
+ {\externalfigure[fake][width=\columnsetspanwidth{2},lines=5]}
+\placefigure [btlr]
+ {btlr}
+ {\externalfigure[fake][width=\columnsetspanwidth{3},lines=5]}
+
+\dorecurse {5} {
+ \fakewords{100}{200}\par
+}
+\stopbuffer
+
+\startcolumnset[example]
+
+ \dorecurse{6}{\getbuffer}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-103.tex b/doc/context/sources/general/manuals/columnsets/columnsets-103.tex
new file mode 100644
index 000000000..f1d4dbedc
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-103.tex
@@ -0,0 +1,37 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\starttext
+
+\startcolumnset[example]
+
+\useexternalfigure[fake][fake][width=\textwidth,lines=3]
+
+\placefigure[btlr]{brlr}{\externalfigure[fake]}
+\placefigure[btlr]{brlr}{\externalfigure[fake]}
+\placefigure[btrl]{btrl}{\externalfigure[fake]}
+\placefigure[btrl]{btrl}{\externalfigure[fake]}
+\placefigure[tblr]{tblr}{\externalfigure[fake]}
+\placefigure[tblr]{tblr}{\externalfigure[fake]}
+\placefigure[tbrl]{tbrl}{\externalfigure[fake]}
+\placefigure[tbrl]{tbrl}{\externalfigure[fake]}
+
+\placefigure[lrbt]{lrbt}{\externalfigure[fake]}
+\placefigure[lrbt]{lrbt}{\externalfigure[fake]}
+\placefigure[lrtb]{lrtb}{\externalfigure[fake]}
+\placefigure[lrtb]{lrtb}{\externalfigure[fake]}
+\placefigure[rlbt]{rlbt}{\externalfigure[fake]}
+\placefigure[rlbt]{rlbt}{\externalfigure[fake]}
+\placefigure[rltb]{rltb}{\externalfigure[fake]}
+\placefigure[rltb]{rltb}{\externalfigure[fake]}
+
+\dorecurse{10}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-201.tex b/doc/context/sources/general/manuals/columnsets/columnsets-201.tex
new file mode 100644
index 000000000..37b26c391
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-201.tex
@@ -0,0 +1,31 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [one]
+ [type=both,
+ x=1,y=1,nx=2,ny=6,
+ background=contrast,
+ state=repeat]
+
+\definecolumnsetarea
+ [two]
+ [type=both,
+ x=4,y=10,nx=1,ny=6,
+ background=contrast,
+ state=repeat]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{40}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-202.tex b/doc/context/sources/general/manuals/columnsets/columnsets-202.tex
new file mode 100644
index 000000000..1721d9cbc
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-202.tex
@@ -0,0 +1,32 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [one][left]
+ [x=1,y=1,nx=2,ny=6,
+ background=contrast,state=repeat]
+
+\definecolumnsetarea
+ [two][right]
+ [x=3,y=1,nx=2,ny=6,
+ background=contrast,state=repeat]
+
+\definecolumnsetarea
+ [three][both]
+ [x=2,y=10,nx=2,ny=6,
+ background=contrast,state=repeat]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-203.tex b/doc/context/sources/general/manuals/columnsets/columnsets-203.tex
new file mode 100644
index 000000000..6c15578bc
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-203.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [one]% [left]
+ [x=1,y=1,nx=6,ny=6,
+ background=contrast,state=start]
+
+\definecolumnsetarea
+ [two]%[left]
+ [x=3,y=10,nx=4,ny=6,
+ background=contrast,state=start]
+
+\stopsetups
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{25}{\fakewords{50}{100}}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-204.tex b/doc/context/sources/general/manuals/columnsets/columnsets-204.tex
new file mode 100644
index 000000000..d390f468e
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-204.tex
@@ -0,0 +1,41 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\usemodule[oldfun]
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [title]
+ [x=1,y=1,nx=8,ny=8,
+ background=contrast,
+ color=white,
+ align={lohi,right},
+ state=start]
+
+\setupcolumnsetareatext
+ [title]
+ [\setups{the title}]
+
+\startsetups[the title]
+
+ \GapText
+ {\dimexpr\makeupwidth+\backspace\relax}
+ {6pt}
+ {RegularBold*default} {sa 4}
+ {A Title Spanni\+ng 2 Pages}
+
+\stopsetups
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-205.tex b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex
new file mode 100644
index 000000000..b53709770
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex
@@ -0,0 +1,42 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\usemodule[oldfun]
+
+\environment columnsets-000
+
+\unprotected \def\SpreadGapText#1#2{{\def\+{\blackrule[\c!width=#1]}#2}}
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [title]
+ [x=1,y=1,nx=8,ny=8,
+ background=contrast,
+ color=white,
+ align={lohi,right},
+ state=start]
+
+\setupcolumnsetareatext
+ [title]
+ [\setups{the title}]
+
+\startsetups[the title]
+
+ \GapText
+ {\dimexpr(\makeupwidth+\backspace)} {6pt}
+ {RegularBold} {sa 4}
+ {A Title Spanni\+ng 2 Pages}
+
+\stopsetups
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-206.tex b/doc/context/sources/general/manuals/columnsets/columnsets-206.tex
new file mode 100644
index 000000000..8b9f524b1
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-206.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [first]
+ [x=2,y=4,nx=2,ny=8,
+ background=contrast,
+ state=start]
+
+\definecolumnsetarea
+ [second]
+ [x=1,y=20,nx=1,ny=3,
+ background=contrast,
+ state=start]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{50}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-301.tex b/doc/context/sources/general/manuals/columnsets/columnsets-301.tex
new file mode 100644
index 000000000..4d21f2b02
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-301.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4]
+
+\starttext
+
+\startcolumnset[example]
+
+ 1: \fakewords{50}{75} \column
+ 2: [] \fakewords{50}{75} \column[yes]
+ 3: [yes] \fakewords{50}{75} \column[page]
+ \column[page] % redundant
+ 4: [page] \fakewords{50}{75} \column[3]
+ 5: [3] \fakewords{50}{75} \column[4]
+ 6: [4] \fakewords{50}{75} \column[first]
+ 7: [first] \fakewords{50}{75} \column[last]
+ 8: [last] \fakewords{50}{75} \page
+ 9: (page) \fakewords{50}{75} \page
+ \page % redundant
+ 10: (page) \fakewords{50}{75} \column[3*5]
+ 11: [3*5] \fakewords{50}{75}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-401.tex b/doc/context/sources/general/manuals/columnsets/columnsets-401.tex
new file mode 100644
index 000000000..ee91e608c
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-401.tex
@@ -0,0 +1,26 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\definecolor[fakerulecolor][white]
+
+\setupcolumnset[example:2][distance=36pt]
+\setupcolumnset[example:3][distance=72pt]
+\setupcolumnset[example:4][distance=24pt]
+\setupcolumnset[example:5][distance=48pt]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{25}{\fakewords{100}{150}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-402.tex b/doc/context/sources/general/manuals/columnsets/columnsets-402.tex
new file mode 100644
index 000000000..00db6017c
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-402.tex
@@ -0,0 +1,24 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\setupcolumnset[example] [distance=24pt]
+\setupcolumnset[example:1][distance=96pt]
+
+\definecolor[fakerulecolor][white]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{25}{\fakewords{100}{150}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-403.tex b/doc/context/sources/general/manuals/columnsets/columnsets-403.tex
new file mode 100644
index 000000000..c9bc2e648
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-403.tex
@@ -0,0 +1,23 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\definecolor[fakerulecolor][white]
+
+\setupcolumnset[example][width=.15\makeupwidth]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{25}{\fakewords{100}{150}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-404.tex b/doc/context/sources/general/manuals/columnsets/columnsets-404.tex
new file mode 100644
index 000000000..05a25acfe
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-404.tex
@@ -0,0 +1,34 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\setupcolumnset[frame=on,framecolor=color-4,rulethickness=1mm]
+
+\definecolor[fakerulecolor][white]
+
+\setupcolumnset[example:1][width=2cm]
+\setupcolumnset[example:2][width=4cm]
+\setupcolumnset[example:3][width=3cm]
+
+\setupcolumnset[example:4][width=3cm]
+\setupcolumnset[example:5][width=4cm]
+\setupcolumnset[example:6][width=6cm]
+
+\starttext
+
+\startcolumnset[example]
+
+\dorecurse{15}{
+ \dorecurse{3}{\fakewords{10}{15}\par}
+ \column[yes]
+}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-405.tex b/doc/context/sources/general/manuals/columnsets/columnsets-405.tex
new file mode 100644
index 000000000..fa20ef34c
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-405.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\setupcolumnset[frame=on,framecolor=color-4,rulethickness=1mm]
+
+\definecolor[fakerulecolor][white]
+
+\setupcolumnset[example:1][width=.3\makeupwidth]
+
+\starttext
+
+\startcolumnset[example]
+
+ \fakewords{150}{150}
+ \column
+ \fakewords{25}{50}
+
+ \dorecurse{25}{\fakewords{50}{75}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-601.tex b/doc/context/sources/general/manuals/columnsets/columnsets-601.tex
new file mode 100644
index 000000000..b139210f4
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-601.tex
@@ -0,0 +1,29 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left,direction=reverse]
+
+\setupbackgrounds[text][text][background=contrast]
+
+\definecolor[fakerulecolor][color-1]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{50}{
+ \dontleavehmode
+ \snaptogrid\hbox
+ {\scale[height=2.5\lineheight]{\color[white]{#1}}}%
+ \space
+ \fakewords{30}{60}
+ %\simulatewords[n=30,m=60,min=1,max=5,color=color-1,line=yes]\par
+ \par
+ }
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-701.tex b/doc/context/sources/general/manuals/columnsets/columnsets-701.tex
new file mode 100644
index 000000000..b2c50cfaf
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-701.tex
@@ -0,0 +1,23 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupcolumnset
+ [example]
+ [background=contrast]
+
+\definecolor[fakerulecolor][white]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-702.tex b/doc/context/sources/general/manuals/columnsets/columnsets-702.tex
new file mode 100644
index 000000000..5b9a879c1
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-702.tex
@@ -0,0 +1,27 @@
+content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\setupcolumnset
+ [example]
+ [background=contrast,
+ backgroundoffset=4pt,
+ frame=on,
+ framecolor=white,
+ rulethickness=2pt]
+
+\definecolor[fakerulecolor][white]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-703.tex b/doc/context/sources/general/manuals/columnsets/columnsets-703.tex
new file mode 100644
index 000000000..549b49f61
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-703.tex
@@ -0,0 +1,34 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=4,page=left]
+
+\definecolumnsetarea
+ [title][left]
+ [x=1,y=1,nx=8,ny=8,
+ background=contrast,state=repeat]
+
+\setupcolumnsetareatext
+ [title][left][\setups{cow}]
+
+\startsetups[cow]
+
+ \externalfigure
+ [cow.pdf]
+ [height=15\lineheight,
+ width=2\dimexpr\makeupwidth+\backspace\relax]
+
+\stopsetups
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{\fakewords{50}{100}\par}
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-704.tex b/doc/context/sources/general/manuals/columnsets/columnsets-704.tex
new file mode 100644
index 000000000..7fa6cb313
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-704.tex
@@ -0,0 +1,69 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\startuseMPgraphic{mpos:par:columns}
+ path p ; numeric h ;
+ for i=1 upto nofmultipars :
+ p := multipars[i] ;
+ h := bbheight(p) ;
+ if multikind[i] = "single" :
+ fill p topenlarged -.5h
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor \MPcolor{color-1} shadedinto white ;
+ fill p bottomenlarged -.5h
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor white shadedinto \MPcolor{color-1} ;
+ elseif multikind[i] = "first" :
+ fill p
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor \MPcolor{color-2} shadedinto white ;
+ elseif multikind[i] = "middle" :
+ fill p topenlarged -.5h
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor \MPcolor{color-2} shadedinto white ;
+ fill p bottomenlarged -.5h
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor white shadedinto \MPcolor{color-3} ;
+ elseif multikind[i] = "last" :
+ fill p
+ withshademethod "linear"
+ withshadedirection shadedup
+ withcolor white shadedinto \MPcolor{color-3} ;
+ fi ;
+ endfor ;
+\stopuseMPgraphic
+
+\definecolumnset
+ [example]
+ [n=4,
+ page=left]
+
+\definetextbackground
+ [shade]
+ [location=paragraph,
+ mp=mpos:par:columns,
+ before=\blank,
+ after=\blank]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse {40} {
+ \starttextbackground[shade]
+ \fakewords{10}{200}
+ \stoptextbackground
+ \par
+ }
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-801.tex b/doc/context/sources/general/manuals/columnsets/columnsets-801.tex
new file mode 100644
index 000000000..1a84f99ab
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-801.tex
@@ -0,0 +1,19 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2]
+\definecolumnset [example-2] [n=3]
+
+\starttext \showgrid
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {2}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-802.tex b/doc/context/sources/general/manuals/columnsets/columnsets-802.tex
new file mode 100644
index 000000000..a126d0012
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-802.tex
@@ -0,0 +1,22 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2,balance=yes]
+\definecolumnset [example-2] [n=3,balance=yes]
+
+\starttext \showgrid
+
+ \setupcolumnsetlines[example-1][1][1] [8]
+ \setupcolumnsetlines[example-1][1][2][10]
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {2}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-803.tex b/doc/context/sources/general/manuals/columnsets/columnsets-803.tex
new file mode 100644
index 000000000..58a278bb1
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-803.tex
@@ -0,0 +1,26 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2,balance=yes]
+\definecolumnset [example-2] [n=3,balance=yes]
+
+\starttext \showgrid
+
+ \setupcolumnsetlines[example-1][1][1] [8]
+ \setupcolumnsetlines[example-1][1][2][10]
+
+ \setupcolumnsetlines[example-2][1][1][19]
+ \setupcolumnsetlines[example-2][1][2][18]
+ \setupcolumnsetlines[example-2][1][3][19]
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {2}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-804.tex b/doc/context/sources/general/manuals/columnsets/columnsets-804.tex
new file mode 100644
index 000000000..c2b7a6b1e
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-804.tex
@@ -0,0 +1,26 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2,balance=yes]
+\definecolumnset [example-2] [n=3,balance=yes]
+
+\starttext \showgrid
+
+ \setupcolumnsetlines[example-1][1][1] [8]
+ \setupcolumnsetlines[example-1][1][2][10]
+
+ \setupcolumnsetlines[example-2][1][1] [0]
+ \setupcolumnsetlines[example-2][1][2][-2]
+ \setupcolumnsetlines[example-2][1][3] [0]
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {6}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-805.tex b/doc/context/sources/general/manuals/columnsets/columnsets-805.tex
new file mode 100644
index 000000000..fc80e7e9c
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-805.tex
@@ -0,0 +1,26 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2,balance=yes]
+\definecolumnset [example-2] [n=3,balance=yes]
+
+\starttext \showgrid
+
+ \setupcolumnsetlines[example-1][1][1] [8]
+ \setupcolumnsetlines[example-1][1][2][10]
+
+ \setupcolumnsetstart[example-2][1][1][19]
+ \setupcolumnsetstart[example-2][1][2][17]
+ \setupcolumnsetstart[example-2][1][3][19]
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {2}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-806.tex b/doc/context/sources/general/manuals/columnsets/columnsets-806.tex
new file mode 100644
index 000000000..0322a336f
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-806.tex
@@ -0,0 +1,26 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset [example-1] [n=2,balance=yes]
+\definecolumnset [example-2] [n=3,balance=yes]
+
+\starttext \showgrid
+
+ \setupcolumnsetlines[example-1][1][1] [8]
+ \setupcolumnsetlines[example-1][1][2][10]
+
+ \setupcolumnsetstart[example-2][1][1][29]
+ \setupcolumnsetstart[example-2][1][2][29]
+ \setupcolumnsetstart[example-2][1][3][29]
+
+ \startcolumnset [example-1]
+ \dorecurse {1}{\input tufte \par}
+ \stopcolumnset
+ \startcolumnset [example-2]
+ \dorecurse {2}{\input ward \par}
+ \stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-901.tex b/doc/context/sources/general/manuals/columnsets/columnsets-901.tex
new file mode 100644
index 000000000..300458bf5
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-901.tex
@@ -0,0 +1,38 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=2,page=left,distance=1cm]
+
+\setupcolumnset
+ [example]
+ [background=contrast]
+
+\definecolor[fakerulecolor][white] \faketriggertrue
+
+\setuphead
+ [section]
+ [style=\bfd]
+
+\setuplinenumbering
+ [style=bold,
+ distance=0pt,
+ align=inner]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{
+ \startsection[title=foo #1]
+ \startlinenumbering
+ \fakewords{50}{100}\par
+ \stoplinenumbering
+ \stopsection
+ }
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-902.tex b/doc/context/sources/general/manuals/columnsets/columnsets-902.tex
new file mode 100644
index 000000000..fda2969af
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-902.tex
@@ -0,0 +1,38 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left,distance=1cm]
+
+\setupcolumnset
+ [example]
+ [background=contrast]
+
+\definecolor[fakerulecolor][white] \faketriggertrue
+
+\setuphead
+ [section]
+ [style=\bfd]
+
+\setuplinenumbering
+ [style=bold,
+ distance=0pt,
+ align=inner]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{
+ \startsection[title=foo #1]
+ \startlinenumbering
+ \fakewords{50}{100}\par
+ \stoplinenumbering
+ \stopsection
+ }
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-903.tex b/doc/context/sources/general/manuals/columnsets/columnsets-903.tex
new file mode 100644
index 000000000..68cd31ae2
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-903.tex
@@ -0,0 +1,41 @@
+% content=tex
+%
+% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa
+
+\environment columnsets-000
+
+\definecolumnset[example][n=3,page=left,distance=1cm]
+
+\setupcolumnset
+ [example]
+ [background=contrast]
+
+\definecolor[fakerulecolor][white] \faketriggertrue
+
+\setupblank
+ [line]
+
+\setuphead
+ [section]
+ [style=\bfd]
+
+\setuplinenumbering
+ [style=bold,
+ distance=0pt,
+ align=inner]
+
+\starttext
+
+\startcolumnset[example]
+
+ \dorecurse{30}{
+ \startsection[title=foo #1]
+ \startlinenumbering
+ \fakewords{50}{100}\par
+ \stoplinenumbering
+ \stopsection
+ }
+
+\stopcolumnset
+
+\stoptext
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets.tex b/doc/context/sources/general/manuals/columnsets/columnsets.tex
new file mode 100644
index 000000000..0cb95229d
--- /dev/null
+++ b/doc/context/sources/general/manuals/columnsets/columnsets.tex
@@ -0,0 +1,886 @@
+% author : Hans Hagen
+% copyright : PRAGMA ADE & ConTeXt Development Team
+% license : Creative Commons Attribution ShareAlike 4.0 International
+% reference : pragma-ade.nl | contextgarden.net | texlive (related) distributions
+% origin : the ConTeXt distribution
+%
+% comment : Because this manual is distributed with TeX distributions it comes with a rather
+% liberal license. We try to adapt these documents to upgrades in the (sub)systems
+% that they describe. Using parts of the content otherwise can therefore conflict
+% with existing functionality and we cannot be held responsible for that. Many of
+% the manuals contain characteristic graphics and personal notes or examples that
+% make no sense when used out-of-context.
+%
+% comment : Some chapters might have been published in TugBoat, the NTG Maps, the ConTeXt
+% Group journal or otherwise. Thanks to the editors for corrections. Also thanks
+% to users for testing, feedback and corrections.
+
+\dontcomplain
+
+\definepagebreak[mine][yes]
+
+% A complete otf optima pack is too expensive for this (I only have the
+% type one set).
+%
+% \usetypescriptfile
+% [type-ghz]
+%
+% \usetypescript
+% [sans]
+% [optima-nova]
+%
+% \setupbodyfont
+% [optima-nova,11pt]
+%
+% \definefont[QuiteLarge][SansBold sa 3]
+% \definefont[NotSoLarge][SansBold sa 1.5]
+%
+% So we could use:
+%
+% \setupbodyfont
+% [pagella,11pt]
+%
+% \definefont[QuiteLarge][Bold sa 2.50]
+% \definefont[NotSoLarge][Bold sa 1.25]
+%
+% But this one has a matching sans:
+
+\setupbodyfont
+ [dejavu,11pt]
+
+\definefont[QuiteLarge][SansBold sa 2.50]
+\definefont[NotSoLarge][SansBold sa 1.25]
+
+\setuplayout
+ [backspace=.1\paperwidth,
+ topspace=.025\paperheight,
+ header=0.025\paperheight,
+ footer=0.025\paperheight,
+ headerdistance=0.025\paperheight,
+ footerdistance=0.025\paperheight,
+ width=middle,
+ height=middle]
+
+\setuppagenumbering
+ [alternative=doublesided,
+ location=]
+
+\setupwhitespace
+ [line]
+
+\setupblank
+ [line]
+
+\setuptyping
+ [blank=halfline]
+
+\startsetups [pagenumber]
+ \hbox to .2\paperwidth {
+ \hss
+ Page \pagenumber
+ \hss
+ }
+\stopsetups
+
+\setupfooter [before=\vfill,after=\vfill,style=\bf,color=color-4]
+\setupheader [before=\vfill,after=\vfill,style=\bf,color=color-4]
+
+\setupfootertexts [] [\setups{pagenumber}]
+\setupheadertexts [] [\setups{chapterhead}]
+
+\startsetups [chapterhead]
+ \hbox to .2\paperwidth {
+ \hss
+ \getmarking[chapter]
+ \hss
+ }
+\stopsetups
+
+\setuphead
+ [chapter]
+ [header=empty]
+
+\definecolor[color-1][.5(red,green)]
+\definecolor[color-2][.5(green,blue)]
+\definecolor[color-3][.5(blue,red)]
+\definecolor[color-4][.5(white,black)]
+\definecolor[color-5][.5(white,color-4)]
+\definecolor[color-6][.2(white,color-4)]
+
+\startuseMPgraphic{page}
+StartPage ;
+ path p ;
+ numeric n; n := PageNumber ;
+ numeric w; w := bbwidth(Page) ;
+ numeric h; h := bbheight(Page) ;
+ def DrawBit (expr bit, dx, dy) =
+ path p ; p := unitsquare xyscaled(w/5,h/40) shifted (dx*w/10,dy*(h-h/40)) ;
+ if n div bit > 0 :
+ n := n - (n div bit)*bit ;
+ fill p withcolor \MPcolor{color-1} ;
+ else :
+ fill p withcolor \MPcolor{color-2} ;
+ fi ;
+ enddef ;
+ DrawBit(32,7,1) ;
+ DrawBit(16,4,1) ;
+ DrawBit( 8,1,1) ;
+ DrawBit( 4,7,0) ;
+ DrawBit( 2,4,0) ;
+ DrawBit( 1,1,0) ;
+StopPage ;
+\stopuseMPgraphic
+
+\startuniqueMPgraphic{frame}
+ fill OverlayBox withcolor \MPcolor{color-5} ;
+\stopuniqueMPgraphic
+
+\startuniqueMPgraphic{contrast}
+ fill OverlayBox withcolor \MPcolor{color-4} ;
+\stopuniqueMPgraphic
+
+\defineoverlay[page] [\useMPgraphic{page}]
+\defineoverlay[frame] [\useMPgraphic{frame}]
+\defineoverlay[contrast][\useMPgraphic{contrast}]
+
+\setupexternalfigures
+ [background=frame]
+
+\definecombination
+ [sixpages]
+ [%inbetween=\blank,
+ style=mono,
+ distance=.5\bodyfontsize,
+ width=\textwidth]
+
+\definecombination
+ [fourpages]
+ [%inbetween=\blank,
+ style=mono,
+ distance=.5\bodyfontsize,
+ width=\textwidth]
+
+\definecombination
+ [twopages]
+ [style=mono]
+
+\definemeasure[twopages] [\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
+\definemeasure[fourpages] [\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
+\definemeasure[eightpages][\dimexpr\dimexpr\textwidth-3 \bodyfontsize\relax/4\relax]
+\definemeasure[sixpages] [\dimexpr\dimexpr\textwidth-2.5\bodyfontsize\relax/6\relax]
+
+\starttexdefinition unexpanded OnePage #1
+ \startlinecorrection[blank]
+ \startcombination[twopages][1*1]
+ {\typesetfile[#1.tex][page=1,lines=15]} {1}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded OneSpread #1
+ \startlinecorrection[blank]
+ \startcombination[twopages][1*1]
+ {\typesetfile[#1.tex][page=2,lines=15]} {2}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded TwoPages #1
+ \startlinecorrection[blank]
+ \startcombination[twopages][2*1]
+ {\typesetfile[#1.tex][page=1,width=\measure{twopages}]} {1}
+ {\typesetfile[#1.tex][page=2,width=\measure{twopages}]} {2}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded TwoSpread #1
+ \startlinecorrection[blank]
+ \startcombination[twopages][2*1]
+ {\typesetfile[#1.tex][page=2,width=\measure{twopages}]} {2}
+ {\typesetfile[#1.tex][page=3,width=\measure{twopages}]} {3}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded FourPages #1
+ \startlinecorrection[blank]
+ \startcombination[fourpages][4*1]
+ {\typesetfile[#1.tex][page=1,width=\measure{fourpages}]} {1}
+ {\typesetfile[#1.tex][page=2,width=\measure{fourpages}]} {2}
+ {\typesetfile[#1.tex][page=3,width=\measure{fourpages}]} {3}
+ {\typesetfile[#1.tex][page=4,width=\measure{fourpages}]} {4}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded FourSpread #1
+ \startlinecorrection[blank]
+ \startcombination[fourpages][4*1]
+ {\typesetfile[#1.tex][page=2,width=\measure{fourpages}]} {2}
+ {\typesetfile[#1.tex][page=3,width=\measure{fourpages}]} {3}
+ {\typesetfile[#1.tex][page=4,width=\measure{fourpages}]} {4}
+ {\typesetfile[#1.tex][page=5,width=\measure{fourpages}]} {5}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded SixPages #1
+ \startlinecorrection[blank]
+ \startcombination[sixpages][6*1]
+ {\typesetfile[#1.tex][page=1,width=\measure{sixpages}]} {1}
+ {\typesetfile[#1.tex][page=2,width=\measure{sixpages}]} {2}
+ {\typesetfile[#1.tex][page=3,width=\measure{sixpages}]} {3}
+ {\typesetfile[#1.tex][page=4,width=\measure{sixpages}]} {4}
+ {\typesetfile[#1.tex][page=5,width=\measure{sixpages}]} {5}
+ {\typesetfile[#1.tex][page=6,width=\measure{sixpages}]} {6}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded SixSpread #1
+ \startlinecorrection[blank]
+ \startcombination[sixpages][6*1]
+ {\typesetfile[#1.tex][page=2,width=\measure{sixpages}]} {2}
+ {\typesetfile[#1.tex][page=3,width=\measure{sixpages}]} {3}
+ {\typesetfile[#1.tex][page=4,width=\measure{sixpages}]} {4}
+ {\typesetfile[#1.tex][page=5,width=\measure{sixpages}]} {5}
+ {\typesetfile[#1.tex][page=6,width=\measure{sixpages}]} {6}
+ {\typesetfile[#1.tex][page=7,width=\measure{sixpages}]} {7}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded EightPages #1
+ \startlinecorrection[blank]
+ \startcombination[fourpages][4*2]
+ {\typesetfile[#1.tex][page=1,width=\measure{eightpages}]} {#1 / 1}
+ {\typesetfile[#1.tex][page=2,width=\measure{eightpages}]} {#1 / 2}
+ {\typesetfile[#1.tex][page=3,width=\measure{eightpages}]} {#1 / 3}
+ {\typesetfile[#1.tex][page=4,width=\measure{eightpages}]} {#1 / 4}
+ {\typesetfile[#1.tex][page=5,width=\measure{eightpages}]} {#1 / 5}
+ {\typesetfile[#1.tex][page=6,width=\measure{eightpages}]} {#1 / 6}
+ {\typesetfile[#1.tex][page=7,width=\measure{eightpages}]} {#1 / 7}
+ {\typesetfile[#1.tex][page=8,width=\measure{eightpages}]} {#1 / 8}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\starttexdefinition unexpanded EightSpread #1
+ \startlinecorrection[blank]
+ \startcombination[fourpages][4*2]
+ {\typesetfile[#1.tex][page=2,width=\measure{eightpages}]} {#1 / 2}
+ {\typesetfile[#1.tex][page=3,width=\measure{eightpages}]} {#1 / 3}
+ {\typesetfile[#1.tex][page=4,width=\measure{eightpages}]} {#1 / 4}
+ {\typesetfile[#1.tex][page=5,width=\measure{eightpages}]} {#1 / 5}
+ {\typesetfile[#1.tex][page=6,width=\measure{eightpages}]} {#1 / 6}
+ {\typesetfile[#1.tex][page=7,width=\measure{eightpages}]} {#1 / 7}
+ {\typesetfile[#1.tex][page=8,width=\measure{eightpages}]} {#1 / 8}
+ {\typesetfile[#1.tex][page=9,width=\measure{eightpages}]} {#1 / 9}
+ \stopcombination
+ \stoplinecorrection
+\stoptexdefinition
+
+\setuphead
+ [chapter]
+ [style=\QuiteLarge,
+ color=color-3,
+ number=no]
+
+\setuplist
+ [chapter]
+ [command=\MyListCommand,
+ alternative=command]
+
+\starttexdefinition unexpanded MyListCommand #1#2#3
+ \snaptogrid
+ [line,-line]\vbox {
+ \tfb
+ \setstrut
+ \strut#2
+ \quad#3
+ }
+\stoptexdefinition
+
+\setupmargindata
+ [style=\tttf,
+ color=color-3]
+
+\starttexdefinition unexpanded ShowFile #1
+ \margintext
+ {\cldcontext{string.match("#1","\letterpercent d+")}}
+ \typefile
+ [range={environment}]
+ {#1}
+\stoptexdefinition
+
+% \typefile[range=4] {...}
+% \typefile[range={=}]{...} % start after comment lines
+
+\starttexdefinition unexpanded ShowEnvironmentFile #1
+ \margintext
+ {\cldcontext{string.match("#1","\letterpercent d+")}}
+ \typefile
+ [range={=startenvironment}]
+ {#1}
+\stoptexdefinition
+
+\startdocument
+
+\startMPpage
+StartPage ;
+ path p ; numeric w, h, d ; picture q ;
+ if true :
+ q := image(draw textext.urt("\ssbf COLUMNS") withcolor \MPcolor{color-6}) ;
+ else :
+ q := image(draw textext.urt("\ssbf COLUMNSETS") withcolor \MPcolor{color-6}) ;
+ fi ;
+ w := bbwidth(Page) ;
+ h := bbheight(Page) ;
+ d := h/100 ;
+ fill Page withcolor \MPcolor{color-1} ;
+ p := Page xysized (w,d) ;
+ for i := 5d step 2d until h-5d :
+ fill p shifted (0,i) withcolor \MPcolor{color-2} ;
+ endfor
+ p := Page xysized(w/10,h) ;
+ for i = 0, .3, .6, .9 :
+ fill p shifted (i*w,0) withcolor \MPcolor{color-1} withtransparency(1,.75) ;
+ endfor ;
+ def do_it(expr sz, sh) =
+ p := Page xysized sz ;
+ fill p shifted sh withcolor \MPcolor{color-3} withtransparency(1,.5) ;
+ draw q xysized (bbwidth(p),bbheight(p)) shifted sh ;
+ enddef ;
+ if true :
+ do_it ((2w/10,17d),(.1w,20d)) ;
+ do_it ((2w/10,15d),(.1w,56d)) ;
+ do_it ((2w/10,21d),(.4w,66d)) ;
+ do_it ((2w/10,13d),(.7w,38d)) ;
+ do_it ((5w/10,13d),(.4w,13d)) ;
+ draw textext.urt("\ssbf Hans Hagen")
+ xysized (5w/10,5d)
+ shifted (.4w,6d)
+ withcolor \MPcolor{color-5} ;
+ else :
+ do_it ((2w/10,17d),(.1w,15d)) ;
+ do_it ((2w/10,15d),(.1w,51d)) ;
+ do_it ((2w/10,21d),(.4w,61d)) ;
+ do_it ((2w/10,13d),(.7w,31d)) ;
+ do_it ((5w/10,13d),(.4w, 7d)) ;
+ fi ;
+StopPage ;
+\stopMPpage
+
+\page[empty] \setuppagenumber[number=1]
+
+\setupbackgrounds
+ [page]
+ [background=page]
+
+\starttitle[title=Contents]
+
+ \placelist[chapter]
+
+\stoptitle
+
+\startchapter[title=Introduction]
+
+This manual introduces {\em column sets}, one of the output routines of \CONTEXT.
+Although column sets are mainly meant for typesetting journals in a
+semi||automated way, you can also use them for books. We assume that the user is
+familiar with \CONTEXT\ and only discuss the commands that are related to column
+sets.
+
+This mechanism performs okay but it needs to be used with care: an occasional
+manual intervention is needed to get optimal results. After all, we're operating
+in the area where normally click and point desktop publishing is used.
+
+{\bf For the moment you need to load the new code with: \type{\usemodule[newcolumnsets]}}
+
+\startlines
+Hans Hagen
+PRAGMA ADE
+Hasselt, 2003\endash2016
+\stoplines
+
+\stopchapter
+
+\startchapter[title=Basics]
+
+As soon as enough content is collected to build a page, \TEX\ will invoke the
+output routine. This is not a fixed piece of code, but a collection of macro
+calls. The default output routine is a meant for typesetting a single column, as
+in this document. A multi||column output routine is available as well. This
+routine mixes well with the single column one, and is activated by:
+
+\starttyping
+\startcolumns
+some text ...
+\stopcolumns
+\stoptyping
+
+In \MKIV\ a new mixed column mechanism has been introduced that will be
+developped further and eventually replace the old multi column handler. In \MKII\
+there is also a columnset mechanism that can be used to construct complex multi
+column pages. In \MKIV\ this gets replaced by grid columns. All these multi
+column mechanisms have in common that the output routine is more complex because
+now a page is in fact a collection of pages wrapped onto one. Each column is
+(from \TEX's perspective) similar to a one narrow column page. Here we focus on
+columnsets (page grids).
+
+There are some limitations to what you can do with this kind of multi columns,
+which is why we have a third routine at out disposal: {\em column sets}. This
+routine can be used for rather complex layouts with graphics all over the place,
+and text spanning columns or even spreads. There are of course some shortcomings,
+which we will discuss later.
+
+In the examples that follow we use the following style to set up the layout. The
+number in the margin serves a reference to the file where this snippet of \TEX\
+is stored.
+
+\ShowEnvironmentFile{columnsets-000}
+
+\page[mine]
+
+Before we will demonstrate more complex layouts, we will introduce a few
+features. In the next series of examples we use fake text. You can enlarge the
+pages in your viewer if you want to see more detail.
+
+\FourSpread{columnsets-001}
+
+These pages were typeset with the following code:
+
+\ShowFile{columnsets-001}
+
+We will showmost examples on a spread, so we don't show a first page. On a
+spread like above we number columns from~1 to~4, which in practice means that in
+this case columns starting on right page start with column~3!
+
+\SixPages{columnsets-001}
+
+\page[mine]
+
+The number of columns is not fixed to two. You can even have a different number
+of columns on left and right pages.
+
+\FourSpread{columnsets-002}
+
+This time the input is:
+
+\ShowFile{columnsets-002}
+
+Again, we started on a right page but showed the spreads. You can see it from the
+positioning of the header texts.
+
+\SixPages{columnsets-002}
+
+\page[mine]
+
+In order to get the balancing you want, you can manually influence the height of
+a column.
+
+\FourSpread{columnsets-003}
+
+When you set the number of column lines to a positive value, that will be the
+number of lines. A negative value will be subtracted from the maximum number of
+lines.
+
+\ShowFile{columnsets-003}
+
+\page[mine]
+
+In articles you may want to let the introduction span multiple columns. A column
+span is defined independent of a column set and shows up as follows:
+
+\FourSpread{columnsets-004}
+
+Here we've given the span a background so that it stands out.
+
+\ShowFile{columnsets-004}
+
+\page[mine]
+
+A column span can be positioned like any graphic. Later we will discuss the
+placement options in more detail, for the moment all you need to know is that
+\type {btlr} tells \CONTEXT\ to place the graphic in the left bottom of the the
+text area.
+
+\FourSpread{columnsets-005}
+
+Here we pass the \type {default} placement as parameter to the span, but you can
+also set it at definition time. We use a brute force simple column splitter to
+fake columns inside the span.
+
+\ShowFile{columnsets-005}
+
+\page[mine]
+
+You are not limited to one column span. In this sense a span is like a graphic:
+as long as there is room, it will be placed where you want it to be placed. The
+main difference between a span and a graphic is that a span expects text and
+tries to align the baselines with the rest of the text. In many ways a column
+span behaves like a framed text.
+
+\FourSpread{columnsets-006}
+
+This time we flushed one of the spans from bottom to top, starting at the right
+edge: \type {btrl}.
+
+\ShowFile{columnsets-006}
+
+\page[mine]
+
+Column spans are treated like graphics, which means that they will float if
+needed. In the process, the width is limited to the available space, which in
+some cases may lead to a smaller span than you may expect. Think of a column
+span, calculated (and prepared) in the last column and ending up on the next page
+in the first column, where a broader span would have been possible.
+
+\FourSpread{columnsets-007}
+
+\ShowFile{columnsets-007}
+
+\stopchapter
+
+\startchapter[title=Graphics]
+
+Most documents have graphics, and therefore column sets can contain them. The
+main thing that you have to keep in mind when placing graphics, is that column
+sets are based on grids. Therefore spacing around graphics is also grid based.
+
+\FourSpread{columnsets-101}
+
+\ShowFile{columnsets-101}
+
+\page[mine]
+
+You can tell \CONTEXT\ where it should place the graphic, but this will only be
+honored when there is still place.
+
+\EightSpread{columnsets-102}
+
+The prefered location is passed as a four character directive:
+
+\ShowFile{columnsets-102}
+
+\page[mine]
+
+The following directives are available:
+
+\starttabulate[|lT|p|]
+\NC btlr \NC flush from bottom to top and left to right \NC \NR
+\NC btrl \NC flush from bottom to top and right to left \NC \NR
+\NC tblr \NC flush from top to bottom and left to right \NC \NR
+\NC tbrl \NC flush from top to bottom and right to left \NC \NR
+\NC lrbt \NC flush from left to right and bottom to top \NC \NR
+\NC lrtb \NC flush from left to right and top to bottom \NC \NR
+\NC rlbt \NC flush from right to left and bottom to top \NC \NR
+\NC rltb \NC flush from right to left and top to bottom \NC \NR
+\NC here \NC try to place the graphic here \NC \NR
+\NC fixd \NC force the graphic here and don't float \NC \NR
+\NC fxtb:c*r \NC place the graphic at (c,r) or lower if needed \NC \NR
+\NC fxbt:c*r \NC place the graphic at (c,r) or higher if needed \NC \NR
+\NC tops \NC place the graphic at the top of the page \NC \NR
+\NC bots \NC place the graphic at the bottom of the page \NC \NR
+\NC page \NC place the graphic at a separate page \NC \NR
+\stoptabulate
+
+In the next example we show the directional locations:
+
+\OneSpread{columnsets-103}
+
+\ShowFile{columnsets-103}
+
+\stopchapter
+
+\startchapter[title=Areas]
+
+So far we have seen texts and graphics that span multiple columns using span
+commands and floats placement commands. We have also seen that you can define a
+different number of columns for left and right pages. Now that we have arrives at
+column areas you will see how we can span information over not only a page but
+also over pages in a spread.
+
+\FourSpread{columnsets-201}
+
+Being a framed text, by default an area is aligned at the baseline. You can lower
+an area by setting the \type {location} to \type {depth}.
+
+\ShowFile{columnsets-201}
+
+\page[mine]
+
+You can position areas on the left, right or next page or on both pages. When you
+set \type {state} to \type {repeat}, an area is repeated, otherwise it is only
+placed once.
+
+\FourSpread{columnsets-202}
+
+Here we just repeat the areas. Normally this only make sense when the content is
+worth repeating.
+
+\ShowFile{columnsets-202}
+
+\page[mine]
+
+Areas can span a spread, as is demonstrated in the next example.
+
+\FourSpread{columnsets-203}
+
+\ShowFile{columnsets-203}
+
+\page[mine]
+
+An application of a spread area is a title. In the next example we show two
+spread pages.
+
+\FourSpread{columnsets-204}
+
+Watch how we explicitly go to a left page.
+
+\ShowFile{columnsets-204}
+
+\page[mine]
+
+The \type {\GapText} macro is an experimental fun macro and is used to make sure
+that we don't end up with a clipped character.
+
+\startlinecorrection[blank]
+\startcombination
+ {\scale[width=.4\textwidth]{\clip
+ [nx=2,ny=6,x=2,y=2]
+ {\typesetfile[columnsets-204.tex][page=2]}}}
+ {left page}
+ {\scale[width=.4\textwidth]{\clip
+ [nx=2,ny=6,x=1,y=2]
+ {\typesetfile[columnsets-204.tex][page=3]}}}
+ {right page}
+\stopcombination
+\stoplinecorrection
+
+This is a typical example of the kind of optimizations that are needed when you
+make documents of styles with text that spans a spread. In the next clip we
+visualize the gap.
+
+\startlinecorrection[blank]
+\startcombination
+ {\scale[width=.4\textwidth]{\clip
+ [nx=2,ny=6,x=2,y=2]
+ {\typesetfile[columnsets-205.tex][page=2]}}}
+ {left page}
+ {\scale[width=.4\textwidth]{\clip
+ [nx=2,ny=6,x=1,y=2]
+ {\typesetfile[columnsets-205.tex][page=3]}}}
+ {right page}
+\stopcombination
+\stoplinecorrection
+
+At some moment you may want to set up an area in advance as we have done in the
+following example.
+
+\FourSpread{columnsets-206}
+
+The \type {page} key is used to specify the page in the column set that the area
+should go into. Column set pages start numbering at~1. The \type {fixed} stands
+for left or right, whatever comes first.
+
+\ShowFile{columnsets-206}
+
+\stopchapter
+
+\startchapter[title=Columns]
+
+You can use \type {\page} to go to a new page in a column set. Likewise you can
+use \type {\column} to force a column break.
+
+\FourPages{columnsets-301}
+
+This example demonstrates that you can supply \type {\column} with explicit
+directives.
+
+\ShowFile{columnsets-301}
+
+You can use \type {\column[page]} as an alternative for \type {\page}.
+
+\stopchapter
+
+\startchapter[title=Details]
+
+This chapter will cover a couple of cosmetic details of column sets. {\em Some
+features need to be improved, especially in combination with areas, graphics and
+alike. We will also provide side floats etc.}
+
+\FourSpread{columnsets-401}
+
+You can set the distance between columns for each pair of columns. {\em Todo:
+left and right page distances and margins.}
+
+\ShowFile{columnsets-401}
+
+\page[mine]
+
+When you can the distance of the first column as well. This creates a margin.
+
+\FourSpread{columnsets-402}
+
+This time we used equal distances:
+
+\ShowFile{columnsets-402}
+
+\page[mine]
+
+The width of columns is normally calculated automatically, but you can also set
+the width explicitly:
+
+\FourSpread{columnsets-403}
+
+In code:
+
+\ShowFile{columnsets-403}
+
+\page[mine]
+
+For special effects, you can set the width per column. In that case you need to
+be aware of the fact that \TEX\ works its way through the document per paragraph.
+Changing the width halfway a paragraph is possible but will affect the whole
+paragraph. Therefore, this feature works best when you also goto the next column
+explicitly.
+
+\FourSpread{columnsets-404}
+
+In code:
+
+\ShowFile{columnsets-404}
+
+\page[mine]
+
+If you really want to change the width in the middle of a paragraph, you can do a
+trial run and include a breakpoint at the palce where you want it to occur:
+
+\FourSpread{columnsets-405}
+
+In the second spread you see how the narrow hsize carries on in the wider
+column. A \type {\column} command will synchronize the hsize.
+
+\ShowFile{columnsets-405}
+
+% \page[mine]
+
+\stopchapter
+
+\startchapter[title=Directions]
+
+\FourSpread{columnsets-601}
+
+The direction of flushing columns is determined by the \type {direction}
+parameters as demonstrated below.
+
+\ShowFile{columnsets-601}
+
+% \page[mine]
+
+\stopchapter
+
+\startchapter[title=Backgrounds]
+
+As with many \CONTEXT\ components, column sets can have backgrounds.
+
+\FourSpread{columnsets-701}
+
+Watch how we use the \type {each} keyword to tell \CONTEXT\ that we want to apply
+the background to each column of the set.
+
+\ShowFile{columnsets-701}
+
+\page[mine]
+
+Normally, if you apply backgrounds this way, you will also set the background
+offset. In a similar fashion you can apply backgrounds to areas and spans. Such
+backgrounds can be a color, or any overlay or layer you want.
+
+\FourSpread{columnsets-702}
+
+Here we've set the background offset as well as the frame.
+
+\ShowFile{columnsets-702}
+
+\page[mine]
+
+When dealing with areas, you need to be aware of the fact that they are clipped,
+the content as well as the background.
+
+\FourSpread{columnsets-703}
+
+De default clip offset is two times the lineheight, except in the binding, where
+it is set to zero points. You can set the clip offset with the \type {clipoffset}
+parameter.
+
+\ShowFile{columnsets-703}
+
+\page[mine]
+
+The text background mechanism is rather well adapted to column sets. The
+following example is a variant on an example shown in the manual titled
+{details}.
+
+\EightSpread{columnsets-704}
+
+Watch how we adapt the background to the fact and extent that the text spans one
+or more columns.
+
+\ShowFile{columnsets-704}
+
+Backgrounds that follow the paragraph shape also work ok in column sets.
+
+{\em todo: an example of a bleeding graphic with column feed back (from
+techniek)}
+
+% \page[mine]
+
+\stopchapter
+
+\startchapter[title=Numbering lines]
+
+\FourSpread{columnsets-901}
+
+This example shows how numbering lines in columns works out. In a two column
+layout the numbers end up in the outer margins by default. If you want you can
+set the \type {location} to for instance \type {left} or \type {right}.
+
+\ShowFile{columnsets-901}
+
+\page[mine]
+
+\FourSpread{columnsets-902}
+
+In a three column setup the numbers end up in the left margins.Make sure you make
+the distance large enough.
+
+\ShowFile{columnsets-902}
+
+% \page[mine]
+%
+% \FourSpread{columnsets-903}
+%
+% This example shows again lune numbers but here we made sure that there is no
+% stretch in the whitespace.
+%
+% \ShowFile{columnsets-903}
+
+\stopchapter
+
+% \startchapter[title=Spanning and More]
+%
+% {\em todo: explanation} \page
+%
+% \TwoPages{columnsets-801} \ShowFile{columnsets-801} \page[mine]
+% \TwoPages{columnsets-802} \ShowFile{columnsets-802} \page[mine]
+% \TwoPages{columnsets-803} \ShowFile{columnsets-803} \page[mine]
+% \TwoPages{columnsets-804} \ShowFile{columnsets-804} \page[mine]
+% \TwoPages{columnsets-805} \ShowFile{columnsets-805} \page[mine]
+% \TwoPages{columnsets-806} \ShowFile{columnsets-806} \page[mine]
+%
+% \stopchapter
+
+\stopdocument