summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2004-09-06 00:00:00 +0200
committerHans Hagen <pragma@wxs.nl>2004-09-06 00:00:00 +0200
commit9023e950440c08502abf42d7707273ee0d0de0ea (patch)
tree8e1ca4676f84d65880e22e172fd60ce31be8ce38 /tex
parent334f3edd2304915fc8b50a722a56765f41b1a7d5 (diff)
downloadcontext-9023e950440c08502abf42d7707273ee0d0de0ea.tar.gz
stable 2004.09.06
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/colo-ema.tex2
-rw-r--r--tex/context/base/colo-ext.tex2
-rw-r--r--tex/context/base/colo-hex.tex2
-rw-r--r--tex/context/base/colo-ini.tex2
-rw-r--r--tex/context/base/colo-pra.tex2
-rw-r--r--tex/context/base/colo-rgb.tex2
-rw-r--r--tex/context/base/colo-run.tex2
-rw-r--r--tex/context/base/colo-xwi.tex2
-rw-r--r--tex/context/base/cont-cz.tex2
-rw-r--r--tex/context/base/cont-de.tex2
-rw-r--r--tex/context/base/cont-en.tex2
-rw-r--r--tex/context/base/cont-err.tex2
-rw-r--r--tex/context/base/cont-fil.tex2
-rw-r--r--tex/context/base/cont-it.tex2
-rw-r--r--tex/context/base/cont-log.tex2
-rw-r--r--tex/context/base/cont-new.tex292
-rw-r--r--tex/context/base/cont-nl.tex2
-rw-r--r--tex/context/base/cont-old.tex2
-rw-r--r--tex/context/base/cont-ro.tex2
-rw-r--r--tex/context/base/cont-uk.tex2
-rw-r--r--tex/context/base/cont-usr.ori2
-rw-r--r--tex/context/base/context.tex4
-rw-r--r--tex/context/base/core-box.tex2
-rw-r--r--tex/context/base/core-buf.tex2
-rw-r--r--tex/context/base/core-con.tex134
-rw-r--r--tex/context/base/core-dat.tex2
-rw-r--r--tex/context/base/core-def.tex2
-rw-r--r--tex/context/base/core-des.tex487
-rw-r--r--tex/context/base/core-fig.tex3
-rw-r--r--tex/context/base/core-fil.tex2
-rw-r--r--tex/context/base/core-fld.tex2
-rw-r--r--tex/context/base/core-fnt.tex18
-rw-r--r--tex/context/base/core-gen.tex2
-rw-r--r--tex/context/base/core-grd.tex6
-rw-r--r--tex/context/base/core-hlp.tex2
-rw-r--r--tex/context/base/core-ini.tex2
-rw-r--r--tex/context/base/core-ins.tex2
-rw-r--r--tex/context/base/core-int.tex11
-rw-r--r--tex/context/base/core-itm.tex2
-rw-r--r--tex/context/base/core-job.tex20
-rw-r--r--tex/context/base/core-lnt.tex2
-rw-r--r--tex/context/base/core-lst.tex2
-rw-r--r--tex/context/base/core-ltb.tex2
-rw-r--r--tex/context/base/core-mak.tex2
-rw-r--r--tex/context/base/core-mar.tex2
-rw-r--r--tex/context/base/core-mat.tex8
-rw-r--r--tex/context/base/core-mis.tex4
-rw-r--r--tex/context/base/core-nav.tex2
-rw-r--r--tex/context/base/core-new.tex2
-rw-r--r--tex/context/base/core-not.tex2
-rw-r--r--tex/context/base/core-ntb.tex21
-rw-r--r--tex/context/base/core-num.tex46
-rw-r--r--tex/context/base/core-obj.tex2
-rw-r--r--tex/context/base/core-par.tex2
-rw-r--r--tex/context/base/core-pos.tex4
-rw-r--r--tex/context/base/core-ref.tex64
-rw-r--r--tex/context/base/core-reg.tex8
-rw-r--r--tex/context/base/core-rul.tex2
-rw-r--r--tex/context/base/core-sec.tex100
-rw-r--r--tex/context/base/core-snc.tex2
-rw-r--r--tex/context/base/core-spa.tex265
-rw-r--r--tex/context/base/core-syn.tex2
-rw-r--r--tex/context/base/core-sys.tex2
-rw-r--r--tex/context/base/core-tab.tex4
-rw-r--r--tex/context/base/core-tbl.tex3
-rw-r--r--tex/context/base/core-uti.tex10
-rw-r--r--tex/context/base/core-var.tex9
-rw-r--r--tex/context/base/core-ver.tex2
-rw-r--r--tex/context/base/core-vis.tex2
-rw-r--r--tex/context/base/enco-acc.tex2
-rw-r--r--tex/context/base/enco-ans.tex2
-rw-r--r--tex/context/base/enco-cas.tex2
-rw-r--r--tex/context/base/enco-chi.tex2
-rw-r--r--tex/context/base/enco-com.tex2
-rw-r--r--tex/context/base/enco-cyr.tex2
-rw-r--r--tex/context/base/enco-def.tex2
-rw-r--r--tex/context/base/enco-ec.tex2
-rw-r--r--tex/context/base/enco-ecm.tex2
-rw-r--r--tex/context/base/enco-fde.tex2
-rw-r--r--tex/context/base/enco-ffr.tex2
-rw-r--r--tex/context/base/enco-fpl.tex2
-rw-r--r--tex/context/base/enco-fro.tex2
-rw-r--r--tex/context/base/enco-grk.tex2
-rw-r--r--tex/context/base/enco-il2.tex2
-rw-r--r--tex/context/base/enco-ini.tex26
-rw-r--r--tex/context/base/enco-mis.tex2
-rw-r--r--tex/context/base/enco-pdf.tex2
-rw-r--r--tex/context/base/enco-pfr.tex2
-rw-r--r--tex/context/base/enco-pol.tex2
-rw-r--r--tex/context/base/enco-qx.tex2
-rw-r--r--tex/context/base/enco-run.tex2
-rw-r--r--tex/context/base/enco-tbo.tex2
-rw-r--r--tex/context/base/enco-x5.tex2
-rw-r--r--tex/context/base/filt-bas.tex2
-rw-r--r--tex/context/base/filt-ini.tex2
-rw-r--r--tex/context/base/font-arb.tex2
-rw-r--r--tex/context/base/font-bfm.tex4
-rw-r--r--tex/context/base/font-chi.tex2
-rw-r--r--tex/context/base/font-heb.tex2
-rw-r--r--tex/context/base/font-ini.tex16
-rw-r--r--tex/context/base/font-map.tex28
-rw-r--r--tex/context/base/font-run.tex2
-rw-r--r--tex/context/base/font-uni.tex2
-rw-r--r--tex/context/base/font-unk.tex2
-rw-r--r--tex/context/base/font-vnr.tex20
-rw-r--r--tex/context/base/hand-def.tex2
-rw-r--r--tex/context/base/hand-ini.tex2
-rw-r--r--tex/context/base/java-ans.tex2
-rw-r--r--tex/context/base/java-exa.tex2
-rw-r--r--tex/context/base/java-fil.tex2
-rw-r--r--tex/context/base/java-fld.tex2
-rw-r--r--tex/context/base/java-ini.tex2
-rw-r--r--tex/context/base/java-stp.tex2
-rw-r--r--tex/context/base/lang-alt.tex14
-rw-r--r--tex/context/base/lang-ana.tex8
-rw-r--r--tex/context/base/lang-art.tex8
-rw-r--r--tex/context/base/lang-bal.tex8
-rw-r--r--tex/context/base/lang-cel.tex8
-rw-r--r--tex/context/base/lang-chi.tex8
-rw-r--r--tex/context/base/lang-cyr.tex26
-rw-r--r--tex/context/base/lang-frd.tex2
-rw-r--r--tex/context/base/lang-frq.tex2
-rw-r--r--tex/context/base/lang-ger.tex48
-rw-r--r--tex/context/base/lang-grk.tex9
-rw-r--r--tex/context/base/lang-ind.tex10
-rw-r--r--tex/context/base/lang-ini.tex29
-rw-r--r--tex/context/base/lang-ita.tex42
-rw-r--r--tex/context/base/lang-lab.tex2
-rw-r--r--tex/context/base/lang-sla.tex36
-rw-r--r--tex/context/base/lang-spa.tex16
-rw-r--r--tex/context/base/lang-spe.tex16
-rw-r--r--tex/context/base/lang-ura.tex14
-rw-r--r--tex/context/base/lang-vn.tex8
-rw-r--r--tex/context/base/m-chart.tex2
-rw-r--r--tex/context/base/m-chemic.tex2
-rw-r--r--tex/context/base/m-cweb.tex2
-rw-r--r--tex/context/base/m-edtsnc.tex3
-rw-r--r--tex/context/base/m-educat.tex2
-rw-r--r--tex/context/base/m-gamma.tex2
-rw-r--r--tex/context/base/m-graph.tex2
-rw-r--r--tex/context/base/m-layout.tex2
-rw-r--r--tex/context/base/m-level.tex2
-rw-r--r--tex/context/base/m-newmat.tex2
-rw-r--r--tex/context/base/m-pdfsnc.tex2
-rw-r--r--tex/context/base/m-pictex.tex2
-rw-r--r--tex/context/base/m-plus.tex2
-rw-r--r--tex/context/base/m-pstric.tex2
-rw-r--r--tex/context/base/m-quest.tex2
-rw-r--r--tex/context/base/m-steps.tex2
-rw-r--r--tex/context/base/m-tryout.tex2
-rw-r--r--tex/context/base/m-units.tex2
-rw-r--r--tex/context/base/m-visual.tex2
-rw-r--r--tex/context/base/math-ams.tex2
-rw-r--r--tex/context/base/math-eul.tex2
-rw-r--r--tex/context/base/math-fou.tex2
-rw-r--r--tex/context/base/math-ini.tex2
-rw-r--r--tex/context/base/math-lbr.tex2
-rw-r--r--tex/context/base/math-pln.tex2
-rw-r--r--tex/context/base/math-run.tex2
-rw-r--r--tex/context/base/math-tex.tex2
-rw-r--r--tex/context/base/math-tim.tex2
-rw-r--r--tex/context/base/meta-clp.tex2
-rw-r--r--tex/context/base/meta-dum.tex2
-rw-r--r--tex/context/base/meta-fig.tex2
-rw-r--r--tex/context/base/meta-ini.tex2
-rw-r--r--tex/context/base/meta-nav.tex2
-rw-r--r--tex/context/base/meta-pag.tex2
-rw-r--r--tex/context/base/meta-pre.tex2
-rw-r--r--tex/context/base/meta-txt.tex2
-rw-r--r--tex/context/base/meta-xml.tex2
-rw-r--r--tex/context/base/mult-com.tex5
-rw-r--r--tex/context/base/mult-con.tex101
-rw-r--r--tex/context/base/mult-ini.tex2
-rw-r--r--tex/context/base/mult-sys.tex4
-rw-r--r--tex/context/base/page-app.tex2
-rw-r--r--tex/context/base/page-bck.tex2
-rw-r--r--tex/context/base/page-flt.tex9
-rw-r--r--tex/context/base/page-flw.tex2
-rw-r--r--tex/context/base/page-imp.tex2
-rw-r--r--tex/context/base/page-ini.tex76
-rw-r--r--tex/context/base/page-lay.tex140
-rw-r--r--tex/context/base/page-lin.tex2
-rw-r--r--tex/context/base/page-log.tex2
-rw-r--r--tex/context/base/page-lyr.tex2
-rw-r--r--tex/context/base/page-mak.tex2
-rw-r--r--tex/context/base/page-mar.tex187
-rw-r--r--tex/context/base/page-mul.tex60
-rw-r--r--tex/context/base/page-not.tex2
-rw-r--r--tex/context/base/page-num.tex10
-rw-r--r--tex/context/base/page-one.tex2
-rw-r--r--tex/context/base/page-run.tex2
-rw-r--r--tex/context/base/page-set.tex2
-rw-r--r--tex/context/base/page-sid.tex10
-rw-r--r--tex/context/base/page-spr.tex2
-rw-r--r--tex/context/base/page-txt.tex2
-rw-r--r--tex/context/base/pdfr-il2.tex2
-rw-r--r--tex/context/base/plus-rul.tex2
-rw-r--r--tex/context/base/ppchtex.tex2
-rw-r--r--tex/context/base/prop-ini.tex2
-rw-r--r--tex/context/base/prop-lay.tex2
-rw-r--r--tex/context/base/prop-mis.tex18
-rw-r--r--tex/context/base/prop-run.tex2
-rw-r--r--tex/context/base/regi-cyp.tex2
-rw-r--r--tex/context/base/regi-cyr.tex2
-rw-r--r--tex/context/base/regi-def.tex2
-rw-r--r--tex/context/base/regi-grk.tex2
-rw-r--r--tex/context/base/regi-ibm.tex2
-rw-r--r--tex/context/base/regi-il1.tex2
-rw-r--r--tex/context/base/regi-ini.tex2
-rw-r--r--tex/context/base/regi-lat.tex2
-rw-r--r--tex/context/base/regi-mac.tex2
-rw-r--r--tex/context/base/regi-uni.tex2
-rw-r--r--tex/context/base/regi-utf.tex2
-rw-r--r--tex/context/base/regi-win.tex2
-rw-r--r--tex/context/base/s-abr-01.tex2
-rw-r--r--tex/context/base/s-abr-02.tex2
-rw-r--r--tex/context/base/s-abr-03.tex8
-rw-r--r--tex/context/base/s-chi-00.tex16
-rw-r--r--tex/context/base/s-faq-00.tex2
-rw-r--r--tex/context/base/s-faq-01.tex2
-rw-r--r--tex/context/base/s-faq-02.tex2
-rw-r--r--tex/context/base/s-faq-03.tex2
-rw-r--r--tex/context/base/s-fnt-01.tex2
-rw-r--r--tex/context/base/s-grk-00.tex2
-rw-r--r--tex/context/base/s-mag-01.tex4
-rw-r--r--tex/context/base/s-mod-00.tex28
-rw-r--r--tex/context/base/s-mod-01.tex2
-rw-r--r--tex/context/base/s-mod-02.tex2
-rw-r--r--tex/context/base/s-pre-00.tex2
-rw-r--r--tex/context/base/s-pre-01.tex2
-rw-r--r--tex/context/base/s-pre-02.tex2
-rw-r--r--tex/context/base/s-pre-03.tex2
-rw-r--r--tex/context/base/s-pre-04.tex2
-rw-r--r--tex/context/base/s-pre-05.tex2
-rw-r--r--tex/context/base/s-pre-06.tex2
-rw-r--r--tex/context/base/s-pre-07.tex2
-rw-r--r--tex/context/base/s-pre-08.tex2
-rw-r--r--tex/context/base/s-pre-09.tex2
-rw-r--r--tex/context/base/s-pre-10.tex2
-rw-r--r--tex/context/base/s-pre-13.tex2
-rw-r--r--tex/context/base/s-pre-14.tex2
-rw-r--r--tex/context/base/s-pre-15.tex2
-rw-r--r--tex/context/base/s-pre-16.tex2
-rw-r--r--tex/context/base/s-pre-19.tex2
-rw-r--r--tex/context/base/s-pre-22.tex2
-rw-r--r--tex/context/base/s-pre-23.tex2
-rw-r--r--tex/context/base/s-pre-50.tex2
-rw-r--r--tex/context/base/s-pre-60.tex2
-rw-r--r--tex/context/base/s-pre-61.tex2
-rw-r--r--tex/context/base/setupa.tex2
-rw-r--r--tex/context/base/setupb.tex28
-rw-r--r--tex/context/base/setupd.tex2
-rw-r--r--tex/context/base/setupe.tex2
-rw-r--r--tex/context/base/spec-def.tex6
-rw-r--r--tex/context/base/spec-dpm.tex4
-rw-r--r--tex/context/base/spec-dpx.tex2
-rw-r--r--tex/context/base/spec-dvi.tex2
-rw-r--r--tex/context/base/spec-fdf.tex2
-rw-r--r--tex/context/base/spec-ini.tex2
-rw-r--r--tex/context/base/spec-mis.tex2
-rw-r--r--tex/context/base/spec-pdf.tex6
-rw-r--r--tex/context/base/spec-ps.tex2
-rw-r--r--tex/context/base/spec-tpd.tex2
-rw-r--r--tex/context/base/spec-tr.tex2
-rw-r--r--tex/context/base/spec-var.tex2
-rw-r--r--tex/context/base/spec-win.tex38
-rw-r--r--tex/context/base/spec-yy.tex2
-rw-r--r--tex/context/base/supp-ali.tex2
-rw-r--r--tex/context/base/supp-box.tex5
-rw-r--r--tex/context/base/supp-emp.tex2
-rw-r--r--tex/context/base/supp-eps.tex2
-rw-r--r--tex/context/base/supp-fil.tex2
-rw-r--r--tex/context/base/supp-fun.tex2
-rw-r--r--tex/context/base/supp-ini.tex2
-rw-r--r--tex/context/base/supp-lan.tex2
-rw-r--r--tex/context/base/supp-mat.tex2
-rw-r--r--tex/context/base/supp-mis.tex2
-rw-r--r--tex/context/base/supp-mpe.tex2
-rw-r--r--tex/context/base/supp-mps.tex2
-rw-r--r--tex/context/base/supp-mrk.tex2
-rw-r--r--tex/context/base/supp-num.tex2
-rw-r--r--tex/context/base/supp-pdf.tex8
-rw-r--r--tex/context/base/supp-ran.tex2
-rw-r--r--tex/context/base/supp-spe.tex2
-rw-r--r--tex/context/base/supp-tpi.tex2
-rw-r--r--tex/context/base/supp-vis.tex2
-rw-r--r--tex/context/base/symb-eur.tex2
-rw-r--r--tex/context/base/symb-glm.tex2
-rw-r--r--tex/context/base/symb-ini.tex2
-rw-r--r--tex/context/base/symb-mis.tex2
-rw-r--r--tex/context/base/symb-mvs.tex6
-rw-r--r--tex/context/base/symb-nav.tex2
-rw-r--r--tex/context/base/symb-run.tex2
-rw-r--r--tex/context/base/syst-con.tex2
-rw-r--r--tex/context/base/syst-etx.tex22
-rw-r--r--tex/context/base/syst-ext.tex63
-rw-r--r--tex/context/base/syst-gen.tex2
-rw-r--r--tex/context/base/syst-new.tex2
-rw-r--r--tex/context/base/syst-omg.tex2
-rw-r--r--tex/context/base/syst-pln.tex2
-rw-r--r--tex/context/base/syst-prm.tex2
-rw-r--r--tex/context/base/syst-tex.tex2
-rw-r--r--tex/context/base/typo-ini.tex2
-rw-r--r--tex/context/base/unic-000.tex10
-rw-r--r--tex/context/base/unic-001.tex2
-rw-r--r--tex/context/base/unic-002.tex2
-rw-r--r--tex/context/base/unic-032.tex2
-rw-r--r--tex/context/base/unic-033.tex2
-rw-r--r--tex/context/base/unic-exp.tex2
-rw-r--r--tex/context/base/unic-ini.tex2
-rw-r--r--tex/context/base/verb-eif.tex2
-rw-r--r--tex/context/base/verb-ini.tex2
-rw-r--r--tex/context/base/verb-js.tex2
-rw-r--r--tex/context/base/verb-jv.tex2
-rw-r--r--tex/context/base/verb-mp.tex2
-rw-r--r--tex/context/base/verb-pas.tex2
-rw-r--r--tex/context/base/verb-pl.tex2
-rw-r--r--tex/context/base/verb-sql.tex2
-rw-r--r--tex/context/base/verb-tex.tex2
-rw-r--r--tex/context/base/verb-xml.tex2
-rw-r--r--tex/context/base/x-chemml.tex2
-rw-r--r--tex/context/base/x-contml.tex2
-rw-r--r--tex/context/base/x-corres.tex2
-rw-r--r--tex/context/base/x-dir-01.tex2
-rw-r--r--tex/context/base/x-fe.tex118
-rw-r--r--tex/context/base/x-fig-00.tex2
-rw-r--r--tex/context/base/x-fig-01.tex2
-rw-r--r--tex/context/base/x-fig-02.tex2
-rw-r--r--tex/context/base/x-fig-03.tex2
-rw-r--r--tex/context/base/x-fo.tex3607
-rw-r--r--tex/context/base/x-foxet.tex13
-rw-r--r--tex/context/base/x-mathml.tex2
-rw-r--r--tex/context/base/x-physml.tex2
-rw-r--r--tex/context/base/x-res-00.tex2
-rw-r--r--tex/context/base/x-res-01.tex2
-rw-r--r--tex/context/base/x-res-02.tex2
-rw-r--r--tex/context/base/x-res-03.tex2
-rw-r--r--tex/context/base/x-res-04.tex66
-rw-r--r--tex/context/base/x-res-08.tex2
-rw-r--r--tex/context/base/x-res-09.tex2
-rw-r--r--tex/context/base/x-res-10.tex2
-rw-r--r--tex/context/base/x-res-11.tex2
-rw-r--r--tex/context/base/x-res-50.tex2
-rw-r--r--tex/context/base/x-sch-00.tex2
-rw-r--r--tex/context/base/x-sch-01.tex2
-rw-r--r--tex/context/base/x-xml-01.tex4
-rw-r--r--tex/context/base/x-xml-02.tex26
-rw-r--r--tex/context/base/xtag-ent.tex2
-rw-r--r--tex/context/base/xtag-exp.tex2
-rw-r--r--tex/context/base/xtag-ext.tex2
-rw-r--r--tex/context/base/xtag-hyp.tex2
-rw-r--r--tex/context/base/xtag-ini.tex6
-rw-r--r--tex/context/base/xtag-map.tex44
-rw-r--r--tex/context/base/xtag-mmc.tex52
-rw-r--r--tex/context/base/xtag-mml.tex8
-rw-r--r--tex/context/base/xtag-mmp.tex6
-rw-r--r--tex/context/base/xtag-pml.tex2
-rw-r--r--tex/context/base/xtag-pmu.tex2
-rw-r--r--tex/context/base/xtag-pre.tex2
-rw-r--r--tex/context/base/xtag-prs.tex2
-rw-r--r--tex/context/base/xtag-raw.tex2
-rw-r--r--tex/context/base/xtag-rng.tex2
-rw-r--r--tex/context/base/xtag-run.tex2
-rw-r--r--tex/context/base/xtag-utf.tex2
-rw-r--r--tex/context/base/xtag-xsd.tex2
-rw-r--r--tex/context/base/xtag-xsl.tex2
-rw-r--r--tex/context/config/cont-usr.tex2
-rw-r--r--tex/context/foxet/fe-bryson.xml12
-rw-r--r--tex/context/foxet/fe-ward.xml8
-rw-r--r--tex/context/foxet/fe-zapf.xml14
-rw-r--r--tex/context/foxet/fo-0101.fo8
-rw-r--r--tex/context/foxet/fo-0102.fo16
-rw-r--r--tex/context/foxet/fo-0103.fo12
-rw-r--r--tex/context/foxet/fo-0201.fo22
-rw-r--r--tex/context/foxet/fo-0301.fo56
-rw-r--r--tex/context/foxet/fo-0601.fo26
-rw-r--r--tex/context/foxet/fo-0602.fo27
-rw-r--r--tex/context/foxet/fo-0603.fo26
-rw-r--r--tex/context/foxet/fo-0604.fo26
-rw-r--r--tex/context/foxet/fo-0611.fo21
-rw-r--r--tex/context/foxet/fo-0612.fo21
-rw-r--r--tex/context/foxet/fo-0613.fo21
-rw-r--r--tex/context/foxet/fo-0621.fo100
-rw-r--r--tex/context/foxet/fo-0641.fo25
-rw-r--r--tex/context/foxet/fo-0642.fo27
-rw-r--r--tex/context/foxet/fo-0643.fo27
-rw-r--r--tex/context/foxet/fo-0644.fo27
-rw-r--r--tex/context/foxet/fo-0650.fo26
-rw-r--r--tex/context/foxet/fo-0651.fo26
-rw-r--r--tex/context/foxet/fo-0701.fo39
-rw-r--r--tex/context/foxet/fo-0801.fo54
-rw-r--r--tex/context/foxet/fo-0901.fo48
-rw-r--r--tex/context/foxet/fo-1001.fo63
-rw-r--r--tex/context/foxet/fo-1002.fo31
-rw-r--r--tex/context/foxet/fo-1003.fo31
-rw-r--r--tex/context/foxet/fo-1004.fo35
-rw-r--r--tex/context/foxet/fo-1101.fo68
-rw-r--r--tex/generic/context/m-metapo.tex2
-rw-r--r--tex/generic/context/mptopdf.tex2
399 files changed, 6634 insertions, 1631 deletions
diff --git a/tex/context/base/colo-ema.tex b/tex/context/base/colo-ema.tex
index 605cd44c5..e5e90b235 100644
--- a/tex/context/base/colo-ema.tex
+++ b/tex/context/base/colo-ema.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-ema,
+%D [ file=colo-ema,
%D version=2003.03.20,
%D title=\CONTEXT\ Color Macros,
%D subtitle=Emacs Colors,
diff --git a/tex/context/base/colo-ext.tex b/tex/context/base/colo-ext.tex
index c81f03781..182c438fa 100644
--- a/tex/context/base/colo-ext.tex
+++ b/tex/context/base/colo-ext.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-ext, % mostof thsi code used to be in colo-ini.tex
+%D [ file=colo-ext, % mostof thsi code used to be in colo-ini.tex
%D version=1997.04.01,
%D title=\CONTEXT\ Color Macros,
%D subtitle=Extras,
diff --git a/tex/context/base/colo-hex.tex b/tex/context/base/colo-hex.tex
index 2eddcf19b..565203191 100644
--- a/tex/context/base/colo-hex.tex
+++ b/tex/context/base/colo-hex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-hex,
+%D [ file=colo-hex,
%D version=2004.06.23,
%D title=\CONTEXT\ Color Macros,
%D subtitle=Hex Colors,
diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex
index 662439185..2e0d6bd92 100644
--- a/tex/context/base/colo-ini.tex
+++ b/tex/context/base/colo-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-ini,
+%D [ file=colo-ini,
%D version=1997.04.01,
%D title=\CONTEXT\ Color Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/colo-pra.tex b/tex/context/base/colo-pra.tex
index 8d0abb17b..228df546a 100644
--- a/tex/context/base/colo-pra.tex
+++ b/tex/context/base/colo-pra.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-pra,
+%D [ file=colo-pra,
%D version=1997.01.03,
%D title=\CONTEXT\ Color Macros,
%D subtitle=PRAGMA,
diff --git a/tex/context/base/colo-rgb.tex b/tex/context/base/colo-rgb.tex
index 5429b2c46..038e0ab0b 100644
--- a/tex/context/base/colo-rgb.tex
+++ b/tex/context/base/colo-rgb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-rgb,
+%D [ file=colo-rgb,
%D version=1995.01.01,
%D title=\CONTEXT\ Color Macros,
%D subtitle=RGB,
diff --git a/tex/context/base/colo-run.tex b/tex/context/base/colo-run.tex
index 386b67108..9b3d0e94b 100644
--- a/tex/context/base/colo-run.tex
+++ b/tex/context/base/colo-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-run,
+%D [ file=colo-run,
%D version=1997.04.01,
%D title=\CONTEXT\ Color Macros,
%D subtitle=Runtime loaded commands,
diff --git a/tex/context/base/colo-xwi.tex b/tex/context/base/colo-xwi.tex
index 534c334eb..81e09d871 100644
--- a/tex/context/base/colo-xwi.tex
+++ b/tex/context/base/colo-xwi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=colo-xwi,
+%D [ file=colo-xwi,
%D version=1995.01.01,
%D title=\CONTEXT\ Color Macros,
%D subtitle=X Windows,
diff --git a/tex/context/base/cont-cz.tex b/tex/context/base/cont-cz.tex
index 87f95a164..39fb5c291 100644
--- a/tex/context/base/cont-cz.tex
+++ b/tex/context/base/cont-cz.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-cz,
+%D [ file=cont-cz,
%D version=1998.12.02,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ Czech Format Generation,
diff --git a/tex/context/base/cont-de.tex b/tex/context/base/cont-de.tex
index 868f580f7..90bbe875d 100644
--- a/tex/context/base/cont-de.tex
+++ b/tex/context/base/cont-de.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-de,
+%D [ file=cont-de,
%D version=1997.08.19,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ German Format Generation,
diff --git a/tex/context/base/cont-en.tex b/tex/context/base/cont-en.tex
index 01fc47be9..ee291b7f3 100644
--- a/tex/context/base/cont-en.tex
+++ b/tex/context/base/cont-en.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-en,
+%D [ file=cont-en,
%D version=1997.08.19,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ English Format Generation,
diff --git a/tex/context/base/cont-err.tex b/tex/context/base/cont-err.tex
index 5a35a21c2..f4c503da8 100644
--- a/tex/context/base/cont-err.tex
+++ b/tex/context/base/cont-err.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-err,
+%D [ file=cont-err,
%D version=2003.08.12,
%D title=\CONTEXT\ System Files,
%D subtitle=Just A warning,
diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex
index 01bf6ceaf..501cbf8eb 100644
--- a/tex/context/base/cont-fil.tex
+++ b/tex/context/base/cont-fil.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-fil,
+%D [ file=cont-fil,
%D version=1997.11.15,
%D title=\CONTEXT\ Miscellaneous Macros,
%D subtitle=File Synonyms,
diff --git a/tex/context/base/cont-it.tex b/tex/context/base/cont-it.tex
index c45a0c8a9..2ade466b9 100644
--- a/tex/context/base/cont-it.tex
+++ b/tex/context/base/cont-it.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-it,
+%D [ file=cont-it,
%D version=1997.08.19,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ Italian Format Generation,
diff --git a/tex/context/base/cont-log.tex b/tex/context/base/cont-log.tex
index 4f21fa43a..488e0a735 100644
--- a/tex/context/base/cont-log.tex
+++ b/tex/context/base/cont-log.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-log,
+%D [ file=cont-log,
%D version=1995.10.10,
%D title=\CONTEXT\ Miscellaneous Macros,
%D subtitle=\TEX\ Logos,
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 531b4baff..79eb7cf70 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-new,
+%D [ file=cont-new,
%D version=1995.10.10,
%D title=\CONTEXT\ Miscellaneous Macros,
%D subtitle=New Macros,
@@ -19,60 +19,256 @@
\unprotect
-% \tracingall
-
\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!}
-\def\outermarginwidth {\rightorleftpageaction\rightmarginwidth \leftmarginwidth }
-\def\innermarginwidth {\rightorleftpageaction\leftmarginwidth \rightmarginwidth}
-\def\outermargindistance{\rightorleftpageaction\rightmargindistance\leftmargindistance }
-\def\innermargindistance{\rightorleftpageaction\leftmargindistance \rightmargindistance}
+\def\resetsetups[#1]%
+ {\ifundefined{\??su\ifgridsnapping\v!grid\fi:#1}%
+ \letbeundefined{\??su:#1}%
+ \else
+ \letbeundefined{\??su\ifgridsnapping\v!grid\fi:#1}%
+ \fi}
+
+% \def\resetsetups[#1]%
+% {\letbeundefined
+% {\??su:%
+% \ifundefined{\??su\ifgridsnapping\v!grid\fi:#1}#1\else\ifgridsnapping\v!grid\fi%
+% #1}}
+
+\ifx\pagediscards\undefined \let\pagediscards\relax \fi
-\def\outeredgewidth {\rightorleftpageaction\rightedgewidth \leftedgewidth }
-\def\inneredgewidth {\rightorleftpageaction\leftedgewidth \rightedgewidth}
-\def\outeredgedistance {\rightorleftpageaction\rightedgedistance\leftedgedistance }
-\def\inneredgedistance {\rightorleftpageaction\leftedgedistance \rightedgedistance}
+\installoutput\synchronizeoutput % maybe add pagediscards
+ {\ifvoid\normalpagebox\else
+ \unvbox\normalpagebox
+ \pagediscards
+ \fi}
+
+\def\testpage {\dotripleempty\dotestpage[\plusone]}
+\def\testpageonly {\dotripleempty\dotestpage[\plustwo]}
-\def\outerspacewidth {\rightorleftpageaction\cutspace\backspace }
-\def\innerspacewidth {\rightorleftpageaction\backspace \cutspace}
+\chardef\testpagetrigger=0
-\appendtoks
- \scratchdimen\leftmarginwidth \advance\scratchdimen\leftmargindistance \xdef\leftmargintotal {\the\scratchdimen}%
- \scratchdimen\rightmarginwidth \advance\scratchdimen\rightmargindistance \xdef\rightmargintotal{\the\scratchdimen}%
- \scratchdimen\leftedgewidth \advance\scratchdimen\leftedgedistance \xdef\leftedgetotal {\the\scratchdimen}%
- \scratchdimen\rightedgewidth \advance\scratchdimen\rightedgedistance \xdef\rightedgetotal {\the\scratchdimen}%
- \scratchdimen\leftmarginwidth \advance\scratchdimen\leftedgetotal \xdef\leftsidetotal {\the\scratchdimen}%
- \scratchdimen\rightmarginwidth \advance\scratchdimen\rightedgetotal \xdef\rightsidetotal {\the\scratchdimen}%
- \scratchdimen\leftmargintotal \advance\scratchdimen\leftedgetotal \xdef\leftcombitotal {\the\scratchdimen}%
- \scratchdimen\rightmargintotal \advance\scratchdimen\rightedgetotal \xdef\rightcombitotal {\the\scratchdimen}%
- %
- \scratchdimen\innermarginwidth \advance\scratchdimen\innermargindistance \xdef\innermargintotal{\the\scratchdimen}%
- \scratchdimen\outermarginwidth \advance\scratchdimen\outermargindistance \xdef\outermargintotal{\the\scratchdimen}%
- \scratchdimen\inneredgewidth \advance\scratchdimen\inneredgedistance \xdef\inneredgetotal {\the\scratchdimen}%
- \scratchdimen\outeredgewidth \advance\scratchdimen\outeredgedistance \xdef\outeredgetotal {\the\scratchdimen}%
- \scratchdimen\innermargintotal \advance\scratchdimen\inneredgetotal \xdef\innercombitotal {\the\scratchdimen}%
- \scratchdimen\outermargintotal \advance\scratchdimen\outeredgetotal \xdef\outercombitotal {\the\scratchdimen}%
- \scratchdimen\innermarginwidth \advance\scratchdimen\inneredgetotal \xdef\innersidetotal {\the\scratchdimen}%
- \scratchdimen\outermarginwidth \advance\scratchdimen\outeredgetotal \xdef\outersidetotal {\the\scratchdimen}%
-\to \extralayoutcalculations
+\def\dotestpage[#1][#2][#3]%
+ {%\relax % needed before \if
+ \ifpaginageblokkeerd
+ \endgraf
+ \else
+ % new from here
+ \ifcase\testpagetrigger
+ \endgraf
+ \or
+ \ifvmode
+ \dosomebreak\allowbreak
+ \else % indeed?
+ \vadjust{\allowbreak}%
+ \endgraf
+ \fi
+ \fi
+ % till here
+ \ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \scratchdimen\lineheight
+ \multiply\scratchdimen#2\relax
+ \advance\scratchdimen \pagetotal
+ \ifdim\lastskip<\parskip
+ \advance\scratchdimen \parskip
+ \fi
+ \ifthirdargument
+ \advance\scratchdimen#3\relax
+ \fi
+ \ifcase\testpagemethod
+ \ifdim\scratchdimen>.99\pagegoal
+ \penalty-\!!tenthousand\relax
+ \fi
+ \or
+ \advance\scratchdimen-\pagegoal
+ \ifdim\scratchdimen>-\lineheight
+ \penalty-\!!tenthousand\relax
+ \fi
+ \or
+ \getnoflines\pagegoal
+ \advance\scratchdimen-\noflines\lineheight \relax
+ \ifdim\scratchdimen>-\lineheight
+ \penalty-\!!tenthousand\relax
+ \fi
+ \or % same as 0 but more accurate
+ \advance\scratchdimen-10\s!sp\relax
+ \ifdim\scratchdimen>\pagegoal
+ \penalty-\!!tenthousand\relax
+ \fi
+ \fi
+ \else
+ % force page break / new / does not work as expected
+ % never: \penalty-\!!tenthousand\relax
+ \fi
+ \else
+ \ifnum#1=\plusone\goodbreak\fi
+ \fi
+ \fi}
+
+% temp hack, else no proper default fall back (like \textmultiply); todo: sync encoding
\appendtoks
- \swapmacros\leftmargintotal \rightmargintotal
- \swapmacros\leftedgetotal \rightedgetotal
- \swapmacros\leftsidetotal \rightsidetotal
- \swapmacros\leftcombitotal \rightcombitotal
- \swapmacros\innermargintotal\outermargintotal
- \swapmacros\inneredgetotal \outeredgetotal
- \swapmacros\innercombitotal \outercombitotal
- \swapmacros\innersidetotal \outersidetotal
-\to \everyswapmargins
-
-% for taco: you may need to patch modules that have low level dutch
-
-\ifx\definieernummer\undefined \let\definieernummer\definenumber \fi
-\ifx\verhoognummer \undefined \let\verhoognummer \incrementnumber \fi
-\ifx\verlaagnummer \undefined \let\verhoognummer \decrementnumber \fi
-\ifx\stelnummerin \undefined \let\stelnummerin \setupnumber \fi
+ \let\characterencoding\nocharacterencoding
+\to \everymathematics
+
+% \separatestring123 456\to\test [\test]
+
+% \def\separatestring#1\to#2%
+% {\let#2\empty
+% \def\docommand##1{\edef#2{\ifx#2\empty\else#2,\fi##1}}%
+% \processseparatedlist[#1][ ]\docommand}
+%
+% \processseparatedlist[aap noot][]\ruledhbox
+
+% \startbuffer
+% \scratchdimen\dimexpr(3pt) \getnoflines\scratchdimen 1=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight) \getnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.1\lineheight) \getnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.5\lineheight) \getnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.9\lineheight) \getnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight+3pt) \getnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight+3sp) \getnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight-3sp) \getnoflines\scratchdimen 10=\the\noflines \endgraf
+%
+% \scratchdimen\dimexpr(3pt) \getrawnoflines\scratchdimen 0=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight) \getrawnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.1\lineheight) \getrawnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.5\lineheight) \getrawnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10.9\lineheight) \getrawnoflines\scratchdimen 11=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight+3pt) \getrawnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight+3sp) \getrawnoflines\scratchdimen 10=\the\noflines \endgraf
+% \scratchdimen\dimexpr(10\lineheight-3sp) \getrawnoflines\scratchdimen 10=\the\noflines \endgraf
+% \stopbuffer
+%
+% \typebuffer \getbuffer
+
+\ifx\roundingeps\undefined \newdimen\roundingeps \roundingeps=10sp \fi
+
+\def\getnoflines {\xdogetnoflines\plusone } % compensated
+\def\getroundednoflines{\xdogetnoflines\plustwo } % rounded
+\def\getrawnoflines {\xdogetnoflines\plusthree} % truncated
+
+\def\xdogetnoflines#1#2%
+ {\noflinesheight#2\relax
+ \ifzeropt\noflinesheight
+ \noflines\zerocount
+ \else\ifdim#2>\zeropoint
+ \ifcase#1\or
+ \advance\noflinesheight-\roundingeps
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \advance\noflines\plusone
+ \or
+ \advance\noflinesheight\roundingeps
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \or
+ \advance\noflinesheight\roundingeps
+ \advance\noflinesheight.5\openlineheight
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \fi
+ \else
+ \ifcase#1\or
+ \advance\noflinesheight\roundingeps
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \advance\noflines\minusone
+ \or
+ \advance\noflinesheight-\roundingeps
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \or
+ \advance\noflinesheight-\roundingeps
+ \advance\noflinesheight-.5\openlineheight
+ \divide\noflinesheight\openlineheight
+ \noflines\noflinesheight
+ \fi
+ \fi\fi}
+
+\def\splittblboxb#1%
+ {\scratchdimen-\extratblsplitheight
+ \advance\scratchdimen-\tbltblsplitoffset
+ \expanded{\testpage[2][\the\scratchdimen]}% quite save since a row is > 1 lineheight and we don't want one-liners
+ \setbox\TABLEsplitbox\vbox{#1}%
+ \setbox8\vbox{\doifsomething\tbltblspaceinbetween{\blanko[\tbltblspaceinbetween]}}%
+ \dimen8\ht8\advance\dimen8\dp8
+ \ifmultipleTBLheads
+ \setbox2\vbox{}%
+ \setbox4\vbox{}%
+ \dorecurse\noftblheadlines
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
+ \setbox2\vbox{\unvcopy2\unvcopy0}}%
+ \dorecurse\noftblnextlines
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
+ \setbox4\vbox{\unvcopy4\unvcopy0}}%
+ \fi
+ \!!doneafalse
+ \doloop
+ {\ifdim\pagegoal<\maxdimen
+ \scratchdimen\pagegoal
+ \advance\scratchdimen-\pagetotal
+ \else
+ \scratchdimen\textheight
+ \fi
+ \advance\scratchdimen-\dimen8
+ \advance\scratchdimen-\extratblsplitheight
+ \advance\scratchdimen-\tbltblsplitoffset
+ \setbox\finaltblbox\vbox
+ {\ifmultipleTBLheads
+ \ifcase\noftblheadlines\else
+ \unvcopy2 \doifsomething\tbltblspaceinbetween{\blank[\tbltblspaceinbetween]}%
+ \fi
+ \fi}%
+ \if!!donea\else\ifcase\noftblnextlines\else
+ \setbox2\box4
+ \fi\fi
+ \!!doneatrue
+ % alternatively we could use a kind of balancing like splitter
+ % first to scratchdimen and then smaller etc; more code and copy -)
+ \doloop
+ {\setbox\scratchbox\vsplit\TABLEsplitbox to \onepoint
+ \setbox\scratchbox\vbox{\unvbox\scratchbox}%
+ \bgroup
+ \advance\scratchdimen-\ht\scratchbox
+ \advance\scratchdimen-\dp\scratchbox
+ \advance\scratchdimen-\ht\finaltblbox
+ \advance\scratchdimen-\dp\finaltblbox\relax
+ \ifdim\scratchdimen>\zeropoint
+ \egroup
+ \setbox\finaltblbox\vbox
+ {\unvbox\finaltblbox
+ \unvbox\scratchbox}%
+ \ifvoid\TABLEsplitbox \exitloop \fi
+ \else
+ \egroup
+ \setbox\TABLEsplitbox\vbox
+ {\unvbox\scratchbox
+ \ifvoid\TABLEsplitbox\else\unvbox\TABLEsplitbox\allowbreak\fi}%
+ \exitloop
+ \fi}%
+ %
+ \postprocessTABLEsplitbox\finaltblbox
+ \ifvoid\TABLEsplitbox
+ \beforeTABLEsplitbox
+ \box\finaltblbox
+ \afterTABLEsplitbox
+ \@@tblsplitafter
+ \exitloop
+ \else
+ % hack
+ \ifdim\pagegoal<\maxdimen
+ \scratchdimen\pagegoal
+ \advance\scratchdimen \lineheight
+ \global\pagegoal\scratchdimen
+ \fi
+ % brrr
+ \beforeTABLEsplitbox
+ \box\finaltblbox
+ \afterTABLEsplitbox
+ \@@tblsplitafter
+ \pagina
+ \fi}}
% this will be activated when
diff --git a/tex/context/base/cont-nl.tex b/tex/context/base/cont-nl.tex
index a4aaf6a35..d29711997 100644
--- a/tex/context/base/cont-nl.tex
+++ b/tex/context/base/cont-nl.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-nl,
+%D [ file=cont-nl,
%D version=1997.08.19,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ Dutch Format Generation,
diff --git a/tex/context/base/cont-old.tex b/tex/context/base/cont-old.tex
index 06a264c6f..2e2825131 100644
--- a/tex/context/base/cont-old.tex
+++ b/tex/context/base/cont-old.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-old,
+%D [ file=cont-old,
%D version=1995.10.10,
%D title=\CONTEXT\ Miscellaneous Macros,
%D subtitle=Old Macros,
diff --git a/tex/context/base/cont-ro.tex b/tex/context/base/cont-ro.tex
index e38b7b0a6..c25bc6f35 100644
--- a/tex/context/base/cont-ro.tex
+++ b/tex/context/base/cont-ro.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-ro,
+%D [ file=cont-ro,
%D version=2000.01.09,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ Romanian Format Generation,
diff --git a/tex/context/base/cont-uk.tex b/tex/context/base/cont-uk.tex
index e361a5ce8..185f5c993 100644
--- a/tex/context/base/cont-uk.tex
+++ b/tex/context/base/cont-uk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-uk,
+%D [ file=cont-uk,
%D version=1997.08.19,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ English Format Generation,
diff --git a/tex/context/base/cont-usr.ori b/tex/context/base/cont-usr.ori
index 0e0f59881..1a98f77ac 100644
--- a/tex/context/base/cont-usr.ori
+++ b/tex/context/base/cont-usr.ori
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-usr,
+%D [ file=cont-usr,
%D version=1997.10.05,
%D title=\CONTEXT\ User Format Specifications,
%D subtitle=System Specific Setups,
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 5a1b62b81..49051aeca 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=context,
+%D [ file=context,
%D version=1995.10.10,
%D title=\CONTEXT,
%D subtitle=\CONTEXT\ Format Generation,
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2004.8.30}
+\def\contextversion{2004.9.6}
%D Welcome to the main module. When this module is ran through
%D \type{initex} or \type {tex -i} or \type {whatevertex} using
diff --git a/tex/context/base/core-box.tex b/tex/context/base/core-box.tex
index 2c09424a0..03dea26f7 100644
--- a/tex/context/base/core-box.tex
+++ b/tex/context/base/core-box.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-box,
+%D [ file=core-box,
%D version=2002.04.12,
%D title=\CONTEXT\ Box Macros,
%D subtitle=New Macros,
diff --git a/tex/context/base/core-buf.tex b/tex/context/base/core-buf.tex
index 51e1cd27c..dcd4030e6 100644
--- a/tex/context/base/core-buf.tex
+++ b/tex/context/base/core-buf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-buf,
+%D [ file=core-buf,
%D version=2000.01.05,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Buffers and Blockmoves,
diff --git a/tex/context/base/core-con.tex b/tex/context/base/core-con.tex
index 25003d61c..88fe60728 100644
--- a/tex/context/base/core-con.tex
+++ b/tex/context/base/core-con.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-con,
+%D [ file=core-con,
%D version=1997.26.08,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Conversion Macros,
@@ -165,22 +165,27 @@
%D Why should we only honour the romans, and not the greek?
\def\greeknumerals#1% watch the \normalxi
- {\mathematics
- {\ifcase#1\unknowncharacter\or
- \alpha\or\beta\or\gamma\or\delta\or\varepsilon\or
- \zeta\or\eta\or\theta\or\iota\or\kappa\or\lambda\or
- \mu\or\nu\or\normalxi\or o\or\pi\or\varrho\or\sigma\or
- \tau\or\upsilon\or\phi\or\chi\or\psi\or\omega
- \else
- \unknowncharacter
- \fi}}
+ {\mathematics
+ {\ifcase#1\unknowncharacter\or
+ \alpha \or \beta \or \gamma \or \delta \or
+ \varepsilon \or \zeta \or \eta \or \theta \or
+ \iota \or \kappa \or \lambda \or \mu \or
+ \nu \or \xi \or \omicron \or \pi \or
+ \varrho \or \sigma \or \tau \or \upsilon \or
+ \phi \or \chi \or \psi \or \omega
+ \else
+ \unknowncharacter
+ \fi}}
\def\Greeknumerals#1%
{\mathematics
{\ifcase#1\unknowncharacter \or
- A\or B\or\Gamma\or\Delta\or E\or Z\or H\or\Theta\or
- I\or K\or\Lambda\or M\or N\or\Xi\or O\or\Pi\or P\or
- \Sigma\or T\or\Upsilon\or\Phi\or X\or\Psi\or\Omega
+ \Alpha \or \Beta \or \Gamma \or \Delta \or
+ \Epsilon \or \Zeta \or \Eta \or \Theta \or
+ \Iota \or \Kappa \or \Lambda \or \Mu \or
+ \Nu \or \Xi \or \Omicron \or \Pi \or
+ \Rho \or \Sigma \or \Tau \or \Upsilon \or
+ \Phi \or \Xi \or \Psi \or \Omega
\else
\unknowncharacter
\fi}}
@@ -488,78 +493,11 @@
\hskip\datesignal\relax
\fi}
-% \def\complexcurrentdate[#1]%
-% {\bgroup
-% \let\labellanguage\currentlanguage
-% \def\betweendates{\let\betweendates\dobetweendates}%
-% \lowercase{\edef\!!stringa{#1}}% permits usage in \kap
-% \@EA\processallactionsinset\@EA
-% [\!!stringa]
-% [ \v!dag=>\betweendates\the\normalday,
-% \v!maand=>\betweendates\month\normalmonth,
-% \v!jaar=>\betweendates\the\normalyear,
-% \space=>\unskip\ \hskip\datesignal,% optimization -)
-% \ =>\unskip\ \hskip\datesignal,% optimization -)
-% d=>\the\normalday,
-% m=>\the\normalmonth,
-% j=>\the\normalyear,
-% y=>\the\normalyear,
-% w=>\betweendates\dayoftheweek\normalday\normalmonth\normalyear,
-% dd=>\ifnum\normalday >9 \else0\fi\the\normalday,
-% mm=>\ifnum\normalmonth>9 \else0\fi\the\normalmonth,
-% jj=>\expandafter\gobbletwoarguments\the\normalyear,
-% yy=>\expandafter\gobbletwoarguments\the\normalyear,
-% \v!weekdag=>\betweendates\dayoftheweek\normalday\normalmonth\normalyear,
-% \v!kenmerk=>\expanded{\complexcurrentdate[\kenmerkdatumpatroon]},
-% \s!unknown=>\unskip
-% \commalistelement
-% \hskip\datesignal
-% \def\betweendates{\let\betweendates\dobetweendates}]%
-% \ifdim\lastskip=\datesignal\relax
-% \unskip
-% \fi
-% \egroup}
-
-% \def\complexcurrentdate[#1]%
-% {\bgroup
-% \let\labellanguage\currentlanguage
-% \def\betweendates{\let\betweendates\dobetweendates}%
-% \lowercase{\edef\!!stringa{#1}}% permits usage in \kap
-% \@EA\processallactionsinset\@EA
-% [\!!stringa]
-% [ \v!dag=>\betweendates\the\normalday,
-% \v!dag+=>\betweendates\ordinaldaynumber\normalday,
-% \v!maand=>\betweendates\month\normalmonth,
-% \v!jaar=>\betweendates\the\normalyear,
-% \v!spatie=>\unskip\ \hskip\datesignal,% optimization -)
-% \ =>\unskip\ \hskip\datesignal,% optimization -)
-% d=>\the\normalday,
-% d+=>\ordinaldaynumber\normalday,
-% m=>\the\normalmonth,
-% j=>\the\normalyear,
-% y=>\the\normalyear,
-% w=>\betweendates\dayoftheweek\normalday\normalmonth\normalyear,
-% dd=>\ifnum\normalday >9 \else0\fi\the\normalday,
-% dd+=>\ordinaldaynumber{\ifnum\normalday >9 \else0\fi\the\normalday},
-% mm=>\ifnum\normalmonth>9 \else0\fi\the\normalmonth,
-% jj=>\expandafter\gobbletwoarguments\the\normalyear,
-% yy=>\expandafter\gobbletwoarguments\the\normalyear,
-% \v!weekdag=>\betweendates\dayoftheweek\normalday\normalmonth\normalyear,
-% \v!kenmerk=>\expanded{\complexcurrentdate[\kenmerkdatumpatroon]},
-% \s!unknown=>\unskip
-% \commalistelement
-% \hskip\datesignal
-% \def\betweendates{\let\betweendates\dobetweendates}]%
-% \ifdim\lastskip=\datesignal\relax
-% \unskip
-% \fi
-% \egroup}
-
\def\complexcurrentdate[#1]%
{\bgroup
\let\labellanguage\currentlanguage
\def\betweendates{\let\betweendates\dobetweendates}%
- \lowercase{\edef\!!stringa{#1}}% permits usage in \kap
+ \lowercase{\edef\!!stringa{#1}}% permits usage in \smallcapped
\@EA\processallactionsinset\@EA
[\!!stringa]
[ \v!day=>\betweendates\the\normalday,
@@ -821,8 +759,8 @@
\defineconversion [a] [\characters]
\defineconversion [A] [\Characters]
-\defineconversion [AK] [\kap\characters]
-\defineconversion [KA] [\kap\characters]
+\defineconversion [AK] [\smallcapped\characters]
+\defineconversion [KA] [\smallcapped\characters]
\defineconversion [n] [\numbers]
\defineconversion [N] [\Numbers]
@@ -832,8 +770,8 @@
\defineconversion [I] [\Romannumerals]
\defineconversion [r] [\romannumerals]
\defineconversion [R] [\Romannumerals]
-\defineconversion [KR] [\kap\romannumerals]
-\defineconversion [RK] [\kap\romannumerals]
+\defineconversion [KR] [\smallcapped\romannumerals]
+\defineconversion [RK] [\smallcapped\romannumerals]
\defineconversion [g] [\greeknumerals]
\defineconversion [G] [\Greeknumerals]
@@ -842,26 +780,26 @@
\defineconversion [O] [\oldstylenumerals]
\defineconversion [or] [\oldstyleromannumerals]
-\defineconversion [\v!character] [\character]
-\defineconversion [\v!Letter] [\Character]
+\defineconversion [\v!character] [\character]
+\defineconversion [\v!Character] [\Character]
-\defineconversion [\v!characters] [\characters]
-\defineconversion [\v!Letters] [\Characters]
+\defineconversion [\v!characters] [\characters]
+\defineconversion [\v!Characters] [\Characters]
-\defineconversion [\v!numbers] [\numbers]
-\defineconversion [\v!Cijfers] [\Numbers]
-\defineconversion [\v!mediaeval] [\mediaeval]
+\defineconversion [\v!numbers] [\numbers]
+\defineconversion [\v!Numbers] [\Numbers]
+\defineconversion [\v!mediaeval] [\mediaeval]
-\defineconversion [\v!romannumerals] [\romannumerals]
-\defineconversion [\v!Romeins] [\Romannumerals]
+\defineconversion [\v!romannumerals] [\romannumerals]
+\defineconversion [\v!Romannumerals] [\Romannumerals]
-\defineconversion [\v!greek] [\greeknumerals]
-\defineconversion [\v!Grieks] [\Greeknumerals]
+\defineconversion [\v!greek] [\greeknumerals]
+\defineconversion [\v!Greek] [\Greeknumerals]
% Some bonus ones:
-\defineconversion [\v!empty] [\gobbleoneargument]
-\defineconversion [\v!none] [\numbers]
+\defineconversion [\v!empty] [\gobbleoneargument]
+\defineconversion [\v!none] [\numbers]
\defineconversion
[set 0]
diff --git a/tex/context/base/core-dat.tex b/tex/context/base/core-dat.tex
index c7522fd0f..239b27d70 100644
--- a/tex/context/base/core-dat.tex
+++ b/tex/context/base/core-dat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-dat, % was core-02a,
+%D [ file=core-dat, % was core-02a,
%D version=1999.08.10, % 1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Database Support, % 2A
diff --git a/tex/context/base/core-def.tex b/tex/context/base/core-def.tex
index 690625423..3e7a3585d 100644
--- a/tex/context/base/core-def.tex
+++ b/tex/context/base/core-def.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-def,
+%D [ file=core-def,
%D version=2002.05.07,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Defaults,
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex
index edd7d3af4..742c4272a 100644
--- a/tex/context/base/core-des.tex
+++ b/tex/context/base/core-des.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-des,
+%D [ file=core-des,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Descriptions,
@@ -27,38 +27,31 @@
% Op die manier is meer mogelijk en worden \par's geskipt.
%
% De macro \??dd#1\s!do\c!commando levert de koppeling tussen
-% \doornummeren en \doordefinieren. Deze constructie is nodig
+% \@@descriptionnumberen en \doordefinieren. Deze constructie is nodig
% omdat doornummeren geen argument heeft en omdat subnummers
% niet worden genest binnen het hogere niveau. Het commando
% \??dd#1\s!do\c!state moet in dat geval \v!start zijn.
%
% herimplementeren met \nextbox en \unhbox\unvbox
-\newbox\@@definitiebox
+\newbox\@@descriptionbox
-\def\@@definitiewoord#1%
+\def\@@descriptionhandler#1%
{\getvalue{\??dd#1\s!do\c!command}{#1}}
-% \def\normal@@definitiewoord#1[#2]#3#4%
-% {\doattributes
-% {\??dd#1}\c!kopletter\c!kopkleur
-% {\getvalue{\??dd#1\c!commando}% NAAR BUITENSTE NIVEAU !
-% {\begstrut\getvalue{\??dd#1\c!tekst}#4\endstrut}}%
-% \rawreference\s!def{#2}{#3}}
-
-\def\normal@@definitiewoord#1[#2]#3#4%
+\def\normal@@descriptionhandler#1[#2]#3#4%
{\doattributes
{\??dd#1}\c!headstyle\c!headcolor
{\getvalue{\??dd#1\c!command}{#4}}% NAAR BUITENSTE NIVEAU !
\rawreference\s!def{#2}{#3}} % brrr moet in #4
-\setvalue{@@definitie\v!left}#1%
- {\@@definitiehang{#1}\@@definitielinkspure\@@definitielinkshang}
+\setvalue{@@description\v!left}#1%
+ {\@@descriptionhang{#1}\@@descriptionleftpure\@@descriptionlefthang}
-\setvalue{@@definitie\v!right}#1%
- {\@@definitiehang{#1}\@@definitierechtspure\@@definitierechtshang}
+\setvalue{@@description\v!right}#1%
+ {\@@descriptionhang{#1}\@@descriptionrightpure\@@descriptionrighthang}
-\def\@@definitiehang#1#2#3%
+\def\@@descriptionhang#1#2#3%
{\processaction
[\getvalue{\??dd#1\c!hang}]
[ \v!none=>\let\next#2,%
@@ -67,173 +60,155 @@
\s!default=>\let\next#2]%
\next{#1}}
-\def\@@definitielinkspure#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\def\@@descriptionleftpure#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\noindent\ignorespaces
- \leftskip\@@leftdefinitieskip
- \rightskip\@@rightdefinitieskip
+ \leftskip\@@leftdescriptionskip
+ \rightskip\@@rightdescriptionskip
\advance\leftskip \!!widtha
- \@@makedefinitiepurebox{#1}\raggedright
+ \@@makedescriptionpurebox{#1}\raggedright
\advance\leftskip \!!widthb
\llap
{\hbox to \leftskip
- {\hskip\@@leftdefinitieskip
- \copy\@@definitiebox\hss}}%
- \@@dodefinitie{#1}}
+ {\hskip\@@leftdescriptionskip
+ \copy\@@descriptionbox\hss}}%
+ \@@dodescription{#1}}
-\def\@@definitierechtspure#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\def\@@descriptionrightpure#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\noindent\ignorespaces
- \leftskip\@@leftdefinitieskip
- \rightskip\@@rightdefinitieskip
+ \leftskip\@@leftdescriptionskip
+ \rightskip\@@rightdescriptionskip
\advance\rightskip \!!widtha
- \@@makedefinitiepurebox{#1}\raggedleft
+ \@@makedescriptionpurebox{#1}\raggedleft
\rlap
{\hskip\hsize
\hskip-\leftskip
\hskip-\rightskip
- \copy\@@definitiebox
- \hskip\@@rightdefinitieskip}%
+ \copy\@@descriptionbox
+ \hskip\@@rightdescriptionskip}%
\advance\rightskip \!!widthb
- \@@dodefinitie{#1}}
+ \@@dodescription{#1}}
-\def\@@makedefinitiepurebox#1#2%
- {\setbox\@@definitiebox\vtop
+\def\@@makedescriptionpurebox#1#2%
+ {\setbox\@@descriptionbox\vtop
{\dontcomplain
\hsize\!!widtha
\leftskip\zeropoint
\rightskip\zeropoint
#2\setupalign[\getvalue{\??dd#1\c!align}]%
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
- \ht\@@definitiebox\strutht
- \dp\@@definitiebox\strutdp}
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
+ \ht\@@descriptionbox\strutht
+ \dp\@@descriptionbox\strutdp}
-\def\@@definitielinkshang#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\def\@@descriptionlefthang#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\dontcomplain
\advance\!!widtha \!!widthb
\hangindent\!!widtha
- \@@makedefinitiehangbox{#1}\raggedright{\advance\rightskip \!!widthb}%
+ \@@makedescriptionhangbox{#1}\raggedright{\advance\rightskip \!!widthb}%
\noindent\ignorespaces
\llap
{\dontshowcomposition
- \vtop to \zeropoint{\box\@@definitiebox}}%
- \@@dodefinitie{#1}}%
+ \vtop to \zeropoint{\box\@@descriptionbox}}%
+ \@@dodescription{#1}}%
-\def\@@definitierechtshang#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\def\@@descriptionrighthang#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\dontcomplain
\advance\!!widtha \!!widthb
\hangindent-\!!widtha
- \@@makedefinitiehangbox{#1}\raggedleft{\advance\leftskip \!!widthb}%
+ \@@makedescriptionhangbox{#1}\raggedleft{\advance\leftskip \!!widthb}%
\noindent\ignorespaces
\rlap
{\dontcomplain
\dontshowcomposition
- \dimen0=\hsize
- \advance\dimen0 -\leftskip
- \advance\dimen0 -\rightskip
- \hbox to \dimen0
- {\hss\vtop to \zeropoint{\box\@@definitiebox}}}%
- \@@dodefinitie{#1}}
-
-\def\@@makedefinitiehangbox#1#2#3%
- {\setbox\@@definitiebox\vtop % \vbox gaat fout in hang
+ \scratchdimen\hsize
+ \advance\scratchdimen -\leftskip
+ \advance\scratchdimen -\rightskip
+ \hbox to \scratchdimen
+ {\hss\vtop to \zeropoint{\box\@@descriptionbox}}}%
+ \@@dodescription{#1}}
+
+\def\@@makedescriptionhangbox#1#2#3%
+ {\setbox\@@descriptionbox\vtop % \vbox gaat fout in hang
{\forgetall
\dontcomplain
\hsize\!!widtha
#2\setupalign[\getvalue{\??dd#1\c!align}]#3%
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
- \ht\@@definitiebox\strutht
- \dp\@@definitiebox\strutdp
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
+ \ht\@@descriptionbox\strutht
+ \dp\@@descriptionbox\strutdp
\doifinsetelse{\getvalue{\??dd#1\c!hang}}{\v!fit,\v!broad}
- {\dimen0=\ht\@@definitiebox
- \advance\dimen0 \dp\@@definitiebox
+ {\scratchdimen\ht\@@descriptionbox
+ \advance\scratchdimen \dp\@@descriptionbox
\doifvalue{\??dd#1\c!hang}\v!broad
- {\advance\dimen0 .5\strutht}%
- \getnoflines{\dimen0}%
+ {\advance\scratchdimen .5\strutht}%
+ \getnoflines\scratchdimen
\hangafter-\noflines}
{\hangafter-\getvalue{\??dd#1\c!hang}}}%
-\setvalue{@@definitie\v!top}#1[#2]#3%
+\setvalue{@@description\v!top}#1[#2]#3%
{%\page[\v!preference]% % Weg ermee!
%\dosomebreak{\goodbreak}% % Dit is beter en nodig!
- \dohandelpaginaafX1 % En dit moet het maar worden.
- \@@dostartdefinitie{#1}[#2]{\let\\=\space#3}%
+ \dohandelpaginaafX\plusone % En dit moet het maar worden.
+ \@@dostartdescription{#1}[#2]{\let\\=\space#3}%
\noindent\ignorespaces
- \copy\@@definitiebox\par
+ \copy\@@descriptionbox\par
\nobreak
\getvalue{\??dd#1\c!inbetween}%
\nobreak
- \@@dodefinitie{#1}}
-
-% \setvalue{@@definitie\v!inmarge}#1[#2]#3%
-% {\@@dostartdefinitie{#1}[#2]{#3}%
-% \noindent\ignorespaces
-% \inmargin{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
-% \@@dodefinitie{#1}}
-%
-% \setvalue{@@definitie\v!inlinker}#1[#2]#3%
-% {\@@dostartdefinitie{#1}[#2]{#3}%
-% \noindent\ignorespaces
-% \inleft{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
-% \@@dodefinitie{#1}}
-%
-% \setvalue{@@definitie\v!inrechter}#1[#2]#3%
-% {\@@dostartdefinitie{#1}[#2]{#3}%
-% \noindent\ignorespaces
-% \inright{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
-% \@@dodefinitie{#1}}
-
-\def\do@@definitie#1#2[#3]#4%
- {\@@dostartdefinitie{#2}[#3]{#4}%
- \noindent\ignorespaces
- #1{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}%
- \@@dodefinitie{#2}}
-
-\setvalue{@@definitie\v!inmargin }{\do@@definitie\inmargin}
-\setvalue{@@definitie\v!inleft }{\do@@definitie\inleft }
-\setvalue{@@definitie\v!inright }{\do@@definitie\inright }
-\setvalue{@@definitie\v!margin }{\do@@definitie\inmargin}
-\setvalue{@@definitie\v!leftmargin }{\do@@definitie\inleft }
-\setvalue{@@definitie\v!rightmargin}{\do@@definitie\inright }
-\setvalue{@@definitie\v!innermargin }{\do@@definitie\ininner}
-\setvalue{@@definitie\v!outermargin }{\do@@definitie\inouter}
-
-\setvalue{@@definitie\v!serried\v!fit}#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+ \@@dodescription{#1}}
+
+\def\do@@description#1#2[#3]#4%
+ {\@@dostartdescription{#2}[#3]{#4}%
+ \noindent\ignorespaces % not needed this ignore
+ #1{\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
+ \@@dodescription{#2}}
+
+\setvalue{@@description\v!inmargin }{\do@@description\inmargin}
+\setvalue{@@description\v!inleft }{\do@@description\inleft }
+\setvalue{@@description\v!inright }{\do@@description\inright }
+\setvalue{@@description\v!margin }{\do@@description\inmargin}
+\setvalue{@@description\v!leftmargin }{\do@@description\inleft }
+\setvalue{@@description\v!rightmargin }{\do@@description\inright }
+\setvalue{@@description\v!innermargin }{\do@@description\ininner }
+\setvalue{@@description\v!outermargin }{\do@@description\inouter }
+
+\setvalue{@@description\v!serried\v!fit}#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\noindent\ignorespaces
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
\hskip\!!widthb % toegevoegd
- \@@dodefinitie{#1}}
+ \@@dodescription{#1}}
-\setvalue{@@definitie\v!serried\v!broad}#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\setvalue{@@description\v!serried\v!broad}#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\noindent\ignorespaces
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
\hskip\!!widthb \!!plus .5\!!widthb \!!minus .25\!!widthb
- \@@dodefinitie{#1}}
+ \@@dodescription{#1}}
-\setvalue{@@definitie\v!serried\v!wide}#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}%
+\setvalue{@@description\v!serried\v!wide}#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}%
\noindent\ignorespaces
\hbox to \!!widtha
- {\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox\hss}%
+ {\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox\hss}%
\hskip\!!widthb
\ignorespaces
- \@@dodefinitie{#1}}
+ \@@dodescription{#1}}
-\setvalue{@@definitie\v!serried}#1[#2]#3%
+\setvalue{@@description\v!serried}#1[#2]#3%
{\processaction
[\getvalue{\??dd#1\c!width}]
- [\v!fit=>\let\next\v!fit,
+ [ \v!fit=>\let\next\v!fit,
\v!broad=>\let\next\v!broad,
- \s!unknown=>\let\next\v!wide,
- \s!default=>\let\next\v!broad]%
- \getvalue{@@definitie\v!serried\next}{#1}[#2]{#3}}
+ \s!unknown=>\let\next\v!wide,
+ \s!default=>\let\next\v!broad]%
+ \getvalue{@@description\v!serried\next}{#1}[#2]{#3}}
-\setvalue{@@definitie\v!hanging}#1[#2]#3%
- {\@@dostartdefinitie{#1}[#2]{#3}% % adds \c!margin to \leftskip
+\setvalue{@@description\v!hanging}#1[#2]#3%
+ {\@@dostartdescription{#1}[#2]{#3}% % adds \c!margin to \leftskip
\noindent\ignorespaces
\advance\leftskip -\leftskipadaption \relax
\ifdim\leftskipadaption=\zeropoint
@@ -248,14 +223,10 @@
\advance\leftskip \leftskipadaption
\fi
\hskip-\leftskipadaption
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox
- \ifdim\!!widthb=\zeropoint
- \kern.75em % another default
- \else
- \kern\!!widthb
- \fi
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
+ \kern\ifdim\!!widthb=\zeropoint .75em\else\!!widthb\fi
\ignorespaces
- \@@dodefinitie{#1}}
+ \@@dodescription{#1}}
%D A bonus definition
%D
@@ -263,17 +234,17 @@
%D \setupfootnotedefinition[location=command,headcommand=\llap]
%D \stoptyping
-\setvalue{@@definitie\v!command}#1%
- {\do@@definitie{\executeifdefined{\??dd#1\c!headcommand}\framed}{#1}}
+\setvalue{@@description\v!command}#1%
+ {\do@@description{\executeifdefined{\??dd#1\c!headcommand}\framed}{#1}}
-%D A new key 'titeluitlijnen' in definitions.
+%D A new key 'headalign' in definitions.
\chardef\insidedefinition=0
-\let\@@leftdefinitieskip \!!zeropoint
-\let\@@rightdefinitieskip\!!zeropoint
+\let\@@leftdescriptionskip \!!zeropoint
+\let\@@rightdescriptionskip\!!zeropoint
-\def\@@dostartdefinitie#1[#2]#3%
+\def\@@dostartdescription#1[#2]#3%
{\getvalue{\??dd#1\c!before}%
\begingroup
\doadaptleftskip{\getvalue{\??dd#1\c!margin}}%
@@ -283,12 +254,12 @@
\doifvalue{\??dd#1\c!width}\v!broad{\!!widthb=1em}%
\fi
% temp hack, we need to avoid this kind of preprocessing
- \setbox\@@definitiebox\hbox % preroll
+ \setbox\@@descriptionbox\hbox % preroll
{\forgetall
\trialtypesettingtrue
\dontcomplain
\def\\{\crlf}%
- \@@definitiewoord{#1}[#2]{#3}%
+ \@@descriptionhandler{#1}[#2]{#3}%
{\begstrut\getvalue{\??dd#1\c!text}\ignorespaces#3\endstrut}}%
% so far
\assignwidth
@@ -296,26 +267,26 @@
{\getvalue{\??dd#1\c!width}}%
{\doifelsevaluenothing{\??dd#1\c!sample}%
{% preroll can move here (test first)
- \ifhbox\@@definitiebox\unhcopy\else\copy\fi \@@definitiebox}%
- {\@@definitiewoord{#1}[#2]{#3}%
+ \ifhbox\@@descriptionbox\unhcopy\else\copy\fi \@@descriptionbox}%
+ {\@@descriptionhandler{#1}[#2]{#3}%
{\getvalue{\??dd#1\c!text}\getvalue{\??dd#1\c!sample}}}}
{\!!widthb}%
- \setbox\@@definitiebox\hbox
+ \setbox\@@descriptionbox\hbox
{\forgetall
\dontcomplain
\let\\\endgraf
\doifelsevalue{\??dd#1\c!location}\v!serried
- {\@@definitiewoord{#1}[#2]{#3}%
+ {\@@descriptionhandler{#1}[#2]{#3}%
{\begstrut\getvalue{\??dd#1\c!text}#3\endstrut}}
- {\@@definitiewoord{#1}[#2]{#3}%
+ {\@@descriptionhandler{#1}[#2]{#3}%
{\vtop{\hsize\!!widtha\advance\hsize-\!!widthb
\begstrut\getvalue{\??dd#1\c!text}\ignorespaces#3\endstrut}}}}%
\doifelsevalue{\??dd#1\c!aligntitle}\v!no
- {\edef\@@leftdefinitieskip {\the\leftskip }%
- \edef\@@rightdefinitieskip{\the\rightskip}}
+ {\edef\@@leftdescriptionskip {\the\leftskip }%
+ \edef\@@rightdescriptionskip{\the\rightskip}}
{\ifcase\insidedefinition
- \edef\@@leftdefinitieskip {\the\leftskip }%
- \edef\@@rightdefinitieskip{\the\rightskip}%
+ \edef\@@leftdescriptionskip {\the\leftskip }%
+ \edef\@@rightdescriptionskip{\the\rightskip}%
\fi}%
\expanded{\indenting[\getvalue{\??dd#1\c!indenting}]}%
\ifcase\insidedefinition % better a system mode
@@ -324,7 +295,7 @@
\chardef\insidedefinition\plustwo
\fi} % now happens elsewhere : \noindent\ignorespaces
-\def\@@stopdefinitie#1%
+\def\@@stopdescription#1%
{\par % maybe better after \dostopattributes
\dostopattributes
\endgroup
@@ -332,26 +303,18 @@
\egroup % temporary hack
\dochecknextindentation{\??dd#1}}
-\def\@@dodefinitie#1%
+\def\@@dodescription#1%
{\dostartattributes{\??dd#1}\c!style\c!color\empty
\ignorespaces}
-% \def\@@somedefinitie#1[#2]#3%
-% {\bgroup % temporary hack
-% \BeforePar{\executedoordefinitie{#1}[#2]{#3}}%
-% \AfterPar{\@@stopdefinitie{#1}}%
-% \GetPar}
-%
-% nicer and better:
-
-\def\@@somedefinitie#1[#2]#3%
+\def\@@somedescription#1[#2]#3%
{\dowithpar
- {\bgroup\executedoordefinitie{#1}[#2]{#3}}%
- {\@@stopdefinitie{#1}}}
+ {\bgroup\@@makedescription{#1}[#2]{#3}}%
+ {\@@stopdescription{#1}}}
-\def\@@startsomedefinitie#1[#2]#3%
+\def\@@startsomedescription#1[#2]#3%
{\bgroup % temporary hack
- \BeforePar{\executedoordefinitie{#1}[#2]{#3}}%
+ \BeforePar{\@@makedescription{#1}[#2]{#3}}%
\GotoPar}
\def\dodosetupdescriptions[#1][#2]%
@@ -362,44 +325,40 @@
{\dodosetupdescriptions[][#1]}
{\dodoubleargumentwithset\dodosetupdescriptions[#1][#2]}}
-\def\setupdescriptions%
+\def\setupdescriptions
{\dodoubleempty\dosetupdescriptions}
-\def\executedoordefinitie#1[#2]%
- {\ExpandAfter\doifundefined{@@definitie\getvalue{\??dd#1\c!location}}
+\def\@@makedescription#1[#2]%
+ {\ExpandAfter\doifundefined{@@description\getvalue{\??dd#1\c!location}}
{\setvalue{\??dd#1\c!location}{\v!left}}%
- \getvalue{@@definitie\getvalue{\??dd#1\c!location}}{#1}[#2]}
+ \getvalue{@@description\getvalue{\??dd#1\c!location}}{#1}[#2]}
\def\dodefinedescription[#1][#2]%
{\copyparameters[\??dd#1][\??dd]
[\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor,
\c!width,\c!hang,\c!sample,\c!before,\c!inbetween,\c!after,\c!margin,
- \c!indenting,\c!indentnext,\c!align,
- \c!text,\c!distance,\c!command]%
+ \c!indenting,\c!indentnext,\c!align,\c!text,\c!distance,\c!command]%
\getparameters[\??dd#1]
[\s!do\c!state=\v!stop,
- \s!do\c!command=\normal@@definitiewoord,
+ \s!do\c!command=\normal@@descriptionhandler,
#2]%
\doifvalue{\??dd#1\c!location}\v!top
- {\doassign[\??dd#1][\c!inbetween={\blank}]}%
- \setvalue{#1}%
- {\dodoubleempty\@@definitie[#1]}%
- \setvalue{\e!start#1}%
- {\dodoubleempty\@@startdefinitie[#1]}%
- \setvalue{\e!stop#1}%
- {\@@stopdefinitie{#1}}}%
-
-\def\@@startdefinitie[#1][#2]%
+ {\doassign[\??dd#1][\c!inbetween=\blank]}%
+ \setvalue {#1}{\dodoubleempty\@@description[#1]}%
+ \setvalue{\e!start#1}{\dodoubleempty\@@startdescription[#1]}%
+ \setvalue{\e!stop #1}{\@@stopdescription{#1}}}%
+
+\def\@@startdescription[#1][#2]%
{\doifelsevalue{\??dd#1\s!do\c!state}\v!start
- {\@@startsomedefinitie{#1}[#2]{}}
- {\dowithwargument{\@@startsomedefinitie{#1}[#2]}}}
+ {\@@startsomedescription{#1}[#2]{}}
+ {\dowithwargument{\@@startsomedescription{#1}[#2]}}}
-\def\@@definitie[#1][#2]%
+\def\@@description[#1][#2]%
{\doifelsevalue{\??dd#1\s!do\c!state}\v!start
- {\@@somedefinitie{#1}[#2]{}}
- {\dowithwargument{\@@somedefinitie{#1}[#2]}}}
+ {\@@somedescription{#1}[#2]{}}
+ {\dowithwargument{\@@somedescription{#1}[#2]}}}
-\def\definedescription%
+\def\definedescription
{\dodoubleemptywithset\dodefinedescription}
\def\showdnpuretext#1%
@@ -447,27 +406,27 @@
\getvalue{\??dd#2#1\c!stopper}%
\getvalue{\??dd#2#1\c!right}}
-% #1=name #2=level #3=\show #4[#5]#6#7=#1[#2]#3#4 van definitie
+% #1=name #2=level #3=\show #4[#5]#6#7=#1[#2]#3#4 van description
-\def\special@@definitiewoord#1#2#3#4[#5]#6#7%
+\def\special@@descriptionhandler#1#2#3#4[#5]#6#7%
{\strut
\doifelsevalue{\??dd#1\c!number}\v!no
\!!doneafalse{\doifelse{#5}{-}\!!doneafalse\!!doneatrue}%
- \chardef\definitiekoppeling\zerocount
+ \chardef\descriptioncoupling\zerocount
\iflocation
\doifvaluesomething{\??dd#1\c!coupling}
{\processaction % genereert > of <
[\getvalue{\??dd#1\c!couplingway}]
- [ \v!local=>\chardef\definitiekoppeling1, % old: default
- \v!global=>\chardef\definitiekoppeling2]}% new: global crosslinking
+ [ \v!local=>\chardef\descriptioncoupling1, % old: default
+ \v!global=>\chardef\descriptioncoupling2]}% new: global crosslinking
\fi
\setupnumber % the number is called indirectly
[\getvalue{\??dd#1\??dd\c!number}]
[\c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]%
\if!!donea
-\iftrialtypesetting\startlocal\fi
+ \iftrialtypesetting\startlocal\fi
\getvalue{\e!next#2#1}% tricky but we need the preroll
-\iftrialtypesetting\stoplocal\fi
+ \iftrialtypesetting\stoplocal\fi
% \getvalue{\e!next#2#1}%
\iflocation
\bgroup
@@ -475,12 +434,12 @@
\protectconversion
\maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!number}]%
\preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber
- \ifcase\definitiekoppeling \or
- \xdef\internaldoornummer{#3{#1}}%
- \rawreference\s!num{#1:\internaldoornummer}{}%
+ \ifcase\descriptioncoupling \or
+ \xdef\@@internalenumber{#3{#1}}%
+ \rawreference\s!num{#1:\@@internalenumber}{}%
\or
- \xdef\internaldoornummer{\countervalue{\??dd\c!coupling#1}}%
- \rawreference\s!num{#1:\internaldoornummer}{}%
+ \xdef\@@internalenumber{\countervalue{\??dd\c!coupling#1}}%
+ \rawreference\s!num{#1:\@@internalenumber}{}%
\fi
\egroup
\fi
@@ -492,8 +451,8 @@
{\getvalue{\??dd#1\c!command}% hook for taco
{\showdntext{#2#1}%
\domakednnummer{#1}{#2}{#3}}}%
- \iflocation\ifcase\definitiekoppeling \else
- \edef\localconnection{\getvalue{\??dd#1\c!coupling}:\internaldoornummer}%
+ \iflocation\ifcase\descriptioncoupling \else
+ \edef\localconnection{\getvalue{\??dd#1\c!coupling}:\@@internalenumber}%
\doifreferencefoundelse\localconnection
{\in[\localconnection]}\donothing % genereert > of <
\fi\fi
@@ -506,56 +465,56 @@
\fi}
\def\@@ddsetsubsubsubnummer#1%
- {\edef\doornummer{\getvalue{\??dd#1\??dd\c!number}}%
- \setnumber[\v!sub\v!sub\v!sub\doornummer]}
+ {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
+ \setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]}
\def\@@ddsetsubsubnummer#1%
{\@@ddresetsubsubsubnummer{#1}%
- \setnumber[\v!sub\v!sub\doornummer]}
+ \setnumber[\v!sub\v!sub\@@descriptionnumber]}
\def\@@ddsetsubnummer#1%
{\@@ddresetsubsubnummer{#1}%
- \setnumber[\v!sub\doornummer]}
+ \setnumber[\v!sub\@@descriptionnumber]}
\def\@@ddsetnummer#1%
{\@@ddresetsubnummer{#1}%
- \setnumber[\doornummer]}
+ \setnumber[\@@descriptionnumber]}
\def\@@ddresetsubsubsubnummer#1%
- {\edef\doornummer{\getvalue{\??dd#1\??dd\c!number}}%
- \resetnumber[\v!sub\v!sub\v!sub\doornummer]}
+ {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
+ \resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]}
\def\@@ddresetsubsubnummer#1%
{\@@ddresetsubsubsubnummer{#1}%
- \resetnumber[\v!sub\v!sub\doornummer]}
+ \resetnumber[\v!sub\v!sub\@@descriptionnumber]}
\def\@@ddresetsubnummer#1%
{\@@ddresetsubsubnummer{#1}%
- \resetnumber[\v!sub\doornummer]}
+ \resetnumber[\v!sub\@@descriptionnumber]}
\def\@@ddresetnumber#1%
{\@@ddresetsubnummer{#1}%
- \resetnumber[\doornummer]}
+ \resetnumber[\@@descriptionnumber]}
\def\@@ddvolgendesubsubsubnummer#1[#2]%
- {\edef\doornummer{\getvalue{\??dd#1\??dd\c!number}}%
- \incrementnumber[\v!sub\v!sub\v!sub\doornummer]%
- \rawreference\s!num{#2}{\showdnsubsubsubnummer{\doornummer}}}%
+ {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
+ \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]%
+ \rawreference\s!num{#2}{\showdnsubsubsubnummer{\@@descriptionnumber}}}%
\def\@@ddvolgendesubsubnummer#1[#2]%
{\@@ddresetsubsubsubnummer{#1}%
- \incrementnumber[\v!sub\v!sub\doornummer]%
- \rawreference\s!num{#2}{\showdnsubsubnummer{\doornummer}}}
+ \incrementnumber[\v!sub\v!sub\@@descriptionnumber]%
+ \rawreference\s!num{#2}{\showdnsubsubnummer{\@@descriptionnumber}}}
\def\@@ddvolgendesubnummer#1[#2]%
{\@@ddresetsubsubnummer{#1}%
- \incrementnumber[\v!sub\doornummer]%
- \rawreference\s!num{#2}{\showdnsubnummer{\doornummer}}}
+ \incrementnumber[\v!sub\@@descriptionnumber]%
+ \rawreference\s!num{#2}{\showdnsubnummer{\@@descriptionnumber}}}
\def\@@ddvolgendenummer#1[#2]%
{\@@ddresetsubnummer{#1}%
- \incrementnumber[\doornummer]%
- \rawreference\s!num{#2}{\showdnnummer{\doornummer}}}
+ \incrementnumber[\@@descriptionnumber]%
+ \rawreference\s!num{#2}{\showdnnummer{\@@descriptionnumber}}}
\def\dodosetupenumerations[#1][#2]%
{\getparameters[\??dd#1][#2]%
@@ -568,14 +527,14 @@
{\getparameters[\??dn][#1]}
{\dodoubleargumentwithset\dodosetupenumerations[#1][#2]}}
-\def\setupenumerations%
+\def\setupenumerations
{\dodoubleempty\dosetupenumerations}
\def\dododefineenumeration#1#2#3[#4][#5]#6%
{\makecounter{\??dd\c!coupling#1}% new: global cross linking
\dodefinedescription[#3#1]%
[\s!do\c!state=\v!start,
- \s!do\c!command=\special@@definitiewoord{#1}{#3}{#6}]%
+ \s!do\c!command=\special@@descriptionhandler{#1}{#3}{#6}]%
\copyparameters[\??dd#3#1][\??dn]
[\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor,
\c!width,\c!number,\c!distance,\c!command,
@@ -610,23 +569,20 @@
{\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old
{\setupnumber[#3#1] % times
[\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake
- \setvalue{\s!set#3#1}%
- {\dosetdoornummer[#1][#3]}%
- \setvalue{\s!reset#3#1}%
- {\doresetdoornummer[#1][#3]}%
- \setvalue{\e!next#3#1}%
- {\dotripleempty\dovolgendedoornummer[#1][#3]}}
-
-\def\dovolgendedoornummer[#1][#2]%
- {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking
- \getvalue{\??dd\c!next#2\c!number}{#1}}%
+ \setvalue{\s!set #3#1}{\dosetenumerationnumber[#1][#3]}%
+ \setvalue{\s!reset#3#1}{\doresetenumerationnumber[#1][#3]}%
+ \setvalue{\e!next #3#1}{\dotripleempty\donextenumerationnumber[#1][#3]}}
-\def\doresetdoornummer[#1][#2]%
+\def\doresetenumerationnumber[#1][#2]%
{\getvalue{\??dd\s!reset#2\c!number}{#1}}%
-\def\dosetdoornummer[#1][#2]%
+\def\dosetenumerationnumber[#1][#2]%
{\getvalue{\??dd\s!set#2\c!number}{#1}}%
+\def\donextenumerationnumber[#1][#2]%
+ {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking
+ \getvalue{\??dd\c!next#2\c!number}{#1}}%
+
\def\dodefineenumeration[#1][#2][#3]%
{\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnummer
\dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnummer
@@ -638,7 +594,7 @@
% Het default-mechanisme kan mooier: leegtest, enz.
%
-% Werkprocedure buiten definitie
+% Werkprocedure buiten description
\def\dodosetupindentations[#1][#2]%
{\getparameters[\??ds#1][#2]}
@@ -651,10 +607,12 @@
\def\setupindentations
{\dodoubleempty\dosetupindentations}
+% what to do with this
+
\def\startdoorspringen
{\whitespace
\@@dsbefore
- \dosomebreak{\goodbreak}% \page[\v!preference]
+ \dosomebreak\goodbreak % \page[\v!preference]
\begingroup
\parskip\zeropoint\relax}
@@ -662,6 +620,8 @@
{\endgroup
\@@dsafter}
+%
+
\def\dododefineindenting#1#2#3%
{\par
\getvalue{\??ds#1\c!before}%
@@ -703,44 +663,11 @@
\setvalue {\v!sub#1}{\dododefineindenting{#1}{1}{2}}%
\setvalue{\v!sub\v!sub#1}{\dododefineindenting{#1}{2}{3}}}
-\def\defineindenting%
+\def\defineindenting
{\dodoubleargumentwithset\dodefineindenting}
-% \def\dodoorlabel[#1][#2]%
-% {\getvalue{\s!number#1\c!voor}%
-% \bgroup
-% \doifvalue{\s!number#1\c!plaats}{\v!marge}
-% {\setvalue{\s!number#1\c!plaats}{\v!inmarge}}%
-% \doattributes{\s!number#1}\c!kopletter\c!kopkleur
-% {\getvalue{\e!volgende#1}[#2]}%
-% \egroup
-% \getvalue{\s!number#1\c!na}}%
-%
-% \def\dovolgendedoorlabel[#1][#2]%
-% {\nextnumber[#1][\s!lab][#2]}
-%
-% \def\dodoorlabelen[#1][#2]%
-% {\definenumber
-% [#1][\c!voor=,\c!na=,\c!kopletter=,\c!wijze=\@@nrwijze,#2]%
-% \setvalue {#1}{\dodoubleempty\dodoorlabel[#1]}%
-% \setvalue{\s!reset #1}{\resetnumber[#1]}%
-% \setvalue{\e!verhoog #1}{\incrementnumber[#1]}%
-% \setvalue{\e!volgende#1}{\dodoubleempty\dovolgendedoorlabel[#1]}%
-% \setvalue{\c!huidige #1}{\currentnumber[#1]}}
-%
-% \def\doorlabelen%
-% {\dodoubleargumentwithset\dodoorlabelen}
-
-\def\dodoorlabel[#1][#2]%
- {\getvalue{\??lb#1\c!before}%
- \getvalue{\??lb#1\c!command}%
- {\doattributes{\??lb#1}\c!headstyle\c!headcolor
- {\dotextprefix{\getvalue{\??lb#1\c!text}}%
- \getvalue{\e!next#1}[#2]}}%
- \getvalue{\??lb#1\c!after}}%
-
-\def\dovolgendedoorlabel[#1][#2]%
- {\nextnumber[#1][\s!lab][#2]}
+\def\definelabel
+ {\dodoubleargumentwithset\dodefinelabel}
\def\dodefinelabel[#1][#2]%
{\getparameters
@@ -750,22 +677,30 @@
\processaction
[\getvalue{\??lb#1\c!location}]
[ \v!inmargin=>\setvalue{\??lb#1\c!command}{\inmargin},
- \v!inleft=>\setvalue{\??lb#1\c!command}{\inleft },
- \v!inright=>\setvalue{\??lb#1\c!command}{\inright },
+ \v!inleft=>\setvalue{\??lb#1\c!command}{\inleft },
+ \v!inright=>\setvalue{\??lb#1\c!command}{\inright },
\v!margin=>\setvalue{\??lb#1\c!command}{\inmargin}]%
% inefficient, we need to redesign this command
\definenumber
[#1]
[\c!way=\getvalue{\??lb#1\c!way}]%
% generated commands
- \setvalue {#1}{\dodoubleempty\dodoorlabel[#1]}%
- \setvalue{\s!reset #1}{\resetnumber[#1]}%
- \setvalue{\e!increment #1}{\incrementnumber[#1]}%
- \setvalue{\e!next#1}{\dodoubleempty\dovolgendedoorlabel[#1]}%
- \setvalue{\c!current #1}{\currentnumber[#1]}}
+ \setvalue {#1}{\dodoubleempty\do@@label[#1]}%
+ \setvalue{\s!reset #1}{\resetnumber[#1]}%
+ \setvalue{\e!increment#1}{\incrementnumber[#1]}%
+ \setvalue{\e!next #1}{\dodoubleempty\do@@nextlabel[#1]}%
+ \setvalue{\c!current #1}{\currentnumber[#1]}}
-\def\definelabel
- {\dodoubleargumentwithset\dodefinelabel}
+\def\do@@label[#1][#2]%
+ {\getvalue{\??lb#1\c!before}%
+ \getvalue{\??lb#1\c!command}%
+ {\doattributes{\??lb#1}\c!headstyle\c!headcolor
+ {\dotextprefix{\getvalue{\??lb#1\c!text}}%
+ \getvalue{\e!next#1}[#2]}}%
+ \getvalue{\??lb#1\c!after}}%
+
+\def\do@@nextlabel[#1][#2]%
+ {\nextnumber[#1][\s!lab][#2]}
\setupdescriptions
[\c!location=\v!left,
@@ -805,7 +740,7 @@
\c!indenting=\v!never,
\c!text=,
\c!levels=3, % to be upward compatible
- \c!conversion=, % to be upward compatible
+ \c!conversion=, % to be upward compatible
\c!way=\v!by\v!text,
\c!sectionnumber=\v!yes,
\c!separator=.,
diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex
index 1231fe776..1b5958785 100644
--- a/tex/context/base/core-fig.tex
+++ b/tex/context/base/core-fig.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-fig,
+%D [ file=core-fig,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Figure Inclusion,
@@ -1276,6 +1276,7 @@
\fi\fi
\global\let\appliedfigurexscale\scax
\global\let\appliedfigureyscale\scay}%
+\doresetobjects % clean up driver left overs
\global\wd\foundexternalfigure\figwid
\finalizeexternalfigure{#2}{\expandedfigurename}}
diff --git a/tex/context/base/core-fil.tex b/tex/context/base/core-fil.tex
index 0b1b1d430..4bfdff2c0 100644
--- a/tex/context/base/core-fil.tex
+++ b/tex/context/base/core-fil.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-fil,
+%D [ file=core-fil,
%D version=1997.11.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=File Support,
diff --git a/tex/context/base/core-fld.tex b/tex/context/base/core-fld.tex
index 3e2dc0795..51cf8749d 100644
--- a/tex/context/base/core-fld.tex
+++ b/tex/context/base/core-fld.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-fld,
+%D [ file=core-fld,
%D version=1997.05.18,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Fill||in fields,
diff --git a/tex/context/base/core-fnt.tex b/tex/context/base/core-fnt.tex
index 8cf7921e3..5315f4d88 100644
--- a/tex/context/base/core-fnt.tex
+++ b/tex/context/base/core-fnt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-fnt,
+%D [ file=core-fnt,
%D version=1995.10.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Font Support,
@@ -139,7 +139,7 @@
%D Sure:
-\let\kap\smallcapped
+\def\kap{\smallcapped} % for old times sake
%D Some precautions for a \PLAIN\ \TEX\ definition.
@@ -160,18 +160,20 @@
%D
%D \showsetup{setupcapitals}
+\let\normalsmallcapped\smallcapped
+
\def\setupcapitals
{\dosingleempty\dosetupcapitals}
\def\dosetupcapitals[#1]%
{\getparameters[\??kk][#1]%
\doifelse\@@kktitle\v!yes
- {\definealternativestyle[\v!capital][\smallcapped][\smallcapped]%
+ {\definealternativestyle[\v!capital][\normalsmallcapped][\normalsmallcapped]%
\definealternativestyle[\v!smallcaps][\sc][\sc]%
- \let\kap\normalkap}
- {\definealternativestyle[\v!capital][\smallcapped][\uppercased]%
+ \let\smallcapped\normalsmallcapped}
+ {\definealternativestyle[\v!capital][\normalsmallcapped][\uppercased]%
\definealternativestyle[\v!smallcaps][\sc][\uppercased]%
- \def\kap{\doconvertfont\v!capital}}%
+ \def\smallcapped{\doconvertfont\v!capital}}%
\doifelse\@@kksc\v!yes
\userealcaps
\usepseudocaps}
@@ -248,9 +250,7 @@
\unexpanded\def\WORD#1%
{\bgroup
\the\everyuppercase
- %\def\kap##1{##1}%
- %\def\WORD##1{##1}%
- \let\kap\firstofoneargument
+ \let\smallcapped\firstofoneargument
\let\WORD\firstofoneargument
\uppercase{#1}% No expansion here, otherwise \getvalue problems!
%\edef\next{#1}% keep this to prevent roll back
diff --git a/tex/context/base/core-gen.tex b/tex/context/base/core-gen.tex
index 06fed883b..8b5fc5eac 100644
--- a/tex/context/base/core-gen.tex
+++ b/tex/context/base/core-gen.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-gen,
+%D [ file=core-gen,
%D version=1995.10.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=General,
diff --git a/tex/context/base/core-grd.tex b/tex/context/base/core-grd.tex
index 7b358fa2f..3056e69d7 100644
--- a/tex/context/base/core-grd.tex
+++ b/tex/context/base/core-grd.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-grd,
+%D [ file=core-grd,
%D version=1998.03.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Grid Snapping (Experimental),
@@ -443,7 +443,7 @@
\advance\scratchdimen-\strutheight % fit (text)
\or
\advance\scratchdimen-\strutheight % tolerant
- \advance\scratchdimen-10sp
+ \advance\scratchdimen-\roundingeps
\fi
\getnoflines\scratchdimen
\ifnum\noflines>0
@@ -481,7 +481,7 @@
\advance\scratchdimen-\strutdepth % fit (text)
\or
\advance\scratchdimen-\strutdepth % tolerant
- \advance\scratchdimen-10sp
+ \advance\scratchdimen-\roundingeps
\fi
\getnoflines\scratchdimen
\ifnum\noflines>0
diff --git a/tex/context/base/core-hlp.tex b/tex/context/base/core-hlp.tex
index 5964d85e6..a5653f88f 100644
--- a/tex/context/base/core-hlp.tex
+++ b/tex/context/base/core-hlp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-hlp,
+%D [ file=core-hlp,
%D version=1998.10.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Help (Experimental),
diff --git a/tex/context/base/core-ini.tex b/tex/context/base/core-ini.tex
index e1bdd154a..ef7523953 100644
--- a/tex/context/base/core-ini.tex
+++ b/tex/context/base/core-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ini,
+%D [ file=core-ini,
%D version=2003.12.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Additional Initialization,
diff --git a/tex/context/base/core-ins.tex b/tex/context/base/core-ins.tex
index c1888e656..c1185f7de 100644
--- a/tex/context/base/core-ins.tex
+++ b/tex/context/base/core-ins.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ins,
+%D [ file=core-ins,
%D version=2002.04.16,
%D title=\CONTEXT\ Insertion Macros,
%D subtitle=Insertions,
diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex
index 52af211d1..29da77566 100644
--- a/tex/context/base/core-int.tex
+++ b/tex/context/base/core-int.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-int,
+%D [ file=core-int,
%D version=1995.01.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Interaction,
@@ -387,9 +387,9 @@
\def\dosetupinteractionscreens % met a, b en \number
{\doifnot\@@pcstate\v!start\dodosetupinteractionscreens}
-\setvalue{\??sc\c!option\v!max }{1} % tzt share with driver
-\setvalue{\??sc\c!option\v!bookmark }{2} % tzt share with driver
-\setvalue{\??sc\c!option\v!fit }{3} % tzt share with driver
+\setvalue{\??sc\c!option\v!max }{1} % tzt share with driver
+\setvalue{\??sc\c!option\v!bookmark }{2} % tzt share with driver
+\setvalue{\??sc\c!option\v!fit }{3} % tzt share with driver
\setvalue{\??sc\c!option\v!doublesided}{4} % tzt share with driver
\def\dodosetupinteractionscreens % met a, b en \number
@@ -413,7 +413,8 @@
\let\setupinteractionscreens\dosetupinteractionscreens
\fi}
-\appendtoks \setupinteractionscreens \to \everyshipout
+\appendtoks \setupinteractionscreens \to \everyfirstshipout % needed to get option=max etc working
+\appendtoks \setupinteractionscreens \to \everyshipout % needed for page/screen dimensions
\def\setupinteractionscreen
{\dosingleempty\dosetupinteractionscreen}
diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex
index 956410f88..3afc8cd68 100644
--- a/tex/context/base/core-itm.tex
+++ b/tex/context/base/core-itm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-itm, % updated
+%D [ file=core-itm, % updated
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=itemgroups,
diff --git a/tex/context/base/core-job.tex b/tex/context/base/core-job.tex
index a58617776..5957b5c98 100644
--- a/tex/context/base/core-job.tex
+++ b/tex/context/base/core-job.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-job, % copied from main-001,
+%D [ file=core-job, % copied from main-001,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Job Handling,
@@ -166,8 +166,6 @@
% \newevery \everyjob \EveryJob
% \appendtoks ... \to \everyjob
-\prependtoks \showcontextbanner \to \everyjob
-
\appendtoks \loadsystemfiles \to \everyjob
\appendtoks \preloadfonts \to \everyjob
\appendtoks \settopskip \to \everyjob
@@ -365,6 +363,22 @@
\def\executesystemcommand{\immediate\write18}
+\ifnum\etexversion<202
+ \prependtoks
+ \writestatus\m!systems{eTeX version \number\etexversion\space -> too old (bugs)}%
+ \writeline
+ \to \everyjob
+\fi
+
+\ifnum\number\pdftexversion<120
+ \prependtoks
+ \writestatus\m!systems{pdfTeX version \number\pdftexversion\space -> please update}%
+ \writeline
+ \to \everyjob
+\fi
+
+\prependtoks \showcontextbanner \to \everyjob
+
% Default-instellingen (verborgen)
\resetutilities
diff --git a/tex/context/base/core-lnt.tex b/tex/context/base/core-lnt.tex
index 8f874e6d2..ed03672ad 100644
--- a/tex/context/base/core-lnt.tex
+++ b/tex/context/base/core-lnt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-lnt,
+%D [ file=core-lnt,
%D version=2002.05.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Line Notes,
diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex
index deffc59d8..be05283c8 100644
--- a/tex/context/base/core-lst.tex
+++ b/tex/context/base/core-lst.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-lst,
+%D [ file=core-lst,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Lists,
diff --git a/tex/context/base/core-ltb.tex b/tex/context/base/core-ltb.tex
index 74d12fa0b..bf8f4ff4e 100644
--- a/tex/context/base/core-ltb.tex
+++ b/tex/context/base/core-ltb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ltb,
+%D [ file=core-ltb,
%D version=2002.10.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Line Tables,
diff --git a/tex/context/base/core-mak.tex b/tex/context/base/core-mak.tex
index 3f912500f..68315ea57 100644
--- a/tex/context/base/core-mak.tex
+++ b/tex/context/base/core-mak.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-mak,
+%D [ file=core-mak,
%D version=1997.10.05,
%D title=\CONTEXT\ Core Macros,
%D subtitle=General Makeup Commands,
diff --git a/tex/context/base/core-mar.tex b/tex/context/base/core-mar.tex
index 3552137a6..d415e5d24 100644
--- a/tex/context/base/core-mar.tex
+++ b/tex/context/base/core-mar.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-mar,
+%D [ file=core-mar,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Markings,
diff --git a/tex/context/base/core-mat.tex b/tex/context/base/core-mat.tex
index 5df24960f..a243b91c4 100644
--- a/tex/context/base/core-mat.tex
+++ b/tex/context/base/core-mat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-mat,
+%D [ file=core-mat,
%D version=1998.12.07,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Math Fundamentals,
@@ -52,7 +52,7 @@
\bgroup
\forgetdisplayskips
\displaywidowpenalty\widowpenalty % brrr, else widowpenalty does not work
- \everymath\emptytoks
+ \everymath \emptytoks
\everydisplay\emptytoks
$$\strut\global\lastlinewidth\predisplaysize$$
\vskip-\lineheight
@@ -1418,7 +1418,7 @@
%D Because we may overload \type {\text} in other (structuring)
%D macros, we say:
-\appendtoks \let\text\mathtext \to \everymath
+\appendtoks \let\text\mathtext \to \everymathematics
%D \macros
%D {frac, xfrac, xxfrac}
@@ -1539,7 +1539,7 @@
\bgroup
\catcode`\/=\@@other \global \let\normalforwardslash/
-\catcode`\/=\@@active \doglobal\appendtoks\let/\normalforwardslash\to\everymath
+\catcode`\/=\@@active \doglobal\appendtoks\let/\normalforwardslash\to\everymathematics
\egroup
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index 2849afe05..86f50ab1c 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-mis,
+%D [ file=core-mis,
%D version=1998.01.29,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Miscelaneous,
@@ -1313,7 +1313,7 @@
\startdummy
\NC\@@@kmbet\EQ\@@kmbet\NC\NR
\NC\@@@kmdat\EQ\@@kmdat\NC\NR
- \NC\@@@kmken\EQ\expanded{\kap{\@@kmken}}\NC\NR
+ \NC\@@@kmken\EQ\expanded{\smallcapped{\@@kmken}}\NC\NR
\doifsomething{\@@kmfrom\@@kmto}{\NC\NC\NC\NR}%
\doifsomething \@@kmfrom {\NC\@@@kmvan\EQ\@@kmfrom\NC\NR}%
\doifsomething \@@kmto {\NC\@@@kmaan\EQ\@@kmto\NC\NR}%
diff --git a/tex/context/base/core-nav.tex b/tex/context/base/core-nav.tex
index e05f8de10..f9d80b744 100644
--- a/tex/context/base/core-nav.tex
+++ b/tex/context/base/core-nav.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-nav,
+%D [ file=core-nav,
%D version=1998.01.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Navigation,
diff --git a/tex/context/base/core-new.tex b/tex/context/base/core-new.tex
index 824bcd3f6..0b2447c11 100644
--- a/tex/context/base/core-new.tex
+++ b/tex/context/base/core-new.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-nav,
+%D [ file=core-nav,
%D version=1995.01.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=New ones,
diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex
index a2013a618..e6b2e1baa 100644
--- a/tex/context/base/core-not.tex
+++ b/tex/context/base/core-not.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-not,
+%D [ file=core-not,
%D version=2002.05.10, % 1997.09.15
%D title=\CONTEXT\ Core Macros,
%D subtitle=Note Handling, % Footnote Handling
diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex
index 14d4e943b..3eac578ea 100644
--- a/tex/context/base/core-ntb.tex
+++ b/tex/context/base/core-ntb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ntb,
+%D [ file=core-ntb,
%D version=2000.04.18,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Natural Tables,
@@ -172,25 +172,25 @@
\processaction
[#1]
[ \v!row=>{\dosetupTABLExy[\c!y][#2][#3]},%
- \v!column=>{\dosetupTABLExy[\c!x][#2][#3]},%
+ \v!column=>{\dosetupTABLExy[\c!x][#2][#3]},%
r=>{\dosetupTABLExy[\c!y][#2][#3]},%
c=>{\dosetupTABLExy[\c!x][#2][#3]},%
y=>{\dosetupTABLExy[\c!y][#2][#3]},%
x=>{\dosetupTABLExy[\c!x][#2][#3]},%
\v!start=>{\dosetupTABLExy[#1][#2][#3]},%
- \v!header=>{\dosetupTABLExy[#1][#2][#3]},%
+ \v!header=>{\dosetupTABLExy[#1][#2][#3]},%
\s!unknown=>{\dosetupTABLEzz[#1][#2][#3]}]%
\else\ifsecondargument
\processaction
[#1]
[ \v!row=>{\dosetupTABLExy[\c!y][\v!each][#2]},%
- \v!column=>{\dosetupTABLExy[\c!x][\v!each][#2]},%
+ \v!column=>{\dosetupTABLExy[\c!x][\v!each][#2]},%
r=>{\dosetupTABLExy[\c!y][\v!each][#2]},%
c=>{\dosetupTABLExy[\c!x][\v!each][#2]},%
y=>{\dosetupTABLExy[\c!y][\v!each][#2]},%
x=>{\dosetupTABLExy[\c!x][\v!each][#2]},%
\v!start=>{\dosetupTABLExy[#1][\v!each][#2]},%
- \v!header=>{\dosetupTABLExy[#1][\v!each][#2]},%
+ \v!header=>{\dosetupTABLExy[#1][\v!each][#2]},%
\s!unknown=>{\dosetupTABLEzz[\c!x][#1][#2]}]%
\else
\getparameters[\@@tbl\@@tbl][#1]%
@@ -379,7 +379,7 @@
\processaction
[\tbltblsplit]
[ \v!yes=>\enableTBLbreaktrue,
- \v!repeat=>\enableTBLbreaktrue\multipleTBLheadstrue]%
+ \v!repeat=>\enableTBLbreaktrue\multipleTBLheadstrue]%
\processaction
[\tbltblheader]
[\v!repeat=>\multipleTBLheadstrue]%
@@ -840,7 +840,8 @@
\let\extratblsplitheight\zeropoint % additional space taken by before/afterTABLEsplitbox
\def\splittblboxb#1%
- {\setbox\TABLEsplitbox\vbox{#1}%
+ {\testpage[2]% quite save since a row is > 1 lineheight and we don't want one-liners
+ \setbox\TABLEsplitbox\vbox{#1}%
\setbox8\vbox{\doifsomething\tbltblspaceinbetween{\blank[\tbltblspaceinbetween]}}%
\ifmultipleTBLheads
\setbox2\vbox{}%
@@ -852,7 +853,6 @@
{\setbox0\vsplit\TABLEsplitbox to \lineheight
\setbox4\vbox{\unvcopy4\unvcopy0}}%
\fi
- \testpage[2]% quite save since a row is > 1 lineheight and we don't want one-liners
\!!doneafalse
\doloop
{\ifdim\pagegoal<\maxdimen
@@ -871,7 +871,7 @@
\ifdim\noflines\lineheight>\scratchdimen
\advance\scratchdimen-\lineheight
\fi
-\advance\scratchdimen-\extratblsplitheight
+ \advance\scratchdimen-\extratblsplitheight
\setbox\finaltblbox\vbox
{\ifmultipleTBLheads
\ifcase\noftblheadlines\else
@@ -1163,10 +1163,11 @@
\c!aligncharacter=\v!no,
\c!alignmentcharacter={,},
\c!option=, % \v!stretch
- \c!split=\v!no,
\c!header=,
\c!spaceinbetween=,
\c!maxwidth=8em,
+ \c!split=\v!no,
+ \c!splitoffset=0pt,
\c!splitmethod=a]
%D We have already prepared the previous macros for nesting,
diff --git a/tex/context/base/core-num.tex b/tex/context/base/core-num.tex
index 5b15a3f90..1054c4e19 100644
--- a/tex/context/base/core-num.tex
+++ b/tex/context/base/core-num.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-num,
+%D [ file=core-num,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Numbering,
@@ -36,12 +36,16 @@
\def\@@thenumber#1{\s!number\csname\s!number#1\c!number\endcsname}
+% this will be the new (public) one: \let\numberparameterprefix\@@thenumber
+
+\def\numberparameter#1#2{\csname\@@thenumber{#1}#2\endcsname} % sort of public
+
\def\dosetupnumber[#1][#2]%
{\@EA\let\@EA\savedstartnumber\csname\@@thenumber{#1}\c!start\endcsname
\getparameters[\@@thenumber{#1}][\c!start=,#2]%
- \doifelsevaluenothing{\@@thenumber{#1}\c!start}
+ \doifelsenothing{\numberparameter{#1}\c!start}
{\letvalue{\@@thenumber{#1}\c!start}\savedstartnumber}
- {\setcounter{\@@thenumber{#1}}{\getvalue{\@@thenumber{#1}\c!start}}}}
+ {\setcounter{\@@thenumber{#1}}{\numberparameter{#1}\c!start}}}
\def\setupnumber
{\dodoubleargument\dosetupnumber}
@@ -62,42 +66,40 @@
[\c!number=#1,
\s!check=,
\c!way=\@@nrway,
- \c!way\c!local=\getvalue{\@@thenumber{#1}\c!way},
+ \c!way\c!local=\numberparameter{#1}\c!way,
\c!sectionnumber=\v!yes,
- \c!text=, % weg hier
- \c!location=, % weg hier, was trouwens \c!zetwijze
+ \c!text=, % no longer used here, will go away
+ \c!location=, % no longer used here, will go away (was ooit \c!zetwijze)
\c!conversion=\v!numbers,
\c!start=0,
#2]%
\makecounter{\@@thenumber{#1}}%
- \setcounter{\@@thenumber{#1}}{\getvalue{\@@thenumber{#1}\c!start}}}
+ \setcounter{\@@thenumber{#1}}{\numberparameter{#1}\c!start}}
\def\setnumber[#1]#2%
{\setcounter{\@@thenumber{#1}}{#2}}
\def\resetnumber[#1]%
- {\setcounter{\@@thenumber{#1}}{0\csname\@@thenumber{#1}\c!start\endcsname}}
+ {\setcounter{\@@thenumber{#1}}{0\numberparameter{#1}\c!start}}
\def\dodoreset#1%
{\getvalue{\s!reset#1}}%
-\def\doreset[#1]%
- {\processcommalist[#1]\dodoreset}
-
-\def\reset
- {\dosingleargument\doreset}
-
-%\def\incrementnumber[#1]%
-% {\checknummer{#1}%
-% \doifnot\@@nrstatus\v!start{\resetcounter{\@@thenumber{#1}}}%
-% \pluscounter{\@@thenumber{#1}}}
-
\def\savenumber[#1]%
{\savecounter{\@@thenumber{#1}}}
\def\restorenumber[#1]%
{\restorecounter{\@@thenumber{#1}}}
+%D Bonus macro (we need to keep this one for downward
+%D compatibility reasons).
+
+\def\doreset[#1]%
+ {\processcommalist[#1]\dodoreset}
+
+\def\reset
+ {\dosingleargument\doreset}
+
% nieuw, maar kan dit (i.v.m. (sub)page?)
% \def\incrementnumber[#1]%
@@ -107,13 +109,13 @@
% {\setcounter{\@@thenumber{#1}}{0\csname\@@thenumber{#1}\c!start\endcsname}}}
\def\incrementnumber[#1]% bypage tricky: needs a
- {\doifelsevalue{\@@thenumber{#1}\c!way}{\v!by\v!page}
+ {\doifelse{\numberparameter{#1}\c!way}{\v!by\v!page}
{\checkpagechange{#1}%
\ifpagechanged\resetcounter{\@@thenumber{#1}}\fi}
{\checknummer{#1}}%
\doifelse\@@nrstate\v!start % only here
{\pluscounter{\@@thenumber{#1}}}
- {\setcounter{\@@thenumber{#1}}{0\getvalue{\@@thenumber{#1}\c!start}}}}
+ {\setcounter{\@@thenumber{#1}}{0\numberparameter{#1}\c!start}}}
% \defineenumeration [test] [way=bypage,text=\lastchangedpage]
%
@@ -124,7 +126,7 @@
\def\convertednumber[#1]%
{\convertnumber
- {\getvalue{\@@thenumber{#1}\c!conversion}}
+ {\numberparameter{#1}\c!conversion}
{\countervalue{\@@thenumber{#1}}}}
\def\rawnumber[#1]%
diff --git a/tex/context/base/core-obj.tex b/tex/context/base/core-obj.tex
index 9b3aa1619..8f482848d 100644
--- a/tex/context/base/core-obj.tex
+++ b/tex/context/base/core-obj.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-obj,
+%D [ file=core-obj,
%D version=1998.01.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Object Handling,
diff --git a/tex/context/base/core-par.tex b/tex/context/base/core-par.tex
index 053075349..66c3ad850 100644
--- a/tex/context/base/core-par.tex
+++ b/tex/context/base/core-par.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-par,
+%D [ file=core-par,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Paragraph Tricks,
diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex
index a84645321..be1176752 100644
--- a/tex/context/base/core-pos.tex
+++ b/tex/context/base/core-pos.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-pos,
+%D [ file=core-pos,
%D version=1999.08.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Positioning Support,
@@ -616,7 +616,7 @@
\def\doifpositionaction#1%
{\ifundefined{\POSactionprefix#1::}%
- \@EA\gobblefirstargument
+ \@EA\gobbleoneargument
\else
\@EA\firstofoneargument
\fi}
diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex
index 109c84917..d778d5f43 100644
--- a/tex/context/base/core-ref.tex
+++ b/tex/context/base/core-ref.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ref,
+%D [ file=core-ref,
%D version=1998.01.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Cross Referencing,
@@ -314,18 +314,18 @@
%D In practice this comes to giving \type {\mainreference} a
%D appropriate meaning and loading the utility file.
-% \def\setreferences%
+% \def\setreferences
% {\def\mainreference##1##2##3##4##5%
% {\doifundefinedelse{\r!cross\fileprefix##1##2}
% {\setglobalcrossreference{##1##2}{##3}{##4}{##5}}
-% {\showmessage{\m!references}{2}{[##1][##2],##4}}}}
+% {\showmessage\m!references{2}{[##1][##2],##4}}}}
-% \def\setreferences%
+% \def\setreferences
% {\the\everyreference % we're grouped anyway
% \def\mainreference##1##2##3##4##5%
% {\doifundefinedelse{\r!cross\fileprefix##1##2}
% {\setglobalcrossreference{##1##2}{##3}{##4}{##5}}
-% {\ifcase0##4\else\showmessage{\m!references}{2}{[##1][##2],##4}\fi}}}
+% {\ifcase0##4\else\showmessage\m!references{2}{[##1][##2],##4}\fi}}}
%D For a long time the only way to access an external file was
%D to use the file prefix (\type {somefile::}. However, when
@@ -344,7 +344,7 @@
\chardef\autocrossfilereferences=0
-% \def\setreferences% some day, filename will be stored in ref record
+% \def\setreferences % some day, filename will be stored in ref record
% {\the\everyreference % we're grouped anyway
% \def\mainreference##1##2##3##4##5%
% {\doifundefinedelse{\r!cross\fileprefix##1##2}
@@ -354,14 +354,14 @@
% \setglobalcrossreference{##1##2}{##3}{##4}{##5}%
% \doifundefinedelse{\r!cross##1##2}
% {\expanded{\definereference[##1##2][\fileprefix##1##2]}}
-% {\showmessage{\m!references}{2}{[##1][##2],##4 (auto \currentutilityfilename)}}%
+% {\showmessage\m!references2{[##1][##2],##4 (auto \currentutilityfilename)}}%
% \or
% \doifundefinedelse{\r!cross##1##2}
% {\expanded{\definereference[##1##2][\noexpand\v!pagina(\fileprefix##4)]}}
-% {\showmessage{\m!references}{2}{[##1][##2],##4 (auto \currentutilityfilename)}}%
+% {\showmessage\m!references2{[##1][##2],##4 (auto \currentutilityfilename)}}%
% \fi}
% {\ifcase0##4\else
-% \showmessage{\m!references}{2}{[##1][##2],##4 (\currentutilityfilename)}%
+% \showmessage\m!references2{[##1][##2],##4 (\currentutilityfilename)}%
% \fi}}}
% optimizing this one makes sense when we have docs with 10K
@@ -2621,11 +2621,47 @@
{\leftofreference#1\rightofreference}{#2#3}[#4]%
\fi}
+% \def\dododododoinatreference#1#2[#3]%
+% {\bgroup
+% \forgetall
+% \postponefootnotes
+% \leaveoutervmode
+% \doifreferencefoundelse{#3}
+% {\bgroup
+% \let\ignorespaces \empty % rather dirty trick, but ok
+% \let\leftofreference \empty % the same, again ok
+% \let\rightofreference\empty % and once more
+% \def\textofreference {#2}% % temporary value
+% \ifx\textofreference\empty % simple expansion
+% %\doifelsenothing{#1}
+% % {\egroup\dosymbolreference{#1}{\textofreference}[#3]}
+% % {\egroup\dowantedreference{#1}{\textofreference}[#3]}%
+% \doifelsenothing{#1}%
+% {\egroup\dosymbolreference}%
+% {\egroup\dowantedreference}%
+% {#1}{\textofreference}[#3]%
+% \else
+% %\doifelsenothing{#1}
+% % {\egroup\dosymbolreference{#1}{#2}[#3]}
+% % {\egroup\dowantedreference{#1}{#2}[#3]}%
+% \doifelsenothing{#1}%
+% {\egroup\dosymbolreference}%
+% {\egroup\dowantedreference}%
+% {#1}{#2}[#3]%
+% \fi}
+% {\dounknownreference{#1}{#2}[#3]}%
+% \referentieinfo<{#3}%
+% \global\let\leftofreference \empty
+% \global\let\rightofreference\empty
+% \global\let\textofreference \empty
+% \egroup}
+
\def\dododododoinatreference#1#2[#3]%
- {\bgroup
+ {\dontleavehmode % replaces \leaveoutervmode
+ \bgroup
\forgetall
-\postponefootnotes
- \leaveoutervmode
+ \postponefootnotes
+ %\leaveoutervmode % replaced by \dontleavehmode
\doifreferencefoundelse{#3}
{\bgroup
\let\ignorespaces \empty % rather dirty trick, but ok
@@ -3498,7 +3534,7 @@
\processallactionsinset
[#2]
[ \v!page=>\advance\!!counta 4,
- \v!sub\v!page=>\advance\!!counta 4,
+ \v!subpage=>\advance\!!counta 4,
\s!unknown=>\advance\!!counta 1]%
\ifdim\@@ibwidth=\!!zeropoint\relax
\!!widtha2em
@@ -3530,7 +3566,7 @@
\goto\v!nextpage
\goto\v!previouspage
\goto\v!lastpage,
- \v!sub\v!page=>\goto\v!firstsubpage
+ \v!subpage=>\goto\v!firstsubpage
\goto\v!nextsubpage
\goto\v!previoussubpage
\goto\v!lastsubpage,
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex
index d2461f203..88a099184 100644
--- a/tex/context/base/core-reg.tex
+++ b/tex/context/base/core-reg.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-reg,
+%D [ file=core-reg,
%D version=1999.12.27,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Register Management,
@@ -923,7 +923,7 @@
\fi}
\def\completeregister
- {\dodoubleempty\doplaceregister}
+ {\dodoubleempty\docompleteregister}
\def\docompleteregister[#1][#2]%
{\iffirstargument
@@ -975,9 +975,9 @@
\setvalue{\e!see#1}%
{\dozieregister{#1}}%
\setvalue{\e!place#1}%
- {\doplaceregister[#1]}%
+ {\placeregister[#1]}%
\setvalue{\e!complete#1}%
- {\docompleteregister[#1]}%
+ {\completeregister[#1]}%
\setvalue{\e!setup#1\e!in}[##1]%
{\getparameters[\??id#1][##1]}}
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index 55579d861..2ce7e3977 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-rul,
+%D [ file=core-rul,
%D version=1998.10.16,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Ruled Stuff Handling,
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index b455f8ac2..e78ec766b 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-sec,
+%D [ file=core-sec,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Sectioning,
@@ -1053,23 +1053,14 @@
{\doifvaluesomething{\??ko#1#3}
{\setuplayouttext[#2][\c!state=\getvalue{\??ko#1#3}]}}}
-% \def\dohandelpaginaafB#1%
-% {\doifinset{\getvalue{\??ko#1\c!pagina}}{\v!ja,\v!rechts,\v!links}
-% {\def\resetcurrentsectionmarks% toegevoegd, zie \page
-% {\resetsectionmarks{\previoussection\@@sectie}}%
-% \page[\getvalue{\??ko#1\c!pagina}]%
-% \dohandelpaginaafBB{#1}\v!hoofd\c!hoofd
-% \dohandelpaginaafBB{#1}\v!tekst\c!tekst
-% \dohandelpaginaafBB{#1}\v!voet \c!voet}}
-
\def\dohandelpaginaafB#1%
{\doifvaluesomething{\??ko#1\c!page}
{\def\resetcurrentsectionmarks% toegevoegd, zie \page
{\resetsectionmarks{\previoussection\@@sectie}}%
\page[\getvalue{\??ko#1\c!page}]%
\dohandelpaginaafBB{#1}\v!header\c!header
- \dohandelpaginaafBB{#1}\v!text\c!text
- \dohandelpaginaafBB{#1}\v!footer \c!footer}}
+ \dohandelpaginaafBB{#1}\v!text \c!text
+ \dohandelpaginaafBB{#1}\v!footer\c!footer}}
\def\dohandelpaginaafX#1% zie doordefinieren / boven
{\bgroup
@@ -1087,8 +1078,7 @@
\ifnum\countervalue{\??se\@@sectie}>\zerocount
\dohandelpaginaafB{#1}%
\else
- \doifnotvalue{\??ko#1\c!continue}\v!yes
- {\dohandelpaginaafB{#1}}%
+ \doifnotvalue{\??ko#1\c!continue}\v!yes{\dohandelpaginaafB{#1}}%
\fi
\else
\dohandelpaginaafB{#1}%
@@ -2232,27 +2222,27 @@
[\c!section=\v!sectionlevel-3]
\definehead
- [\v!sub\v!section]
+ [\v!subsection]
[\c!section=\v!sectionlevel-4,
\c!default=\v!section]
\definehead
- [\v!sub\v!sub\v!section]
+ [\v!subsubsection]
[\c!section=\v!sectionlevel-5,
%\c!default=\v!section]
- \c!default=\v!sub\v!section] % nieuw
+ \c!default=\v!subsection] % nieuw
\definehead
- [\v!sub\v!sub\v!sub\v!section]
+ [\v!subsubsubsection]
[\c!section=\v!sectionlevel-6,
%\c!default=\v!section]
- \c!default=\v!sub\v!sub\v!section] % nieuw
+ \c!default=\v!subsubsection] % nieuw
\definehead
- [\v!sub\v!sub\v!sub\v!sub\v!section]
+ [\v!subsubsubsubsection]
[\c!section=\v!sectionlevel-7,
%\c!default=\v!section]
- \c!default=\v!sub\v!sub\v!sub\v!section] % nieuw
+ \c!default=\v!subsubsubsection] % nieuw
\definehead
[\v!title]
@@ -2267,32 +2257,32 @@
\c!incrementnumber=\v!no]
\definehead
- [\v!sub\v!subject]
- [\c!coupling=\v!sub\v!section,
- \c!default=\v!sub\v!section,
+ [\v!subsubject]
+ [\c!coupling=\v!subsection,
+ \c!default=\v!subsection,
\c!incrementnumber=\v!no]
\definehead
- [\v!sub\v!sub\v!subject]
- [\c!coupling=\v!sub\v!sub\v!section,
- \c!default=\v!sub\v!sub\v!section,
+ [\v!subsubsubject]
+ [\c!coupling=\v!subsubsection,
+ \c!default=\v!subsubsection,
\c!incrementnumber=\v!no]
\definehead
- [\v!sub\v!sub\v!sub\v!subject]
- [\c!coupling=\v!sub\v!sub\v!sub\v!section,
- \c!default=\v!sub\v!sub\v!sub\v!section,
+ [\v!subsubsubsubject]
+ [\c!coupling=\v!subsubsubsection,
+ \c!default=\v!subsubsubsection,
\c!incrementnumber=\v!no]
\definehead
- [\v!sub\v!sub\v!sub\v!sub\v!subject]
- [\c!coupling=\v!sub\v!sub\v!sub\v!sub\v!section,
- \c!default=\v!sub\v!sub\v!sub\v!sub\v!section,
+ [\v!subsubsubsubsubject]
+ [\c!coupling=\v!subsubsubsubsection,
+ \c!default=\v!subsubsubsubsection,
\c!incrementnumber=\v!no]
\setupsection
[\v!sectionlevel-2]
- [\v!appendix\c!conversion=\v!Letter,
+ [\v!appendix\c!conversion=\v!Character,
\c!previousnumber=\v!no]
\setuphead
@@ -2302,22 +2292,22 @@
\setuphead
[\v!chapter]
[\v!appendix\c!label=\v!appendix,
- \v!bodypart\c!label=\v!chapter] % bijlageconversie=\Character
+ \v!bodypart\c!label=\v!chapter] % bijlageconversie=\Character
\setuphead
[\v!section]
[\v!appendix\c!label=\v!section,
- \v!bodypart\c!label=\v!section] % bijlageconversie=\Character
+ \v!bodypart\c!label=\v!section] % bijlageconversie=\Character
\setuphead
- [\v!sub\v!section]
- [\v!appendix\c!label=\v!sub\v!section,
- \v!bodypart\c!label=\v!sub\v!section] % bijlageconversie=\Character
+ [\v!subsection]
+ [\v!appendix\c!label=\v!subsection,
+ \v!bodypart\c!label=\v!subsection] % bijlageconversie=\Character
\setuphead
- [\v!sub\v!sub\v!section]
- [\v!appendix\c!label=\v!sub\v!sub\v!section,
- \v!bodypart\c!label=\v!sub\v!sub\v!section] % bijlageconversie=\Character
+ [\v!subsubsection]
+ [\v!appendix\c!label=\v!subsubsection,
+ \v!bodypart\c!label=\v!subsubsection] % bijlageconversie=\Character
\setuphead
[\v!part,\v!chapter]
@@ -2341,7 +2331,7 @@
\c!after=\blank]
\setuphead % nieuw
- [\v!sub\v!section]
+ [\v!subsection]
[\c!page=]
\definecombinedlist
@@ -2349,11 +2339,11 @@
[\v!part,
\v!chapter,
\v!section,
- \v!sub\v!section,
- \v!sub\v!sub\v!section,
- \v!sub\v!sub\v!sub\v!section,
- \v!sub\v!sub\v!sub\v!sub\v!section]
- [\c!level=\v!sub\v!sub\v!sub\v!sub\v!section,
+ \v!subsection,
+ \v!subsubsection,
+ \v!subsubsubsection,
+ \v!subsubsubsubsection]
+ [\c!level=\v!subsubsubsubsection,
\c!criterium=\v!local]
\setuplist
@@ -2369,13 +2359,13 @@
[\c!before={\blank\page[\v!preference]},
\c!after=]
-\setuplist [\v!part] [\c!width=0em]
-\setuplist [\v!chapter] [\c!width=2em]
-\setuplist [\v!section] [\c!width=3em]
-\setuplist [\v!sub\v!section] [\c!width=4em]
-\setuplist [\v!sub\v!sub\v!section] [\c!width=5em]
-\setuplist [\v!sub\v!sub\v!sub\v!section] [\c!width=6em]
-\setuplist [\v!sub\v!sub\v!sub\v!sub\v!section] [\c!width=7em]
+\setuplist [\v!part] [\c!width=0em]
+\setuplist [\v!chapter] [\c!width=2em]
+\setuplist [\v!section] [\c!width=3em]
+\setuplist [\v!subsection] [\c!width=4em]
+\setuplist [\v!subsubsection] [\c!width=5em]
+\setuplist [\v!subsubsubsection] [\c!width=6em]
+\setuplist [\v!subsubsubsubsection] [\c!width=7em]
% hm
diff --git a/tex/context/base/core-snc.tex b/tex/context/base/core-snc.tex
index 2ecd1058b..55c6e15df 100644
--- a/tex/context/base/core-snc.tex
+++ b/tex/context/base/core-snc.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-snc,
+%D [ file=core-snc,
%D version=2003.12.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Synchronization Support,
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index aca3a84f9..13b89f1e1 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-spa,
+%D [ file=core-spa,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Spacing,
@@ -1958,10 +1958,10 @@
{\processaction
[#1]
[ \v!yes=>\setstrut,
- \v!no=>\setnostrut,
+ \v!no=>\setnostrut,
\v!cap=>\setcapstrut,
- \v!fit=>\setfontstrut,
- \v!line=>\setstrut,
+ \v!fit=>\setfontstrut,
+ \v!line=>\setstrut,
\s!default=>\setstrut,
\s!unknown=>\setcharstrut\commalistelement]}
@@ -2325,86 +2325,44 @@
\def\dosetraggedvbox#1%
{\processaction
[#1]
- [ \v!left=>\let\raggedbox\lbox,
- \v!right=>\let\raggedbox\rbox,
+ [ \v!left=>\let\raggedbox\lbox,
+ \v!right=>\let\raggedbox\rbox,
\v!middle=>\let\raggedbox\cbox,
- \v!inner=>\let\raggedbox\ibox,
- \v!outer=>\let\raggedbox\obox,
- \v!no=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=},
+ \v!inner=>\let\raggedbox\ibox,
+ \v!outer=>\let\raggedbox\obox,
+ \v!flushleft=>\let\raggedbox\rbox,
+ \v!flushright=>\let\raggedbox\lbox,
+ \v!center=>\let\raggedbox\cbox,
+ \v!no=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=},
\s!default=>\let\raggedbox\vbox,
\s!unknown=>\let\raggedbox\vbox]}
\def\dosetraggedhbox#1%
{\processaction % slow
[#1]
- [ \v!left=>\def\raggedbox{\doregelplaats\v!left },
- \v!right=>\def\raggedbox{\doregelplaats\v!right},
+ [ \v!left=>\def\raggedbox{\doregelplaats\v!left },
+ \v!right=>\def\raggedbox{\doregelplaats\v!right },
\v!middle=>\def\raggedbox{\doregelplaats\v!middle},
- \v!inner=>\def\raggedbox{\doregelplaats\v!inner},
- \v!outer=>\def\raggedbox{\doregelplaats\v!outer},
- \v!normal=>\let\raggedbox\hbox,
+ \v!inner=>\def\raggedbox{\doregelplaats\v!inner },
+ \v!outer=>\def\raggedbox{\doregelplaats\v!outer },
+ \v!flushleft=>\def\raggedbox{\doregelplaats\v!right },
+ \v!flushright=>\def\raggedbox{\doregelplaats\v!left },
+ \v!center=>\def\raggedbox{\doregelplaats\v!middle},
+ \v!normal=>\let\raggedbox\hbox,
\s!default=>\let\raggedbox\hbox,
\s!unknown=>\let\raggedbox\hbox]}
-% \def\dosetraggedcommand#1% ook ruim,rechts en zo
-% {\processaction
-% [#1]
-% [ \v!links=>\def\raggedcommand{\raggedleft},
-% \v!rechts=>\def\raggedcommand{\raggedright},
-% \v!midden=>\def\raggedcommand{\raggedcenter},
-% \v!nee=>\def\raggedcommand{\raggedright},
-% \v!normaal=>\let\raggedcommand\relax,
-% \s!default=>\def\raggedcommand{\raggedcenter},
-% \s!unknown=>\let\raggedcommand\relax]}
-
\def\dosetraggedcommand#1%
{\expanded{\dodosetraggedcommand{#1}}}
-% \def\dodosetraggedcommand#1%
-% {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}%
-% \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}%
-% \let\raggedcommand\relax
-% \let\raggedtopcommand\empty
-% \let\raggedbottomcommand\empty
-% \!!donectrue
-% \ExpandFirstAfter\processallactionsinset
-% [#1]
-% [ \v!links=>\if!!donea \def\raggedcommand{\veryraggedleft}%
-% \else \def\raggedcommand{\raggedleft}%
-% \fi
-% \!!donecfalse, % {\v!links,\v!midden}
-% \v!rechts=>\if!!donea \def\raggedcommand{\veryraggedright}%
-% \else \def\raggedcommand{\raggedright}%
-% \fi
-% \!!donecfalse, % {\v!rechts,\v!midden}
-% \v!midden=>\if!!donec
-% \if!!doneb \def\raggedcommand{\raggedwidecenter}%
-% \else\if!!donea \def\raggedcommand{\veryraggedcenter}%
-% \else \def\raggedcommand{\raggedcenter}%
-% \fi\fi
-% \!!donecfalse % {\v!midden,\v!midden}
-% \else
-% \let\raggedbottomcommand\vfilll % bonus, pretty strong
-% \let\raggedtopcommand \vfilll % used with \framed for
-% \fi, % instance in tables
-% \v!hoog=>\let\raggedbottomcommand\vfilll, % and since we lack a
-% \v!laag=>\let\raggedtopcommand \vfilll, % proper keyword, but
-% \v!laho=>\let\raggedbottomcommand\vfilll % we do support the
-% \let\raggedtopcommand \vfilll, % ugly laho (lohi)
-% \v!nee=>\def\raggedcommand{\raggedright},
-% \v!ja=>\let\raggedcommand\notragged, % was \relax
-% \v!normaal=>\let\raggedcommand\notragged]} % was \relax
-%
-% much faster and important since TABLE uses them a lot:
-
\def\dodosetraggedcommand#1% beware: #1=empty is ignored, keep that!
{\let\raggedcommand\relax
\let\raggedtopcommand\empty
\let\raggedbottomcommand\empty
\chardef\raggedoneliner\zerocount
\doifsomething{#1}
- {\doifinsetelse\v!broad {#1}\!!doneatrue\!!doneafalse
- \doifinsetelse\v!wide{#1}\!!donebtrue\!!donebfalse
+ {\doifinsetelse\v!broad{#1}\!!doneatrue\!!doneafalse
+ \doifinsetelse\v!wide {#1}\!!donebtrue\!!donebfalse
\!!donectrue
\rawprocesscommalist[#1]\dododosetraggedcommand}}
@@ -2437,6 +2395,10 @@
\let\raggedtopcommand \vfilll % used with \framed for
\fi} % instance in tables
+\setvalue{\@@ragged@@command\v!flushleft }{\getvalue{\@@ragged@@command\v!right }}
+\setvalue{\@@ragged@@command\v!flushright}{\getvalue{\@@ragged@@command\v!left }}
+\setvalue{\@@ragged@@command\v!center }{\getvalue{\@@ragged@@command\v!middle}}
+
\setvalue{\@@ragged@@command\v!high}%
{\let\raggedbottomcommand\vfilll} % and since we lack a
@@ -2513,7 +2475,7 @@
% Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break}
% een \penalty v¢¢r witruimte worden geplaatst.
-\def\removelastskip% a redefinition of plain
+\def\removelastskip % a redefinition of plain
{\ifvmode\ifdim\lastskip=\zeropoint\else\vskip-\lastskip\fi\fi}
% first version:
@@ -3376,7 +3338,6 @@
\newif\if@@asragged \@@asraggedtrue % old method
-
% todo
%
% \setuplayout[grid=yes,lines=44] \showgrid
@@ -3384,43 +3345,109 @@
% test \vfill test \endgraf \strut \endgraf \vskip-\lineheight \removedepth \pagina test
% \stoptext
-\def\dodosetupalign[#1]%
- {\doifinsetelse\v!broad {#1}\!!doneatrue\!!doneafalse
- \doifinsetelse\v!wide{#1}\!!donebtrue\!!donebfalse
- \ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!line=>\baselinebottom,
- \v!bottom=>\raggedbottom,
- \v!height=>\normalbottom,
- \v!width=>\notragged,
- \v!normal=>\notragged,
- \v!yes=>\notragged,
- \v!no=>\raggedright,
-\if@@asragged\v!inner\else\v!outer\fi
- =>\setraggedparagraphmode\raggedleft\raggedright,
-\if@@asragged\v!outer\else\v!inner\fi
- =>\setraggedparagraphmode\raggedright\raggedleft,
-\if@@asragged\v!left\else\v!right\fi
- =>\if!!donea\veryraggedleft \else\raggedleft \fi,
-\if@@asragged\v!right\else\v!left\fi
- =>\if!!donea\veryraggedright \else\raggedright \fi,
- \v!middle=>\if!!doneb\raggedwidecenter\else
- \if!!donea\veryraggedcenter\else\raggedcenter\fi\fi,
- \v!hanging=>\enableprotruding,
- \v!nothanging=>\disableprotruding,
- \v!hz=>\enableadjusting,
- \v!nohz=>\disableadjusting,
- \v!hyphenated=>\dohyphens,
-\v!nothyphenated=>\nohyphens,
- \v!new=>\@@asraggedfalse, % so new will give you consistency
- \v!reset=>\notragged\normalbottom]}
-
-\def\dosetupalign[#1]%
- {\expanded{\dodosetupalign[#1]}}
+% Keep this one:
+%
+% \def\setupalign
+% {\dosingleargument\dosetupalign}
+%
+% \def\dosetupalign[#1]%
+% {\expanded{\dodosetupalign[#1]}}
+%
+% \def\dodosetupalign[#1]%
+% {\doifinsetelse\v!broad {#1}\!!doneatrue\!!doneafalse
+% \doifinsetelse\v!wide{#1}\!!donebtrue\!!donebfalse
+% \ExpandFirstAfter\processallactionsinset % expansion redundant
+% [#1]
+% [ \v!line=>\baselinebottom,
+% \v!bottom=>\raggedbottom,
+% \v!height=>\normalbottom,
+% \v!width=>\notragged,
+% \v!normal=>\notragged,
+% \v!yes=>\notragged,
+% \v!no=>\raggedright,
+% \if@@asragged\v!inner\else\v!outer\fi=>\setraggedparagraphmode\raggedleft\raggedright,
+% \if@@asragged\v!outer\else\v!inner\fi=>\setraggedparagraphmode\raggedright\raggedleft,
+% \if@@asragged\v!left \else\v!right\fi=>\if!!donea\veryraggedleft \else\raggedleft \fi,
+% \if@@asragged\v!right\else\v!left \fi=>\if!!donea\veryraggedright \else\raggedright \fi,
+% \v!middle=>\if!!doneb\raggedwidecenter\else\if!!donea\veryraggedcenter\else\raggedcenter\fi\fi,
+% \v!flushleft=>\if!!donea\veryraggedright \else\raggedright \fi,
+% \v!flushright=>\if!!donea\veryraggedleft \else\raggedleft \fi,
+% \v!center=>\if!!doneb\raggedwidecenter\else\if!!donea\veryraggedcenter\else\raggedcenter\fi\fi,
+% \v!hanging=>\enableprotruding,
+% \v!nothanging=>\disableprotruding,
+% \v!hz=>\enableadjusting,
+% \v!nohz=>\disableadjusting,
+% \v!hyphenated=>\dohyphens,
+% \v!nothyphenated=>\nohyphens,
+% \v!new=>\@@asraggedfalse, % so new will give you consistency
+% \v!reset=>\notragged\normalbottom]}
+%
+% The next one is more than three times faster:
+
+\setvalue{@@align@@\v!line }{\baselinebottom}
+\setvalue{@@align@@\v!bottom }{\raggedbottom}
+\setvalue{@@align@@\v!height }{\normalbottom}
+\setvalue{@@align@@\v!width }{\notragged}
+\setvalue{@@align@@\v!normal }{\notragged}
+\setvalue{@@align@@\v!yes }{\notragged}
+\setvalue{@@align@@\v!no }{\raggedright}
+\setvalue{@@align@@\v!inner }{\if@@asragged
+ \setraggedparagraphmode\raggedleft\raggedright
+ \else
+ \setraggedparagraphmode\raggedright\raggedleft
+ \fi}
+\setvalue{@@align@@\v!outer }{\if@@asragged
+ \setraggedparagraphmode\raggedright\raggedleft
+ \else
+ \setraggedparagraphmode\raggedleft\raggedright
+ \fi}
+\setvalue{@@align@@\v!left }{\if@@asragged
+ \if!!donea\veryraggedleft\else\raggedleft\fi
+ \else
+ \if!!donea\veryraggedright\else\raggedright\fi
+ \fi}
+\setvalue{@@align@@\v!right }{\if@@asragged
+ \if!!donea\veryraggedright\else\raggedright\fi
+ \else
+ \if!!donea\veryraggedleft\else\raggedleft\fi
+ \fi}
+\setvalue{@@align@@\v!middle }{\if!!doneb\raggedwidecenter\else\if!!donea\veryraggedcenter\else\raggedcenter\fi\fi}
+\setvalue{@@align@@\v!flushleft }{\if!!donea\veryraggedright \else\raggedright \fi}
+\setvalue{@@align@@\v!flushright }{\if!!donea\veryraggedleft \else\raggedleft \fi}
+\setvalue{@@align@@\v!center }{\if!!doneb\raggedwidecenter\else\if!!donea\veryraggedcenter\else\raggedcenter\fi\fi}
+\setvalue{@@align@@\v!hanging }{\enableprotruding}
+\setvalue{@@align@@\v!nothanging }{\disableprotruding}
+\setvalue{@@align@@\v!hz }{\enableadjusting}
+\setvalue{@@align@@\v!nohz }{\disableadjusting}
+\setvalue{@@align@@\v!hyphenated }{\dohyphens}
+\setvalue{@@align@@\v!nothyphenated}{\nohyphens}
+\setvalue{@@align@@\v!new }{\@@asraggedfalse} % so new will give you consistency
+\setvalue{@@align@@\v!reset }{\notragged\normalbottom}
+
+\setvalue{@@ngila@@\v!broad }{\!!doneatrue}
+\setvalue{@@ngila@@\v!wide }{\!!donebtrue}
+
+\def\dodosetupalign#1{\getvalue{@@align@@#1}}
+\def\dodosetupngila#1{\getvalue{@@ngila@@#1}}
\def\setupalign
{\dosingleargument\dosetupalign}
+\def\dosetupalign[#1]%
+ {\!!doneafalse
+ \!!donebfalse
+ \processcommacommand[#1]\dodosetupngila
+ \processcommacommand[#1]\dodosetupalign}
+
+% \setupalign[flushleft] \input ward \par % lijnlinks
+% \setupalign[right] \input ward \par
+
+% \setupalign[flushright] \input ward \par % lijnrechts
+% \setupalign[left] \input ward \par
+
+% \setupalign[middle] \input ward \par % centreer
+% \setupalign[center] \input ward \par
+
\def\startalignment
{\bgroup
\setupalign}
@@ -3447,16 +3474,20 @@
% directe commando's
\def\leftaligned {\doalignline \relax \hss }
-\def\midaligned{\doalignline \hss \hss }
+\def\midaligned {\doalignline \hss \hss }
\def\rightaligned{\doalignline \hss \relax}
-\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}}
+\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}} % to be translated
% indirecte commando's
-\setvalue{\s!do\v!line\v!left }{\doalignline \relax \hss }
-\setvalue{\s!do\v!line\v!right}{\doalignline \hss \relax}
-\setvalue{\s!do\v!line\v!middle}{\doalignline \hss \hss }
+\letvalue{\s!do\v!line\v!left }\leftaligned
+\letvalue{\s!do\v!line\v!right }\rightaligned
+\letvalue{\s!do\v!line\v!middle}\midaligned
+
+\letvalue{\s!do\v!line\v!flushleft }\rightaligned
+\letvalue{\s!do\v!line\v!flushright}\leftaligned
+\letvalue{\s!do\v!line\v!center }\midaligned
\def\doregelplaats#1{\csname\s!do\v!line#1\endcsname}
@@ -3501,17 +3532,17 @@
\setvalue{\s!do\v!line\v!inner }{\doxalignline\doxcheckline++\zeropoint \relax\hss }
\setvalue{\s!do\v!line\v!outer }{\doxalignline\doxcheckline++\zeropoint \hss \relax}
-\setvalue{\s!do\v!line\v!innermargin }{\doxalignline\doxcheckline-+\innermargintotal\relax\hss }
-\setvalue{\s!do\v!line\v!outermargin }{\doxalignline\doxcheckline+-\outermargintotal\hss \relax}
+\setvalue{\s!do\v!line\v!innermargin}{\doxalignline\doxcheckline-+\innermargintotal\relax\hss }
+\setvalue{\s!do\v!line\v!outermargin}{\doxalignline\doxcheckline+-\outermargintotal\hss \relax}
\setvalue{\s!do\v!line\v!inneredge }{\doxalignline\doxcheckline-+\inneredgetotal \relax\hss }
\setvalue{\s!do\v!line\v!outeredge }{\doxalignline\doxcheckline+-\outeredgetotal \hss \relax}
-\setvalue{\s!do\v!line\v!backspace }{\doxalignline\doxcheckline-+\backspace \relax\hss }
-\setvalue{\s!do\v!line\v!cutspace }{\doxalignline\doxcheckline+-\cutspace \hss \relax}
+\setvalue{\s!do\v!line\v!backspace }{\doxalignline\doxcheckline-+\backspace \relax\hss }
+\setvalue{\s!do\v!line\v!cutspace }{\doxalignline\doxcheckline+-\cutspace \hss \relax}
\setvalue{\s!do\v!line\v!leftmargin }{\doxalignline\donefalse --\leftmargintotal \hss \relax}
\setvalue{\s!do\v!line\v!rightmargin}{\doxalignline\donefalse ++\rightmargintotal\relax\hss }
-\setvalue{\s!do\v!line\v!leftedge }{\doxalignline\donefalse --\leftedgetotal \hss \relax}
-\setvalue{\s!do\v!line\v!rightedge }{\doxalignline\donefalse ++\rightedgetotal \relax\hss }
+\setvalue{\s!do\v!line\v!leftedge }{\doxalignline\donefalse --\leftedgetotal \hss \relax}
+\setvalue{\s!do\v!line\v!rightedge }{\doxalignline\donefalse ++\rightedgetotal \relax\hss }
% ! ! ! beware, redefining \doalignline gives the wrong results ! ! !
%
@@ -3536,16 +3567,16 @@
{\doifinsetelse\v!vertical{#1}%
{\ExpandFirstAfter\processallactionsinset
[#1]
- [\v!verystrict=>\def\bottomtolerance{},
- \v!strict=>\def\bottomtolerance{.050},
+ [ \v!verystrict=>\def\bottomtolerance{},
+ \v!strict=>\def\bottomtolerance{.050},
\v!tolerant=>\def\bottomtolerance{.075},
\v!verytolerant=>\def\bottomtolerance{.100}]}%
{\ExpandFirstAfter\processallactionsinset
[#1]
- [ \v!stretch=>\emergencystretch\bodyfontsize,
- \v!space=>\spaceskip.5em\!!plus.25em\!!minus.25em\relax,
- \v!verystrict=>\tolerance 200,
- \v!strict=>\tolerance1500,
+ [ \v!stretch=>\emergencystretch\bodyfontsize,
+ \v!space=>\spaceskip.5em\!!plus.25em\!!minus.25em\relax,
+ \v!verystrict=>\tolerance 200,
+ \v!strict=>\tolerance1500,
\v!tolerant=>\tolerance3000,
\v!verytolerant=>\tolerance4500]}}
@@ -3791,6 +3822,8 @@
% \vskip10pt
% \hrule width10cm \endgraf
+% etex only, evt splitskip macro gebruiken (syst-new)
+
\newskip\simplifiedskip
\newskip\simplifiedcounter
diff --git a/tex/context/base/core-syn.tex b/tex/context/base/core-syn.tex
index bfbad02cb..1b0c07172 100644
--- a/tex/context/base/core-syn.tex
+++ b/tex/context/base/core-syn.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-syn,
+%D [ file=core-syn,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Synonyms and Sorts,
diff --git a/tex/context/base/core-sys.tex b/tex/context/base/core-sys.tex
index a2622838f..9fc3f034b 100644
--- a/tex/context/base/core-sys.tex
+++ b/tex/context/base/core-sys.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-sys, % moved from main-001
+%D [ file=core-sys, % moved from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=System,
diff --git a/tex/context/base/core-tab.tex b/tex/context/base/core-tab.tex
index ddec1bcef..e614293fe 100644
--- a/tex/context/base/core-tab.tex
+++ b/tex/context/base/core-tab.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-tab,
+%D [ file=core-tab,
%D version=1997.10.10,
%D title=\CONTEXT\ Core Macros,
%D subtitle=\TABLE\ Embedding,
@@ -730,7 +730,7 @@
% \letvalue{!tk<\string K>}=\undefined
%
% \NewFormatKey K%
-% {\ReadFormatKeys b\kap}
+% {\ReadFormatKeys b\smallcapped}
%D A few pages back we saw backgrounds, further on we will see
%D colored rules, and here we provide a means to color the
diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex
index ed027a3db..e7b525315 100644
--- a/tex/context/base/core-tbl.tex
+++ b/tex/context/base/core-tbl.tex
@@ -1,6 +1,5 @@
%D \module
-%D \module
-%D [ filefile=core-tbl,
+%D [ file=core-tbl,
%D version=1998.11.03,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Text Flow Tabulation,
diff --git a/tex/context/base/core-uti.tex b/tex/context/base/core-uti.tex
index 1437ec612..a32b670d8 100644
--- a/tex/context/base/core-uti.tex
+++ b/tex/context/base/core-uti.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-uti,
+%D [ file=core-uti,
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Utility File Handling,
@@ -223,8 +223,8 @@
% no longer needed, since texutil is now multi platform
%
-% \def\utilitycheckmessage%
-% {\showmessage{\m!systems}{12}{}%
+% \def\utilitycheckmessage
+% {\showmessage\m!systems{12}{}%
% \globallet\utilitycheckmessage=\relax}
%
% \def\saveutilityline#1 #2\txen% tricky maar ok, want achter \command
@@ -236,12 +236,12 @@
% \utilitycheckmessage
% \fi\fi\fi}
%
-% \def\checkutilityfile%
+% \def\checkutilityfile
% {\doiflocfileelse{\jobname.\f!outputextension}
% {}
% {\doiflocfileelse{\jobname.\f!inputextension}
% {\bgroup
-% \showmessage{\m!systems}{11}{}%
+% \showmessage\m!systems{11}{}%
% \openout\scratchwrite=\jobname.\f!outputextension
% \openlocin\scratchread{\jobname.\f!inputextension}%
% \def\doprocessline%
diff --git a/tex/context/base/core-var.tex b/tex/context/base/core-var.tex
index 6819f5c2d..7e67be23a 100644
--- a/tex/context/base/core-var.tex
+++ b/tex/context/base/core-var.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-var,
+%D [ file=core-var,
%D version=1998.02.21,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Variables,
@@ -44,6 +44,13 @@
\newevery \everybeginofpar \relax
\newevery \everyendofpar \relax
+%D For shared \type {\everymath} and \type {\everydisplay}:
+
+\newevery \everymathematics \relax
+
+\prependtoks \the\everymathematics \to \everymath
+\prependtoks \the\everymathematics \to \everydisplay
+
% \newevery \everyparflush \relax % collected nodes
%D Experimental (used in xml <p> .. </p>
diff --git a/tex/context/base/core-ver.tex b/tex/context/base/core-ver.tex
index 170cd23ad..f61697605 100644
--- a/tex/context/base/core-ver.tex
+++ b/tex/context/base/core-ver.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-ver,
+%D [ file=core-ver,
%D version=2000.05.09,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Verbatim,
diff --git a/tex/context/base/core-vis.tex b/tex/context/base/core-vis.tex
index 1c5335d31..44a3eb37a 100644
--- a/tex/context/base/core-vis.tex
+++ b/tex/context/base/core-vis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=core-vis,
+%D [ file=core-vis,
%D version=1996.06.01,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Visualization,
diff --git a/tex/context/base/enco-acc.tex b/tex/context/base/enco-acc.tex
index d430cbae0..b8b0ff40a 100644
--- a/tex/context/base/enco-acc.tex
+++ b/tex/context/base/enco-acc.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-acc,
+%D [ file=enco-acc,
%D version=2000.20.12, % split from base file
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Composed Characters Commands,
diff --git a/tex/context/base/enco-ans.tex b/tex/context/base/enco-ans.tex
index b49a79984..a4d255202 100644
--- a/tex/context/base/enco-ans.tex
+++ b/tex/context/base/enco-ans.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-ans,
+%D [ file=enco-ans,
%D version=2000.05.07, % 1995.01.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=\YandY\ texnansi Encoding,
diff --git a/tex/context/base/enco-cas.tex b/tex/context/base/enco-cas.tex
index 1850975a5..7629a4b38 100644
--- a/tex/context/base/enco-cas.tex
+++ b/tex/context/base/enco-cas.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-cas,
+%D [ file=enco-cas,
%D version=2000.20.12,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Named Glyph Case Mapping,
diff --git a/tex/context/base/enco-chi.tex b/tex/context/base/enco-chi.tex
index eae8e8c44..5addd57e9 100644
--- a/tex/context/base/enco-chi.tex
+++ b/tex/context/base/enco-chi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-chi,
+%D [ file=enco-chi,
%D version=1999.12.02,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Traditional and Simplified Chinese,
diff --git a/tex/context/base/enco-com.tex b/tex/context/base/enco-com.tex
index c898301c6..42d0d4774 100644
--- a/tex/context/base/enco-com.tex
+++ b/tex/context/base/enco-com.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-com,
+%D [ file=enco-com,
%D version=2000.20.12, % split from base file
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Composed Characters Commands,
diff --git a/tex/context/base/enco-cyr.tex b/tex/context/base/enco-cyr.tex
index 995e8fde8..731d31b8c 100644
--- a/tex/context/base/enco-cyr.tex
+++ b/tex/context/base/enco-cyr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-cyr,
+%D [ file=enco-cyr,
%D version=2003.01.24,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Cyrillic,
diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex
index 1f4bc8ce7..901fcd47c 100644
--- a/tex/context/base/enco-def.tex
+++ b/tex/context/base/enco-def.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-def,
+%D [ file=enco-def,
%D version=2000.05.07, % 2000.20.12, % split from less verbose base file
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Default Character Definitions,
diff --git a/tex/context/base/enco-ec.tex b/tex/context/base/enco-ec.tex
index bb7e130f1..329558f57 100644
--- a/tex/context/base/enco-ec.tex
+++ b/tex/context/base/enco-ec.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-ec,
+%D [ file=enco-ec,
%D version=2000.05.07, % 1999.16.07,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=\LATEX\ EC Encoding,
diff --git a/tex/context/base/enco-ecm.tex b/tex/context/base/enco-ecm.tex
index d3831567e..b74473960 100644
--- a/tex/context/base/enco-ecm.tex
+++ b/tex/context/base/enco-ecm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-ec,
+%D [ file=enco-ec,
%D version=2000.05.07,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Glyphs that may not be present in EC,
diff --git a/tex/context/base/enco-fde.tex b/tex/context/base/enco-fde.tex
index f5888c2ca..7a3e533cb 100644
--- a/tex/context/base/enco-fde.tex
+++ b/tex/context/base/enco-fde.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-fde,
+%D [ file=enco-fde,
%D version=2000.08.20,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=German Input Filter,
diff --git a/tex/context/base/enco-ffr.tex b/tex/context/base/enco-ffr.tex
index 23f824daa..012d572ee 100644
--- a/tex/context/base/enco-ffr.tex
+++ b/tex/context/base/enco-ffr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-ffr,
+%D [ file=enco-ffr,
%D version=2002.05.07,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=French Input Filter,
diff --git a/tex/context/base/enco-fpl.tex b/tex/context/base/enco-fpl.tex
index 8e0cd78f0..0ae286873 100644
--- a/tex/context/base/enco-fpl.tex
+++ b/tex/context/base/enco-fpl.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-fpl,
+%D [ file=enco-fpl,
%D version=2000.08.20,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Polish Input Filter,
diff --git a/tex/context/base/enco-fro.tex b/tex/context/base/enco-fro.tex
index c13318db0..b811e207e 100644
--- a/tex/context/base/enco-fro.tex
+++ b/tex/context/base/enco-fro.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-fro,
+%D [ file=enco-fro,
%D version=2000.08.20,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Romanian Input Filter,
diff --git a/tex/context/base/enco-grk.tex b/tex/context/base/enco-grk.tex
index 2bf4b2c8a..dbab21302 100644
--- a/tex/context/base/enco-grk.tex
+++ b/tex/context/base/enco-grk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-grk,
+%D [ file=enco-grk,
%D version=2003.03.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Greek,
diff --git a/tex/context/base/enco-il2.tex b/tex/context/base/enco-il2.tex
index a56bbd451..042ccf075 100644
--- a/tex/context/base/enco-il2.tex
+++ b/tex/context/base/enco-il2.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-il2,
+%D [ file=enco-il2,
%D version=2000.05.07, % 1998.12.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Czech and Slovak ISO Latin 2 Encoding,
diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex
index 1ab688416..ef07c418f 100644
--- a/tex/context/base/enco-ini.tex
+++ b/tex/context/base/enco-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-ini,
+%D [ file=enco-ini,
%D version=2000.12.27, % 1998.12.03,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Initialization,
@@ -1124,7 +1124,7 @@
\@EA\appendtoks\csname#1\endcsname\to\everyULmap
\@EA\appendtoks\csname#2\endcsname\to\everyULmap}
-% slightly faster with \kap's but far more hash and stringspace
+% slightly faster with \smallcapped's but far more hash and stringspace
%
% \newif\ifuppercase \appendtoks\uppercasetrue\to\everyuppercase
% \newif\iflowercase \appendtoks\lowercasetrue\to\everylowercase
@@ -1153,20 +1153,20 @@
\ifx\obeylccodes\undefined
-\def\obeylccodes
- {\scratchcounter32
- \loop
- \ifnum\scratchcounter<127
- \lccode\scratchcounter\scratchcounter
- \advance\scratchcounter \plusone
- \repeat
- \ifeightbitcharacters
- \scratchcounter128
+ \def\obeylccodes
+ {\scratchcounter32
\loop
- \ifnum\scratchcounter<255
- \lccode\scratchcounter`.
+ \ifnum\scratchcounter<127
+ \lccode\scratchcounter\scratchcounter
\advance\scratchcounter \plusone
\repeat
+ \ifeightbitcharacters
+ \scratchcounter128
+ \loop
+ \ifnum\scratchcounter<255
+ \lccode\scratchcounter`.
+ \advance\scratchcounter \plusone
+ \repeat
\fi}
\fi
diff --git a/tex/context/base/enco-mis.tex b/tex/context/base/enco-mis.tex
index 0b5ddab07..6c312a804 100644
--- a/tex/context/base/enco-mis.tex
+++ b/tex/context/base/enco-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-mis,
+%D [ file=enco-mis,
%D version=2000.05.07, % 1999.11.11,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Missing Glyphs,
diff --git a/tex/context/base/enco-pdf.tex b/tex/context/base/enco-pdf.tex
index f4b25ff28..f6d5b2265 100644
--- a/tex/context/base/enco-pdf.tex
+++ b/tex/context/base/enco-pdf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-pdf,
+%D [ file=enco-pdf,
%D version=1995.01.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=\YandY\ texnansi Encoding,
diff --git a/tex/context/base/enco-pfr.tex b/tex/context/base/enco-pfr.tex
index 5ace40261..ee9857a0e 100644
--- a/tex/context/base/enco-pfr.tex
+++ b/tex/context/base/enco-pfr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-pfr,
+%D [ file=enco-pfr,
%D version=2000.12.10,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=PDF Font Resource Inclusion,
diff --git a/tex/context/base/enco-pol.tex b/tex/context/base/enco-pol.tex
index 8dd1426dd..f3b2e0e25 100644
--- a/tex/context/base/enco-pol.tex
+++ b/tex/context/base/enco-pol.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-pol,
+%D [ file=enco-pol,
%D version=2000.05.07, % 1999.28.8,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Polish Mixed Encoding,
diff --git a/tex/context/base/enco-qx.tex b/tex/context/base/enco-qx.tex
index 0d99ac4a2..7baa6269a 100644
--- a/tex/context/base/enco-qx.tex
+++ b/tex/context/base/enco-qx.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-qx,
+%D [ file=enco-qx,
%D version=2004.04.03,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Polish QX Encoding,
diff --git a/tex/context/base/enco-run.tex b/tex/context/base/enco-run.tex
index 4330d7ba2..976980aaf 100644
--- a/tex/context/base/enco-run.tex
+++ b/tex/context/base/enco-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-run,
+%D [ file=enco-run,
%D version=2000.27.12, % moved to runtime module
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Runtime Macros,
diff --git a/tex/context/base/enco-tbo.tex b/tex/context/base/enco-tbo.tex
index 284049170..3e9719c2a 100644
--- a/tex/context/base/enco-tbo.tex
+++ b/tex/context/base/enco-tbo.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-tbo,
+%D [ file=enco-tbo,
%D version=2000.05.07, % 2001.8.4,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=TeXBaseOne Encoding,
diff --git a/tex/context/base/enco-x5.tex b/tex/context/base/enco-x5.tex
index 7c8f23b69..32a7399ca 100644
--- a/tex/context/base/enco-x5.tex
+++ b/tex/context/base/enco-x5.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-x5,
+%D [ file=enco-x5,
%D version=1999.12.12,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Vietnamese Encoding,
diff --git a/tex/context/base/filt-bas.tex b/tex/context/base/filt-bas.tex
index b53b8b8ab..ca3bc3d70 100644
--- a/tex/context/base/filt-bas.tex
+++ b/tex/context/base/filt-bas.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=filt-bas,
+%D [ file=filt-bas,
%D version=2000.09.19,
%D title=\CONTEXT\ Filter Macros,
%D subtitle=A Base Collection,
diff --git a/tex/context/base/filt-ini.tex b/tex/context/base/filt-ini.tex
index 7541bd397..ec4fa257b 100644
--- a/tex/context/base/filt-ini.tex
+++ b/tex/context/base/filt-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=filt-ini,
+%D [ file=filt-ini,
%D version=2000.09.19,
%D title=\CONTEXT\ Filter Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/font-arb.tex b/tex/context/base/font-arb.tex
index a75858683..59b7d6ca5 100644
--- a/tex/context/base/font-arb.tex
+++ b/tex/context/base/font-arb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-arb,
+%D [ file=font-arb,
%D version=1999.11.06,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Arabic,
diff --git a/tex/context/base/font-bfm.tex b/tex/context/base/font-bfm.tex
index 570594718..e7f510aad 100644
--- a/tex/context/base/font-bfm.tex
+++ b/tex/context/base/font-bfm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-bfm,
+%D [ file=font-bfm,
%D version=2003.11.25,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Mixed Normal and Bold Math,
@@ -169,7 +169,7 @@
\def\boldfacemath {\ifcase\boldfacemathmethod\else\the\everyboldfacemath\fi}
\def\bfm {\boldfacemath} % no \let, so that we can redefine
-\def\autoboldfacemath{\appendtoks\ifcase\boldfacemathmethod\else\let\bf\boldfacemath\fi\to\everymath}
+\def\autoboldfacemath{\appendtoks\ifcase\boldfacemathmethod\else\let\bf\boldfacemath\fi\to\everymathematics}
%D We hook this feature into the formula mechanism.
diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex
index be9b86571..1dc4cbfa8 100644
--- a/tex/context/base/font-chi.tex
+++ b/tex/context/base/font-chi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-chi,
+%D [ file=font-chi,
%D version=1999.10.10,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Chinese,
diff --git a/tex/context/base/font-heb.tex b/tex/context/base/font-heb.tex
index 9a7b7c4a1..1a77d23ea 100644
--- a/tex/context/base/font-heb.tex
+++ b/tex/context/base/font-heb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-heb,
+%D [ file=font-heb,
%D version=1999.11.06,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Hebrew,
diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex
index 2ec942c34..a516de391 100644
--- a/tex/context/base/font-ini.tex
+++ b/tex/context/base/font-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-ini,
+%D [ file=font-ini,
%D version=1998.09.11, % (second)
%D version=2001.02.20, % (third)
%D title=\CONTEXT\ Font Macros,
@@ -737,7 +737,7 @@
{\appendtoks
\ifx\normalhbox\undefined\let\normalhbox\hbox\fi
\let\hbox\mbox
- \to\everymath}
+ \to\everymathematics}
%D So in fact one can enable this feature if needed. I would say:
%D go along, but use grouping if needed!
@@ -1421,7 +1421,7 @@
% \errorstopmode
% \edef\lastfontname{\fontname\lastloadedfont}%
% \ifx\lastfontname\nullfontname
-% \showmessage{\m!fonts}{10}{\fontfile}%
+% \showmessage\m!fonts{10}{\fontfile}%
% \expandafter\font\csname#1\endcsname=\defaultfontfile\somefontspec\relax
% \else
% \expandafter\let\csname#1\endcsname\lastloadedfont
@@ -2767,7 +2767,7 @@
% 0=never 1=everymath 2=always
-\chardef\synchronizebigmathflag =1
+\chardef\synchronizebigmathflag=1
\appendtoks
\ifcase\synchronizebigmathflag
@@ -2777,7 +2777,7 @@
\or
% always
\fi
-\to \everymath
+\to \everymathematics
\def\nobigmath{\chardef\synchronizebigmathflag 0 }
\def\bigmath {\chardef\synchronizebigmathflag 2 \synchronizebigmath}
@@ -4363,8 +4363,8 @@
%D different. We also provide an \WORD {uppercase} style.
\definealternativestyle [\v!cap,\v!capital] [\smallcapped] [\smallcapped]
-\definealternativestyle [\v!smallcaps] [\sc] [\sc]
-\definealternativestyle [\v!WOORD] [\WORD] [\WORD]
+\definealternativestyle [\v!smallcaps] [\sc] [\sc]
+\definealternativestyle [\v!WORD] [\WORD] [\WORD]
%D \macros
%D {...math}
@@ -4438,5 +4438,5 @@
%D \ifx\lastfontname\nullfontname\egroup#3\else\egroup#2\fi}
%D
%D \def\abortiffontnotfound#1%
-%D {\doiffontpresentelse{#1}{}{\showmessage{\m!fonts}{10}{\truefontname{#1}}\endinput}}
+%D {\doiffontpresentelse{#1}{}{\showmessage\m!fonts{10}{\truefontname{#1}}\endinput}}
%D \stoptyping
diff --git a/tex/context/base/font-map.tex b/tex/context/base/font-map.tex
index 8dbe8d24f..33e7fd7dd 100644
--- a/tex/context/base/font-map.tex
+++ b/tex/context/base/font-map.tex
@@ -1,7 +1,5 @@
-% NOT YET ADAPTED TO THE NEW FONT MACROS
-
%D \module
-%D [ filefile=font-map,
+%D [ file=font-map,
%D version=1998.03.13,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Postscript for Maps,
@@ -10,8 +8,10 @@
%D copyright=NTG Maps]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See licen-en.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See licen-en.pdf for
+%C details.
+
+% NOT YET ADAPTED TO THE NEW FONT MACROS
\startnotmode[localfonts]
@@ -28,7 +28,7 @@
\definefontsynonym [SerifBoldItalic] [ftbi] [encoding=texnansi]
\definefontsynonym [SerifBoldSlanted] [ftbi] [encoding=texnansi]
\definefontsynonym [SerifCaps] [ptmrc9t] [encoding=texnansi]
-
+
\definefontsynonym [Sans] [ftl] [encoding=texnansi]
\definefontsynonym [SansBold] [ftb] [encoding=texnansi]
\definefontsynonym [SansItalic] [ftli] [encoding=texnansi]
@@ -36,7 +36,7 @@
\definefontsynonym [SansBoldItalic] [ftbi] [encoding=texnansi]
\definefontsynonym [SansBoldSlanted] [ftbi] [encoding=texnansi]
\definefontsynonym [SansCaps] [ftr] [encoding=texnansi]
-
+
\definefontsynonym [BigSerif] [ptmr7t] [encoding=texnansi]
\definefontsynonym [BigSerifSlanted] [ptmro7t] [encoding=texnansi]
@@ -50,16 +50,16 @@
\stopmode
\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [rm]
- [tf=Serif sa 1.06,
- bf=SerifBold sa 1,
- it=SerifItalic sa 1.06,
- sl=SerifSlanted sa 1.06,
- bi=SerifBoldItalic sa 1,
- bs=SerifBoldSlanted sa 1,
+ [tf=Serif sa 1.06,
+ bf=SerifBold sa 1,
+ it=SerifItalic sa 1.06,
+ sl=SerifSlanted sa 1.06,
+ bi=SerifBoldItalic sa 1,
+ bs=SerifBoldSlanted sa 1,
sc=SerifCaps sa 1.06]
\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt] [rm]
- [tfa=BigSerif sa 1.200,
+ [tfa=BigSerif sa 1.200,
tfb=BigSerif sa 1.440,
tfc=BigSerif sa 1.728,
tfd=BigSerif sa 2.074,
diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex
index 36559206b..a30776cb8 100644
--- a/tex/context/base/font-run.tex
+++ b/tex/context/base/font-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-run,
+%D [ file=font-run,
%D version=1998.09.11, % (second)
%D version=2001.02.20, % (third)
%D title=\CONTEXT\ Font Macros,
diff --git a/tex/context/base/font-uni.tex b/tex/context/base/font-uni.tex
index 9112373f6..381fa2fdf 100644
--- a/tex/context/base/font-uni.tex
+++ b/tex/context/base/font-uni.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-uni,
+%D [ file=font-uni,
%D version=1999.10.10,
%D title=\CONTEXT\ Font Macros,
%D subtitle=\UNICODE\ Initialization,
diff --git a/tex/context/base/font-unk.tex b/tex/context/base/font-unk.tex
index 9f1251fc7..dc17772f4 100644
--- a/tex/context/base/font-unk.tex
+++ b/tex/context/base/font-unk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=font-unk,
+%D [ file=font-unk,
%D version=1998.09.10,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Unknown Defaults,
diff --git a/tex/context/base/font-vnr.tex b/tex/context/base/font-vnr.tex
index 5a2160c81..c3d7f190b 100644
--- a/tex/context/base/font-vnr.tex
+++ b/tex/context/base/font-vnr.tex
@@ -1,7 +1,5 @@
-% NOT YET ADAPTED TO THE NEW FONT MACROS
-
%D \module
-%D [ filefile=font-vnr,
+%D [ file=font-vnr,
%D version=1999.12.12,
%D title=\CONTEXT\ Font Macros,
%D subtitle=Computer Modern Vietnamese,
@@ -10,10 +8,12 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% NOT YET ADAPTED TO THE NEW FONT MACROS
-% to do
+% to do
\definefontsynonym [Serif] [vnb10] [encoding=x5]
\definefontsynonym [SerifBold] [vnb10] [encoding=x5]
@@ -44,11 +44,11 @@
\definefontsynonym [MathItalic] [cmmi10]
\definefontsynonym [MathSymbol] [cmsy10]
-\definefontsynonym [OldStyle] [MathItalic]
+\definefontsynonym [OldStyle] [MathItalic]
-\definebodyfont
- [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
- [rm,ss,tt,mm]
+\definebodyfont
+ [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
+ [rm,ss,tt,mm]
[default]
\endinput
diff --git a/tex/context/base/hand-def.tex b/tex/context/base/hand-def.tex
index 0a758e713..ece8bb13e 100644
--- a/tex/context/base/hand-def.tex
+++ b/tex/context/base/hand-def.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=hand-def, % was enco-pro
+%D [ file=hand-def, % was enco-pro
%D version=2000.29.09,
%D title=\CONTEXT\ Handling Macros,
%D subtitle=Default Protruding Factors,
diff --git a/tex/context/base/hand-ini.tex b/tex/context/base/hand-ini.tex
index 4efe41a26..305c38a1a 100644
--- a/tex/context/base/hand-ini.tex
+++ b/tex/context/base/hand-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=hand-ini, % moved from enco-ini / pro
+%D [ file=hand-ini, % moved from enco-ini / pro
%D version=2000.12.27, % 1998.12.03,
%D title=\CONTEXT\ Handling Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/java-ans.tex b/tex/context/base/java-ans.tex
index 89d3330b9..636c894f9 100644
--- a/tex/context/base/java-ans.tex
+++ b/tex/context/base/java-ans.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-ans,
+%D [ file=java-ans,
%D version=1998.06.01,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Answer Analization,
diff --git a/tex/context/base/java-exa.tex b/tex/context/base/java-exa.tex
index 896b79149..13d3d6fa3 100644
--- a/tex/context/base/java-exa.tex
+++ b/tex/context/base/java-exa.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-exa,
+%D [ file=java-exa,
%D version=2002.??.??,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Example Support,
diff --git a/tex/context/base/java-fil.tex b/tex/context/base/java-fil.tex
index e4d156920..4d79a2ace 100644
--- a/tex/context/base/java-fil.tex
+++ b/tex/context/base/java-fil.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-fil,
+%D [ file=java-fil,
%D version=1998.06.01,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Filing and Printing,
diff --git a/tex/context/base/java-fld.tex b/tex/context/base/java-fld.tex
index e2b304083..e6e5ee03a 100644
--- a/tex/context/base/java-fld.tex
+++ b/tex/context/base/java-fld.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-fld,
+%D [ file=java-fld,
%D version=1998.05.20,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Field Support,
diff --git a/tex/context/base/java-ini.tex b/tex/context/base/java-ini.tex
index b6da3b54f..e3fd4a115 100644
--- a/tex/context/base/java-ini.tex
+++ b/tex/context/base/java-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-ini,
+%D [ file=java-ini,
%D version=1998.01.30,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/java-stp.tex b/tex/context/base/java-stp.tex
index ccf85547c..fcb9d4f22 100644
--- a/tex/context/base/java-stp.tex
+++ b/tex/context/base/java-stp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=java-stp,
+%D [ file=java-stp,
%D version=2004.03.15,
%D title=\CONTEXT\ JavaScript Macros,
%D subtitle=Stepping,
diff --git a/tex/context/base/lang-alt.tex b/tex/context/base/lang-alt.tex
index aec7f7e89..3dff97407 100644
--- a/tex/context/base/lang-alt.tex
+++ b/tex/context/base/lang-alt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-alt,
+%D [ file=lang-alt,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Altaic Languages,
@@ -56,12 +56,12 @@
\setuplabeltext [\s!tr] [\v!figure=\Scedilla ekil ]
\setuplabeltext [\s!tr] [\v!intermezzo=... ]
\setuplabeltext [\s!tr] [\v!graphic=Grafik ]
-\setuplabeltext [\s!tr] [\v!chapter=] % [\v!chapter=Konu ]
-\setuplabeltext [\s!tr] [\v!section=] % [\v!section=Paragraf ]
-\setuplabeltext [\s!tr] [\v!sub\v!section=] % [\c!sub\v!section=Altparagraf ]
-\setuplabeltext [\s!tr] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!tr] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!tr] [\v!appendix=] % [\v!appendix=Ek ]
+\setuplabeltext [\s!tr] [\v!chapter=]
+\setuplabeltext [\s!tr] [\v!section=]
+\setuplabeltext [\s!tr] [\v!subsection=]
+\setuplabeltext [\s!tr] [\v!subsubsection=]
+\setuplabeltext [\s!tr] [\v!subsubsubsection=]
+\setuplabeltext [\s!tr] [\v!appendix=]
\setuplabeltext [\s!tr] [\v!part=Cilt ]
\setuplabeltext [\s!tr] [\v!line=sat\dotlessi r ]
\setuplabeltext [\s!tr] [\v!lines=sat\dotlessi rlar ]
diff --git a/tex/context/base/lang-ana.tex b/tex/context/base/lang-ana.tex
index fe4543e65..336be50f2 100644
--- a/tex/context/base/lang-ana.tex
+++ b/tex/context/base/lang-ana.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-ana,
+%D [ file=lang-ana,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Anatolian Languages,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Anatolian Languages}
@@ -17,7 +17,7 @@
%D many of the first translations were done by Tobias. Later
%D on, corrections were made by users. If you have suggestions,
%D or feel that your name missing here, don't hesitate to send
-%D us an email.
+%D us an email.
\unprotect
diff --git a/tex/context/base/lang-art.tex b/tex/context/base/lang-art.tex
index aa537a521..3f857e11e 100644
--- a/tex/context/base/lang-art.tex
+++ b/tex/context/base/lang-art.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-art,
+%D [ file=lang--art,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Artificial Languages,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Artificial Languages}
@@ -17,7 +17,7 @@
%D many of the first translations were done by Tobias. Later
%D on, corrections were made by users. If you have suggestions,
%D or feel that your name missing here, don't hesitate to send
-%D us an email.
+%D us an email.
% Esperanto
diff --git a/tex/context/base/lang-bal.tex b/tex/context/base/lang-bal.tex
index 5ba751703..c4e0f31f7 100644
--- a/tex/context/base/lang-bal.tex
+++ b/tex/context/base/lang-bal.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-bal,
+%D [ file=lang--bal,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Baltic Languages,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Baltic Languages}
@@ -17,7 +17,7 @@
%D many of the first translations were done by Tobias. Later
%D on, corrections were made by users. If you have suggestions,
%D or feel that your name missing here, don't hesitate to send
-%D us an email.
+%D us an email.
% Lettish/Latvian, Lithuanian
diff --git a/tex/context/base/lang-cel.tex b/tex/context/base/lang-cel.tex
index 922310eba..abbeb10c6 100644
--- a/tex/context/base/lang-cel.tex
+++ b/tex/context/base/lang-cel.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-cel,
+%D [ file=lang-cel,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Celtic Languages,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Celtic Languages}
@@ -17,7 +17,7 @@
%D many of the first translations were done by Tobias. Later
%D on, corrections were made by users. If you have suggestions,
%D or feel that your name missing here, don't hesitate to send
-%D us an email.
+%D us an email.
% Breton, Welsh, Irish, Manx, Scottish Gaelic
diff --git a/tex/context/base/lang-chi.tex b/tex/context/base/lang-chi.tex
index e7cb8fdb1..b0ac6b1d5 100644
--- a/tex/context/base/lang-chi.tex
+++ b/tex/context/base/lang-chi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-chi,
+%D [ file=lang-chi,
%D version=2002.06.25, % 1998.10.10,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Chinese,
@@ -55,9 +55,9 @@
\setuplabeltext [\s!cn] [\v!line=line ]
\setuplabeltext [\s!cn] [\v!lines=lines ]
-\setuplabeltext [\s!cn] [\v!sub\v!section=]
-\setuplabeltext [\s!cn] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!cn] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!cn] [\v!subsection=]
+\setuplabeltext [\s!cn] [\v!subsubsection=]
+\setuplabeltext [\s!cn] [\v!subsubsubsection=]
%D From this definition one can deduce that language, input
%D encoding, font encoding, and glyph meaning form a pretty
diff --git a/tex/context/base/lang-cyr.tex b/tex/context/base/lang-cyr.tex
index 59725498b..37156e706 100644
--- a/tex/context/base/lang-cyr.tex
+++ b/tex/context/base/lang-cyr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-cyr,
+%D [ file=lang-cyr,
%D version=2003.01.24,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Cyrillic Languages,
@@ -187,23 +187,23 @@
\cyrillicf \cyrillici \cyrillick
\space]
-\setuplabeltext [\s!ru] [\v!chapter=]
-\setuplabeltext [\s!ua] [\v!chapter=]
+\setuplabeltext [\s!ru] [\v!chapter=]
+\setuplabeltext [\s!ua] [\v!chapter=]
-\setuplabeltext [\s!ru] [\v!section=]
-\setuplabeltext [\s!ua] [\v!section=]
+\setuplabeltext [\s!ru] [\v!section=]
+\setuplabeltext [\s!ua] [\v!section=]
-\setuplabeltext [\s!ru] [\v!sub\v!section=]
-\setuplabeltext [\s!ua] [\v!sub\v!section=]
+\setuplabeltext [\s!ru] [\v!subsection=]
+\setuplabeltext [\s!ua] [\v!subsection=]
-\setuplabeltext [\s!ru] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!ua] [\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!ru] [\v!subsubsection=]
+\setuplabeltext [\s!ua] [\v!subsubsection=]
-\setuplabeltext [\s!ru] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!ua] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!ru] [\v!subsubsubsection=]
+\setuplabeltext [\s!ua] [\v!subsubsubsection=]
-\setuplabeltext [\s!ru] [\v!appendix=]
-\setuplabeltext [\s!ua] [\v!appendix=]
+\setuplabeltext [\s!ru] [\v!appendix=]
+\setuplabeltext [\s!ua] [\v!appendix=]
\setuplabeltext [\s!ru] [\v!part=\cyrillicCH\cyrillica \cyrillics
\cyrillict \cyrillicsftsn
diff --git a/tex/context/base/lang-frd.tex b/tex/context/base/lang-frd.tex
index d41651713..6cc27080b 100644
--- a/tex/context/base/lang-frd.tex
+++ b/tex/context/base/lang-frd.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-frd,
+%D [ file=lang-frd,
%D version=2004.01.15,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Language Frequency Table Data,
diff --git a/tex/context/base/lang-frq.tex b/tex/context/base/lang-frq.tex
index 34ce24f1b..82441f9c0 100644
--- a/tex/context/base/lang-frq.tex
+++ b/tex/context/base/lang-frq.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-frq,
+%D [ file=lang-frq,
%D version=2004.01.15,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Language Frequency Table Support,
diff --git a/tex/context/base/lang-ger.tex b/tex/context/base/lang-ger.tex
index 4ab2f440d..03ff0c123 100644
--- a/tex/context/base/lang-ger.tex
+++ b/tex/context/base/lang-ger.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-ger,
+%D [ file=lang-ger,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Germanic Languages,
@@ -422,29 +422,29 @@
\setuplabeltext [\s!af] [\v!section=] % [\v!section=paragraaf]
\setuplabeltext [\s!no] [\v!section=]
-\setuplabeltext [\s!en] [\v!sub\v!section=]
-\setuplabeltext [\s!nl] [\v!sub\v!section=]
-\setuplabeltext [\s!de] [\v!sub\v!section=]
-\setuplabeltext [\s!da] [\v!sub\v!section=]
-\setuplabeltext [\s!sv] [\v!sub\v!section=]
-\setuplabeltext [\s!af] [\v!sub\v!section=]
-\setuplabeltext [\s!no] [\v!sub\v!section=]
-
-\setuplabeltext [\s!en] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!nl] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!de] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!da] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sv] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!af] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!no] [\v!sub\v!sub\v!section=]
-
-\setuplabeltext [\s!en] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!nl] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!de] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!da] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sv] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!af] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!no] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!en] [\v!subsection=]
+\setuplabeltext [\s!nl] [\v!subsection=]
+\setuplabeltext [\s!de] [\v!subsection=]
+\setuplabeltext [\s!da] [\v!subsection=]
+\setuplabeltext [\s!sv] [\v!subsection=]
+\setuplabeltext [\s!af] [\v!subsection=]
+\setuplabeltext [\s!no] [\v!subsection=]
+
+\setuplabeltext [\s!en] [\v!subsubsection=]
+\setuplabeltext [\s!nl] [\v!subsubsection=]
+\setuplabeltext [\s!de] [\v!subsubsection=]
+\setuplabeltext [\s!da] [\v!subsubsection=]
+\setuplabeltext [\s!sv] [\v!subsubsection=]
+\setuplabeltext [\s!af] [\v!subsubsection=]
+\setuplabeltext [\s!no] [\v!subsubsection=]
+
+\setuplabeltext [\s!en] [\v!subsubsubsection=]
+\setuplabeltext [\s!nl] [\v!subsubsubsection=]
+\setuplabeltext [\s!de] [\v!subsubsubsection=]
+\setuplabeltext [\s!da] [\v!subsubsubsection=]
+\setuplabeltext [\s!sv] [\v!subsubsubsection=]
+\setuplabeltext [\s!af] [\v!subsubsubsection=]
+\setuplabeltext [\s!no] [\v!subsubsubsection=]
\setuplabeltext [\s!en] [\v!appendix=]
\setuplabeltext [\s!nl] [\v!appendix=]
diff --git a/tex/context/base/lang-grk.tex b/tex/context/base/lang-grk.tex
index c96edc2d3..b0b0e0b15 100644
--- a/tex/context/base/lang-grk.tex
+++ b/tex/context/base/lang-grk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-grk,
+%D [ file=lang-grk,
%D version=2003.04.01,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Uralic Languages,
@@ -11,7 +11,6 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-
\writestatus{loading}{Greek Language}
%D The framework of this module is set up by Hans Hagen while
@@ -52,9 +51,9 @@
\setuplabeltext [\s!fi] [\v!graphic=\GreekGamma\Greekrho\Greekalpha\Greekphi\Greekiota\Greekkappa\Greekomicrontonos]
\setuplabeltext [\s!fi] [\v!chapter=\GreekKappa\Greekepsilon\Greekphi\Greekalphatonos\Greeklamda\Greekalpha\Greekiota\Greekomicron]
\setuplabeltext [\s!fi] [\v!section=\GreekEpsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
-\setuplabeltext [\s!fi] [\v!sub\v!section=\GreekUpsilon\Greekpi\Greekomicrontonos\Greekepsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
-\setuplabeltext [\s!fi] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!fi] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!fi] [\v!subsection=\GreekUpsilon\Greekpi\Greekomicrontonos\Greekepsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
+\setuplabeltext [\s!fi] [\v!subsubsection=]
+\setuplabeltext [\s!fi] [\v!subsubsubsection=]
\setuplabeltext [\s!fi] [\v!appendix=\GreekPi\Greekalpha\Greekrho\Greekalphatonos\Greekrho\Greektau\Greeketa\Greekmu\Greekalpha]
\setuplabeltext [\s!fi] [\v!part=\GreekMu\Greekepsilontonos\Greekrho\Greekomicron\Greekfinalsigma]
\setuplabeltext [\s!fi] [\v!line=\GreekGamma\Greekrho\Greekalpha\Greekmu\Greekmu\Greeketatonos]
diff --git a/tex/context/base/lang-ind.tex b/tex/context/base/lang-ind.tex
index 046204b5a..7796bcb2a 100644
--- a/tex/context/base/lang-ind.tex
+++ b/tex/context/base/lang-ind.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-ind,
+%D [ file=lang--ind,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Indo||Iranian Languages,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Indo-Iranian Languages}
@@ -17,9 +17,9 @@
%D many of the first translations were done by Tobias. Later
%D on, corrections were made by users. If you have suggestions,
%D or feel that your name missing here, don't hesitate to send
-%D us an email.
+%D us an email.
-% 34 languages
+% 34 languages
\unprotect
diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex
index dca2ef032..8aa8c7307 100644
--- a/tex/context/base/lang-ini.tex
+++ b/tex/context/base/lang-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-ini,
+%D [ file=lang-ini,
%D version=1996.01.25,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Initialization,
@@ -138,13 +138,36 @@
%D patterns, first of all because I like to start numbering
%D at one. It may come in handy for special purposes as well.
-\normallanguage\zerocount \patterns{} \def\loadedlanguage{1}
+\normallanguage\zerocount
+
+\beginETEX
+
+ \begingroup
+ \obeylccodes
+ \patterns{}
+ \endgroup
+
+\endETEX
+
+\def\loadedlanguage{1}
%D Let's start with setting the lowercase code of quotes, so
%D that we get proper hyphenation in languages like Dutch,
%D French and Czech.
-\lccode`\'=`\'
+% elsewhere: \lccode`\'=`\'
+
+% \def\showlccodes
+% {\currentlanguage:\space
+% \dostepwiserecurse{0}{255}{1}
+% {\ifnum\lccode\recurselevel>0
+% \char\recurselevel:\the\lccode\recurselevel\relax\space
+% \fi}
+% \endgraf}
+
+% \de \hyphenatedword{Works''} \showlccodes
+% \nl \hyphenatedword{Works''} \showlccodes
+% \uk \hyphenatedword{Works''} \showlccodes
%D \macros
%D {currentlanguage, setupcurrentlanguage}
diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.tex
index 2f77f5ef7..ddf55cfe9 100644
--- a/tex/context/base/lang-ita.tex
+++ b/tex/context/base/lang-ita.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-ita,
+%D [ file=lang-ita,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Italic Languages,
@@ -244,26 +244,26 @@
\setuplabeltext [\s!pt] [\v!section=]
\setuplabeltext [\s!ro] [\v!section=]
-\setuplabeltext [\s!fr] [\v!sub\v!section=]
-\setuplabeltext [\s!es] [\v!sub\v!section=]
-\setuplabeltext [\s!it] [\v!sub\v!section=]
-\setuplabeltext [\s!la] [\v!sub\v!section=]
-\setuplabeltext [\s!pt] [\v!sub\v!section=]
-\setuplabeltext [\s!ro] [\v!sub\v!section=]
-
-\setuplabeltext [\s!fr] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!es] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!it] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!la] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!pt] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!ro] [\v!sub\v!sub\v!section=]
-
-\setuplabeltext [\s!fr] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!es] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!it] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!la] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!pt] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!ro] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!fr] [\v!subsection=]
+\setuplabeltext [\s!es] [\v!subsection=]
+\setuplabeltext [\s!it] [\v!subsection=]
+\setuplabeltext [\s!la] [\v!subsection=]
+\setuplabeltext [\s!pt] [\v!subsection=]
+\setuplabeltext [\s!ro] [\v!subsection=]
+
+\setuplabeltext [\s!fr] [\v!subsubsection=]
+\setuplabeltext [\s!es] [\v!subsubsection=]
+\setuplabeltext [\s!it] [\v!subsubsection=]
+\setuplabeltext [\s!la] [\v!subsubsection=]
+\setuplabeltext [\s!pt] [\v!subsubsection=]
+\setuplabeltext [\s!ro] [\v!subsubsection=]
+
+\setuplabeltext [\s!fr] [\v!subsubsubsection=]
+\setuplabeltext [\s!es] [\v!subsubsubsection=]
+\setuplabeltext [\s!it] [\v!subsubsubsection=]
+\setuplabeltext [\s!la] [\v!subsubsubsection=]
+\setuplabeltext [\s!pt] [\v!subsubsubsection=]
+\setuplabeltext [\s!ro] [\v!subsubsubsection=]
\setuplabeltext [\s!fr] [\v!appendix=]
\setuplabeltext [\s!es] [\v!appendix=]
diff --git a/tex/context/base/lang-lab.tex b/tex/context/base/lang-lab.tex
index b1e811bda..0cf6c75ff 100644
--- a/tex/context/base/lang-lab.tex
+++ b/tex/context/base/lang-lab.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-lab,
+%D [ file=lang-lab,
%D version=1997.08.27,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Language Head and Label Texts,
diff --git a/tex/context/base/lang-sla.tex b/tex/context/base/lang-sla.tex
index b896b465e..c61d36fae 100644
--- a/tex/context/base/lang-sla.tex
+++ b/tex/context/base/lang-sla.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-sla,
+%D [ file=lang-sla,
%D version=1999.09.13, % 1997.09.03
%D title=\CONTEXT\ Language Macros,
%D subtitle=Slavic Languages,
@@ -300,23 +300,23 @@
\setuplabeltext [\s!hr] [\v!section=] % Podrozdzia\l
\setuplabeltext [\s!sl] [\v!section=] % Odstavek
-\setuplabeltext [\s!pl] [\v!sub\v!section=]
-\setuplabeltext [\s!cz] [\v!sub\v!section=]
-\setuplabeltext [\s!sk] [\v!sub\v!section=]
-\setuplabeltext [\s!hr] [\v!sub\v!section=]
-\setuplabeltext [\s!sl] [\v!sub\v!section=]
-
-\setuplabeltext [\s!pl] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!cz] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sk] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!hr] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sl] [\v!sub\v!sub\v!section=]
-
-\setuplabeltext [\s!pl] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!cz] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sk] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!hr] [\v!sub\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!sl] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!pl] [\v!subsection=]
+\setuplabeltext [\s!cz] [\v!subsection=]
+\setuplabeltext [\s!sk] [\v!subsection=]
+\setuplabeltext [\s!hr] [\v!subsection=]
+\setuplabeltext [\s!sl] [\v!subsection=]
+
+\setuplabeltext [\s!pl] [\v!subsubsection=]
+\setuplabeltext [\s!cz] [\v!subsubsection=]
+\setuplabeltext [\s!sk] [\v!subsubsection=]
+\setuplabeltext [\s!hr] [\v!subsubsection=]
+\setuplabeltext [\s!sl] [\v!subsubsection=]
+
+\setuplabeltext [\s!pl] [\v!subsubsubsection=]
+\setuplabeltext [\s!cz] [\v!subsubsubsection=]
+\setuplabeltext [\s!sk] [\v!subsubsubsection=]
+\setuplabeltext [\s!hr] [\v!subsubsubsection=]
+\setuplabeltext [\s!sl] [\v!subsubsubsection=]
\setuplabeltext [\s!pl] [\v!appendix=] % Dodatek
\setuplabeltext [\s!cz] [\v!appendix=]
diff --git a/tex/context/base/lang-spa.tex b/tex/context/base/lang-spa.tex
index 36112525f..83a4d52ab 100644
--- a/tex/context/base/lang-spa.tex
+++ b/tex/context/base/lang-spa.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-spa,
+%D [ file=lang-spa,
%D version=2002.04.17,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Spacing,
@@ -13,10 +13,10 @@
\writestatus{loading}{Context Language Macros / Spacing}
-%D This module was created in the process of enhancing
+%D This module was created in the process of enhancing
%D support for French (with the help of Daniel Flipo).
-\unprotect
+\unprotect
\definehspace [\s!fr] [quotation] [\flexiblespaceamount{.8}{.3}{.8}]
\definehspace [\s!fr] [sentence] [\fixedspaceamount{1}]
@@ -37,9 +37,9 @@
\definehspace [\s!fr] [\string !] [.16667em]
\definehspace [\s!fr] [\string ?] [.16667em]
-\protect
+\protect
-%D Alternative discretionary handlers:
+%D Alternative discretionary handlers:
\definetextmodediscretionary :
{\removeunwantedspaces\prewordbreak\kern\hspaceamount\currentlanguage{:}:}
@@ -57,15 +57,15 @@
%D \mainlanguage[en] \quotation{test \quotation{test} test}\par
%D \mainlanguage[nl] \quotation{test \quotation{test} test}\par
%D \mainlanguage[fr] \quotation{test \quotation{test} test}\par
-%D
+%D
%D \mainlanguage[en] \quotation{\quotation{test} test}\par
%D \mainlanguage[nl] \quotation{\quotation{test} test}\par
%D \mainlanguage[fr] \quotation{\quotation{test} test}\par
-%D
+%D
%D \mainlanguage[en] |<|test |<|test|>| test|>| \par
%D \mainlanguage[nl] |<|test |<|test|>| test|>| \par
%D \mainlanguage[fr] |<|test |<|test|>| test|>| \par
-%D
+%D
%D \mainlanguage[en] |<||<|test|>| test|>| \par
%D \mainlanguage[nl] |<||<|test|>| test|>| \par
%D \mainlanguage[fr] |<||<|test|>| test|>| \par
diff --git a/tex/context/base/lang-spe.tex b/tex/context/base/lang-spe.tex
index 94c252417..306d4369c 100644
--- a/tex/context/base/lang-spe.tex
+++ b/tex/context/base/lang-spe.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-spe,
+%D [ file=lang-spe,
%D version=2002.05.07, % 1996.01.25,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Specifics,
@@ -106,11 +106,11 @@
% \getvalue{\??la\languageencoding##1\??la}{#3}}
% {\setvalue{\??la\languageencoding##1\??la}{\do{##1}{#3}}}%
% \bgroup
-% \setbox0=\hbox{\enablelanguagespecifics[##1]}%
-% \ifdim\wd0>\!!zeropoint
-% \showmessage{\m!linguals}{7}{\currentencoding-##1,\the\wd0\space}\wait
+% \setbox0\hbox{\enablelanguagespecifics[##1]}%
+% \ifdim\wd0>\zeropoint
+% \showmessage\m!linguals7{\currentencoding-##1,\the\wd0\space}\wait
% \else
-% \showmessage{\m!linguals}{8}{\currentencoding-##1}%
+% \showmessage\m!linguals8{\currentencoding-##1}%
% \fi
% \egroup
% \doif{##1}{\currentmainlanguage}
@@ -228,6 +228,12 @@
\unprotect
+% yes or no (taco wins: no)
+
+% \startlanguagespecifics[nl,cz,sk,fr]
+% \lccode`\'=`\'
+% \stoplanguagespecifics
+
%D \macros
%D {ordinaldaynumber, highordinalstr, ordinalstr}
%D
diff --git a/tex/context/base/lang-ura.tex b/tex/context/base/lang-ura.tex
index 57832bd8b..1686a2e41 100644
--- a/tex/context/base/lang-ura.tex
+++ b/tex/context/base/lang-ura.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-sla,
+%D [ file=lang-sla,
%D version=1997.09.03,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Uralic Languages,
@@ -90,9 +90,9 @@
\setuplabeltext [\s!fi] [\v!graphic=Grafiikka ]
\setuplabeltext [\s!fi] [\v!chapter=]
\setuplabeltext [\s!fi] [\v!section=]
-\setuplabeltext [\s!fi] [\v!sub\v!section=]
-\setuplabeltext [\s!fi] [\v!sub\v!sub\v!section=]
-\setuplabeltext [\s!fi] [\v!sub\v!sub\v!sub\v!section=]
+\setuplabeltext [\s!fi] [\v!subsection=]
+\setuplabeltext [\s!fi] [\v!subsubsection=]
+\setuplabeltext [\s!fi] [\v!subsubsubsection=]
\setuplabeltext [\s!fi] [\v!appendix=]
\setuplabeltext [\s!fi] [\v!part=Osa ]
\setuplabeltext [\s!fi] [\v!line=rivi ]
@@ -104,9 +104,9 @@
\setuplabeltext [\s!hu] [\v!graphic={,.~k\'ep:}]
\setuplabeltext [\s!hu] [\v!chapter={,.~fejezet:}]
\setuplabeltext [\s!hu] [\v!section={,.}]
-\setuplabeltext [\s!hu] [\v!sub\v!section={,.}]
-\setuplabeltext [\s!hu] [\v!sub\v!sub\v!section={,.}]
-\setuplabeltext [\s!hu] [\v!sub\v!sub\v!sub\v!section={,.}]
+\setuplabeltext [\s!hu] [\v!subsection={,.}]
+\setuplabeltext [\s!hu] [\v!subsubsection={,.}]
+\setuplabeltext [\s!hu] [\v!subsubsubsection={,.}]
\setuplabeltext [\s!hu] [\v!appendix=]
\setuplabeltext [\s!hu] [\v!part={,.~r\'esz:}]
\setuplabeltext [\s!hu] [\v!line={,.~sor:}]
diff --git a/tex/context/base/lang-vn.tex b/tex/context/base/lang-vn.tex
index 01b1806a4..1d20f838a 100644
--- a/tex/context/base/lang-vn.tex
+++ b/tex/context/base/lang-vn.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ file=tall-vn,
+%D [ file=lang-vn,
%D version=1999.12.12,
%D title=\CONTEXT\ Language Macros,
%D subtitle=Vietnamese,
@@ -59,9 +59,9 @@
\setuplabeltext [\s!vn] [\v!graphic=graphic]
\setuplabeltext [\s!vn] [\v!chapter=chapter]
\setuplabeltext [\s!vn] [\v!section=] % not set
-\setuplabeltext [\s!vn] [\v!sub\v!section=] % not set
-\setuplabeltext [\s!vn] [\v!sub\v!sub\v!section=] % not set
-\setuplabeltext [\s!vn] [\v!sub\v!sub\v!sub\v!section=] % not set
+\setuplabeltext [\s!vn] [\v!subsection=] % not set
+\setuplabeltext [\s!vn] [\v!subsubsection=] % not set
+\setuplabeltext [\s!vn] [\v!subsubsubsection=] % not set
\setuplabeltext [\s!vn] [\v!appendix=] % not set
\setuplabeltext [\s!vn] [\v!part=Ph\`{^a} n ]
\setuplabeltext [\s!vn] [\v!line=line ]
diff --git a/tex/context/base/m-chart.tex b/tex/context/base/m-chart.tex
index 24f4f52fd..6009f753a 100644
--- a/tex/context/base/m-chart.tex
+++ b/tex/context/base/m-chart.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-chart,
+%D [ file=m-chart,
%D version=1998.10.10,
%D title=\CONTEXT\ Modules,
%D subtitle=Flow Charts,
diff --git a/tex/context/base/m-chemic.tex b/tex/context/base/m-chemic.tex
index ad6c10e73..cfefdf83f 100644
--- a/tex/context/base/m-chemic.tex
+++ b/tex/context/base/m-chemic.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=ppchtex (m-chemic),
+%D [ file=ppchtex (m-chemic),
%D version=1997.03.19,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\PPCHTEX\ (Plain Pictex Context cHemie \TEX),
diff --git a/tex/context/base/m-cweb.tex b/tex/context/base/m-cweb.tex
index 82ce2b311..65184ddae 100644
--- a/tex/context/base/m-cweb.tex
+++ b/tex/context/base/m-cweb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-cweb,
+%D [ file=m-cweb,
%D version=1997.01.15,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\CWEB\ Pretty Printing Macros,
diff --git a/tex/context/base/m-edtsnc.tex b/tex/context/base/m-edtsnc.tex
index 8bbe7f072..d3a697b25 100644
--- a/tex/context/base/m-edtsnc.tex
+++ b/tex/context/base/m-edtsnc.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-editsnc,
+%D [ file=m-editsnc,
%D version=2003.12.23,
%D title=\CONTEXT\ Modules,
%D subtitle=Editor Synchronization
@@ -171,6 +171,7 @@
\appendtoks \editsyncnode p\to \everypar
\appendtoks \editsyncnode m\to \everymath
+\appendtoks \editsyncnode d\to \everydisplay
\appendtoks \editsyncnode h\to \everyhbox
% For compatibility with 'pdfsync4context' we provide:
diff --git a/tex/context/base/m-educat.tex b/tex/context/base/m-educat.tex
index e79619232..38567bf4e 100644
--- a/tex/context/base/m-educat.tex
+++ b/tex/context/base/m-educat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-educat,
+%D [ file=m-educat,
%D version=2003.03.05,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Educational Extras,
diff --git a/tex/context/base/m-gamma.tex b/tex/context/base/m-gamma.tex
index 098d33795..698613db9 100644
--- a/tex/context/base/m-gamma.tex
+++ b/tex/context/base/m-gamma.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-gamma,
+%D [ file=m-gamma,
%D version=2002.05.15,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Basic \OMEGA\ Support,
diff --git a/tex/context/base/m-graph.tex b/tex/context/base/m-graph.tex
index 9254208bd..5e45f255b 100644
--- a/tex/context/base/m-graph.tex
+++ b/tex/context/base/m-graph.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-graph,
+%D [ file=m-graph,
%D version=2000.08.06,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\METAPOST\ graph module support,
diff --git a/tex/context/base/m-layout.tex b/tex/context/base/m-layout.tex
index 41ea7a670..b896d5226 100644
--- a/tex/context/base/m-layout.tex
+++ b/tex/context/base/m-layout.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-layout,
+%D [ file=m-layout,
%D version=2004.01.16,
%D title=\CONTEXT\ Modules,
%D subtitle=Additional Layouts,
diff --git a/tex/context/base/m-level.tex b/tex/context/base/m-level.tex
index 11c60626a..67d598733 100644
--- a/tex/context/base/m-level.tex
+++ b/tex/context/base/m-level.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=level,
+%D [ file=level,
%D version=2002.10.20,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Catching Nesting Errors,
diff --git a/tex/context/base/m-newmat.tex b/tex/context/base/m-newmat.tex
index b2c831578..6f5f3586a 100644
--- a/tex/context/base/m-newmat.tex
+++ b/tex/context/base/m-newmat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-newmat,
+%D [ file=m-newmat,
%D version=2000.11.16,
%D title=\CONTEXT\ Math Module,
%D subtitle=AMS-like math extensions,
diff --git a/tex/context/base/m-pdfsnc.tex b/tex/context/base/m-pdfsnc.tex
index 20a7fcc61..812218427 100644
--- a/tex/context/base/m-pdfsnc.tex
+++ b/tex/context/base/m-pdfsnc.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-pdfsnc,
+%D [ file=m-pdfsnc,
%D version=2003.12.23,
%D title=\CONTEXT\ Modules,
%D subtitle=Editor Synchronization
diff --git a/tex/context/base/m-pictex.tex b/tex/context/base/m-pictex.tex
index cfd1bc1ef..98c5ddbcd 100644
--- a/tex/context/base/m-pictex.tex
+++ b/tex/context/base/m-pictex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-pictex,
+%D [ file=m-pictex,
%D version=1997.01.15,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\PICTEX\ Loading Macros,
diff --git a/tex/context/base/m-plus.tex b/tex/context/base/m-plus.tex
index 1bc44495b..a38c73129 100644
--- a/tex/context/base/m-plus.tex
+++ b/tex/context/base/m-plus.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-plus,
+%D [ file=m-plus,
%D version=2003.03.16,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Loading extra features,
diff --git a/tex/context/base/m-pstric.tex b/tex/context/base/m-pstric.tex
index 4c78f9a94..707984d28 100644
--- a/tex/context/base/m-pstric.tex
+++ b/tex/context/base/m-pstric.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-pstricks,
+%D [ file=m-pstricks,
%D version=1997.01.15,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\PSTRICKS\ Connections,
diff --git a/tex/context/base/m-quest.tex b/tex/context/base/m-quest.tex
index f1ebd1d9f..7627a1bc3 100644
--- a/tex/context/base/m-quest.tex
+++ b/tex/context/base/m-quest.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-invull,
+%D [ file=m-invull,
%D version=1995.01.10,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Exercise,
diff --git a/tex/context/base/m-steps.tex b/tex/context/base/m-steps.tex
index ce3cd4652..deda373ee 100644
--- a/tex/context/base/m-steps.tex
+++ b/tex/context/base/m-steps.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-steps,
+%D [ file=m-steps,
%D version=2001.05.28,
%D title=\CONTEXT\ Modules,
%D subtitle=Step Charts \& Tables,
diff --git a/tex/context/base/m-tryout.tex b/tex/context/base/m-tryout.tex
index b50525e6b..ef6c502ba 100644
--- a/tex/context/base/m-tryout.tex
+++ b/tex/context/base/m-tryout.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-tryout,
+%D [ file=m-tryout,
%D version=2002.05.10,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Tryout Features,
diff --git a/tex/context/base/m-units.tex b/tex/context/base/m-units.tex
index 851560418..35f870bbf 100644
--- a/tex/context/base/m-units.tex
+++ b/tex/context/base/m-units.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-units,
+%D [ file=m-units,
%D version=1997.03.19,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Scientific Units,
diff --git a/tex/context/base/m-visual.tex b/tex/context/base/m-visual.tex
index b8a6b5734..8e992b855 100644
--- a/tex/context/base/m-visual.tex
+++ b/tex/context/base/m-visual.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-visual,
+%D [ file=m-visual,
%D version=2000.01.10,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=Visualization and Faking,
diff --git a/tex/context/base/math-ams.tex b/tex/context/base/math-ams.tex
index b3f8244e2..f2841b7e6 100644
--- a/tex/context/base/math-ams.tex
+++ b/tex/context/base/math-ams.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-ams,
+%D [ file=math-ams,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=AMS Specials,
diff --git a/tex/context/base/math-eul.tex b/tex/context/base/math-eul.tex
index cd68998a1..75dec7156 100644
--- a/tex/context/base/math-eul.tex
+++ b/tex/context/base/math-eul.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-eul,
+%D [ file=math-eul,
%D version=2003.02.03,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Virtual Euler Specials,
diff --git a/tex/context/base/math-fou.tex b/tex/context/base/math-fou.tex
index 0b87bcfb6..8a72f1288 100644
--- a/tex/context/base/math-fou.tex
+++ b/tex/context/base/math-fou.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-fou,
+%D [ file=math-fou,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Fourier Specials,
diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex
index 13ef0e183..26eabe542 100644
--- a/tex/context/base/math-ini.tex
+++ b/tex/context/base/math-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-ini,
+%D [ file=math-ini,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Basic Macros,
diff --git a/tex/context/base/math-lbr.tex b/tex/context/base/math-lbr.tex
index a46228595..c3c463254 100644
--- a/tex/context/base/math-lbr.tex
+++ b/tex/context/base/math-lbr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-lbr,
+%D [ file=math-lbr,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Lucida Specials,
diff --git a/tex/context/base/math-pln.tex b/tex/context/base/math-pln.tex
index c3127c3c9..73c12c973 100644
--- a/tex/context/base/math-pln.tex
+++ b/tex/context/base/math-pln.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-pln,
+%D [ file=math-pln,
%D version=2001.11.16,
%D title=\CONTEXT\ System Macros,
%D subtitle=Efficient \PLAIN\ \TEX\ loading,
diff --git a/tex/context/base/math-run.tex b/tex/context/base/math-run.tex
index 9d35e3299..c2a5852a0 100644
--- a/tex/context/base/math-run.tex
+++ b/tex/context/base/math-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-run,
+%D [ file=math-run,
%D version=2001.23.04,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Runtime Macros,
diff --git a/tex/context/base/math-tex.tex b/tex/context/base/math-tex.tex
index f047e6771..0e474a892 100644
--- a/tex/context/base/math-tex.tex
+++ b/tex/context/base/math-tex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-tex,
+%D [ file=math-tex,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Plain Specials,
diff --git a/tex/context/base/math-tim.tex b/tex/context/base/math-tim.tex
index 453ade72c..de6561ba7 100644
--- a/tex/context/base/math-tim.tex
+++ b/tex/context/base/math-tim.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=math-tim,
+%D [ file=math-tim,
%D version=2001.04.12,
%D title=\CONTEXT\ Math Macros,
%D subtitle=Mathtime Specials,
diff --git a/tex/context/base/meta-clp.tex b/tex/context/base/meta-clp.tex
index 2884061bb..be2506b19 100644
--- a/tex/context/base/meta-clp.tex
+++ b/tex/context/base/meta-clp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-clp,
+%D [ file=meta-clp,
%D version=2000.07.06,
%D title=\METAPOST\ Graphics,
%D subtitle=Clipping,
diff --git a/tex/context/base/meta-dum.tex b/tex/context/base/meta-dum.tex
index 8d583ff2b..47c550477 100644
--- a/tex/context/base/meta-dum.tex
+++ b/tex/context/base/meta-dum.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-dum,
+%D [ file=meta-dum,
%D version=2003.03.21,
%D title=\METAPOST\ Graphics,
%D subtitle=Dummy (External) Graphics,
diff --git a/tex/context/base/meta-fig.tex b/tex/context/base/meta-fig.tex
index c7b411626..9a46b80d4 100644
--- a/tex/context/base/meta-fig.tex
+++ b/tex/context/base/meta-fig.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-fig,
+%D [ file=meta-fig,
%D version=2000.09.07,
%D title=\METAPOST\ Graphics,
%D subtitle=Stand Alone Graphics,
diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex
index e30ed3b79..058fa0bc8 100644
--- a/tex/context/base/meta-ini.tex
+++ b/tex/context/base/meta-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-ini,
+%D [ file=meta-ini,
%D version=1999.07.10,
%D title=\METAPOST\ Graphics,
%D subtitle=Initialization,
diff --git a/tex/context/base/meta-nav.tex b/tex/context/base/meta-nav.tex
index 0bd564587..9c1cbb4db 100644
--- a/tex/context/base/meta-nav.tex
+++ b/tex/context/base/meta-nav.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-nav,
+%D [ file=meta-nav,
%D version=2003.03.28,
%D title=\METAPOST\ Graphics,
%D subtitle=Navigational Graphics,
diff --git a/tex/context/base/meta-pag.tex b/tex/context/base/meta-pag.tex
index 73c9e6f6a..32473cb74 100644
--- a/tex/context/base/meta-pag.tex
+++ b/tex/context/base/meta-pag.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-pag,
+%D [ file=meta-pag,
%D version=1999.07.10,
%D title=\METAPOST\ Graphics,
%D subtitle=Initialization,
diff --git a/tex/context/base/meta-pre.tex b/tex/context/base/meta-pre.tex
index 1d0a39001..cb861ff20 100644
--- a/tex/context/base/meta-pre.tex
+++ b/tex/context/base/meta-pre.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-pre,
+%D [ file=meta-pre,
%D version=2001.03.21,
%D title=\METAPOST\ Graphics,
%D subtitle=Predefined Goodies,
diff --git a/tex/context/base/meta-txt.tex b/tex/context/base/meta-txt.tex
index 133d8e79a..6f8be2e67 100644
--- a/tex/context/base/meta-txt.tex
+++ b/tex/context/base/meta-txt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-txt,
+%D [ file=meta-txt,
%D version=2000.07.06,
%D title=\METAPOST\ Graphics,
%D subtitle=Text Tricks,
diff --git a/tex/context/base/meta-xml.tex b/tex/context/base/meta-xml.tex
index dfc932df8..2138111f8 100644
--- a/tex/context/base/meta-xml.tex
+++ b/tex/context/base/meta-xml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=meta-xml,
+%D [ file=meta-xml,
%D version=2002.11.27,
%D title=\METAPOST\ Graphics,
%D subtitle=XML Hacks,
diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex
index c1a2a539e..975c8ed18 100644
--- a/tex/context/base/mult-com.tex
+++ b/tex/context/base/mult-com.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=mult-com,
+%D [ file=mult-com,
%D version=1996.06.01,
%D title=\CONTEXT\ Multilingual Macros,
%D subtitle=Commands,
@@ -911,9 +911,6 @@ subpagenumber: subpaginanummer subpagenumber
adaptlayout: paslayoutaan adaptlayout
passelayoutan prizpusobvzhled
adattalayout adapteazaaspect
- steloffsetin: steloffsetin setupoffset
- stelleoffsetein nastavoffset
- impostaoffest seteazaoffset
placeongrid: plaatsopgrid placeongrid
amgitterausrichten umistinamrizku
mettiingriglia plaseazapegrid
diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex
index 29f6af93d..f444c82a3 100644
--- a/tex/context/base/mult-con.tex
+++ b/tex/context/base/mult-con.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=mult-con,
+%D [ file=mult-con,
%D version=2000.09.12,
%D title=\CONTEXT\ Multilingual Macros,
%D subtitle=Constants,
@@ -131,7 +131,7 @@
german czech
italian romanian
- atpage: oppagina atpage
+ atpage: oppagina atpage
aufseite nastrance
apagina lapagina
hencefore: hierboven hencefore
@@ -215,6 +215,72 @@
\stopvariables
+%D For Taco:
+
+\startvariables dutch english
+ german czech
+ italian romanian
+
+ subsection: subparagraaf subsection
+ unterabsatz podsekce
+ sottocapoverso subsectiune
+
+ subsubsection: subsubparagraaf subsubsection
+ unterunterabsatz podpodsekce
+ sottosottocapoverso subsubsectiune
+
+ subsubsubsection: subsubsubparagraaf subsubsubsection
+ unterunterunterabsatz podpodpodsekce
+ sottosottosottocapoverso subsubsubsectiune
+
+ subsubsubsubsection: subsubsubsubparagraaf subsubsubsubsection
+ unterunterunterunterabsatz podpodpodpodsekce
+ sottosottosottosottocapoverso subsubsubsubsectiune
+
+subsubsubsubsubsection: subsubsubsubsubparagraaf subsubsubsubsubsection
+ unterunterunterunterunterabsatz podpodpodpodpodsekce
+ sottosottosottosottosottocapoverso subsubsubsubsubsectiune
+
+ subsubject: subonderwerp subsubject
+ unterthema podtema
+ sottoargomento subsubiect
+
+ subsubsubject: subsubonderwerp subsubsubject
+ unterunterthema podpodtema
+ sottosottoargomento subsubsubiect
+
+ subsubsubsubject: subsubsubonderwerp subsubsubsubject
+ unterunterunterthema podpodpodtema
+ sottosottosottoargomento subsubsubsubiect
+
+ subsubsubsubsubject: subsubsubsubonderwerp subsubsubsubsubject
+ unterunterunterunterthema podpodpodpodtema
+ sottosottosottosottoargomento subsubsubsubsubiect
+
+subsubsubsubsubsubject: subsubsubsubsubonderwerp subsubsubsubsubsubject
+ unterunterunterunterunterthema podpodpodpodpodtema
+ sottosottosottosottosottoargomento subsubsubsubsubsubiect
+
+\stopvariables
+
+%D For the confused (to be translated):
+
+\startvariables dutch english
+ german czech
+ italian romanian
+
+ flushleft: lijnlinks flushleft
+ flushleft flushleft
+ flushleft flushleft
+ flushright: lijnrechts flushright
+ flushright flushright
+ flushright flushright
+ center: centreer center
+ center center
+ center center
+
+\stopvariables
+
\startvariables dutch english
german czech
italian romanian
@@ -1102,6 +1168,9 @@ setups: setups setups
split: splitsen split
split split
separa split % TB TH
+splitoffset: splitsoffset splitoffset
+ splitoffset splitoffset
+ splitoffset splitoffset % TB TH
indentnext: springvolgendein indentnext
ziehefolgendeein odsadpristi
rientrasuccessivo aliniaturmator
@@ -1420,6 +1489,9 @@ textlayer: tekstlaag textlayer
backward: achteruit backward
rueckwaerts zpet
indietro inapoi
+ subbackward: subachteruit subbackward
+ unterrueckwaerts podzpet
+ sottoindietro subinapoi
action: actie action
aktion akce
azione actiune
@@ -1468,7 +1540,7 @@ textlayer: tekstlaag textlayer
numbers: cijfers numbers
ziffern cisla
numeri numere
- Cijfers: Cijfers Numbers
+ Numbers: Cijfers Numbers
Ziffern Cisla
Numeri Numere
command: commando command
@@ -1717,13 +1789,13 @@ textlayer: tekstlaag textlayer
empty: leeg empty
leer prazdne
vuoto gol
- Letter: Letter Character
+ Character: Letter Character
Buchstabe Pismeno
Lettera Caracter
character: letter character
buchstabe pismeno
lettera caracter
- Letters: Letters Characters
+ Characters: Letters Characters
Buchstaben Pismena
Lettere Caractere
characters: letters characters
@@ -1756,7 +1828,7 @@ textlayer: tekstlaag textlayer
new: nieuw new
neu novy
nuovo nou
- MAAND: MAAND MONTH
+ MONTH: MAAND MONTH
MONAT MESIC
MESE LUNA
month: maand month
@@ -1912,7 +1984,7 @@ process: proces process
reset: reset reset
zuruecksetzten reset
reimposta reset
- Romeins: Romeins Romannumerals
+ Romannumerals: Romeins Romannumerals
Roemischezahlen Rimskecislice
Numeriromani Numereromane
romannumerals: romeins romannumerals
@@ -1921,7 +1993,7 @@ process: proces process
greek: grieks greek
griechisch recky
greco grec
- Grieks: Grieks Greek
+ Greek: Grieks Greek
Griechisch Recky
Greco Grec
round: rond round
@@ -2062,6 +2134,9 @@ process: proces process
forward: vooruit forward
vorwaerts vpred
avanti avans
+ subforward: subvooruit subforward
+ untervorwaerts podvpred
+ sottoavanti subavans
previous: vorige previous
vorig predchozi
precedente precedent
@@ -2074,7 +2149,7 @@ process: proces process
weekday: weekdag weekday
wochentag vsedniden
giornosettimana zisaptamana
- WEEKDAG: WEEKDAG WEEKDAY
+ WEEKDAY: WEEKDAG WEEKDAY
WOCHENTAG VSEDNIDEN
GIORNOSETTIMANA ZISAPTAMANA
random: willekeurig random
@@ -2098,7 +2173,7 @@ process: proces process
smallcaps: smallcaps smallcaps
smallcaps kapitalky
maiuscoletto majusculemici
- WOORD: WOORD WORD
+ WORD: WOORD WORD
WORT SLOVO
PAROLA CUVANT
firstpage: eerstepagina firstpage
@@ -2122,6 +2197,9 @@ process: proces process
lastpagenumber: laatstepaginanummer lastpagenumber
lastpagenumber lastpagenumber
lastpagenumber lastpagenumber
+ subpage: subpagina subpage
+ unterseite podstranka
+ sottopagina subpagina
firstsubpage: eerstesubpagina firstsubpage
ersteunterseite prvnipodstranka
primasottopagina primasubpagina
@@ -2405,6 +2483,9 @@ process: proces process
formula: formule formula
formel rovnice
formula formula
+ subformula: subformule subformula
+ unterformel podrovnice
+ sottoformula subformula
tabulate: tabulatie tabulate
tabulator tabelator
tabulato tabulate
diff --git a/tex/context/base/mult-ini.tex b/tex/context/base/mult-ini.tex
index 40e8f26fb..40dc29378 100644
--- a/tex/context/base/mult-ini.tex
+++ b/tex/context/base/mult-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=mult-ini,
+%D [ file=mult-ini,
%D version=1996.06.01,
%D title=\CONTEXT\ Multilingual Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex
index 482c76561..4775dcf33 100644
--- a/tex/context/base/mult-sys.tex
+++ b/tex/context/base/mult-sys.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=mult-sys,
+%D [ file=mult-sys,
%D version=1996.06.01,
%D title=\CONTEXT\ Multilingual Macros,
%D subtitle=System,
@@ -430,6 +430,7 @@
\definesystemvariable {ht} % HiddenText
\definesystemvariable {fc} % FramedContent
\definesystemvariable {fd} % FielD
+\definesystemvariable {fe} % FoxetExtensions
\definesystemvariable {ff} % FontFile
\definesystemvariable {fg} % FiGuurmaten
\definesystemvariable {fi} % FIle
@@ -439,6 +440,7 @@
\definesystemvariable {fr} % ForM
\definesystemvariable {fs} % FileSynonym
\definesystemvariable {ft} % FonTs
+\definesystemvariable {fx} % FoXet
\definesystemvariable {ha} % HAng
\definesystemvariable {hs} % HSpace
\definesystemvariable {ia} % Interactie
diff --git a/tex/context/base/page-app.tex b/tex/context/base/page-app.tex
index 417e5ab95..9cc1682f3 100644
--- a/tex/context/base/page-app.tex
+++ b/tex/context/base/page-app.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-app, % from meta-fig
+%D [ file=page-app, % from meta-fig
%D version=1998.01.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Independent page building,
diff --git a/tex/context/base/page-bck.tex b/tex/context/base/page-bck.tex
index 367983ad2..c959126fd 100644
--- a/tex/context/base/page-bck.tex
+++ b/tex/context/base/page-bck.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-bck, % copied from main-001
+%D [ file=page-bck, % copied from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Backgrounds,
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index 3170466db..d4007cf3b 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-flt,
+%D [ file=page-flt,
%D version=2000.10.20,
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Floating Bodies,
@@ -828,13 +828,6 @@
\let\dorestorefloatstatus\relax
-%\def\checkwaitingfloats#1%
-% {\ifsomefloatwaiting
-% \doifinsetelse{\v!altijd}{#1}
-% {\showmessage{\m!floatblocks}{5}{}}
-% {\doflushfloats}%
-% \fi}
-
\ifx\doflushfloats\undefined \let\doflushfloats\relax \fi
\ifx\flushfloatbox\undefined \let\flushfloatbox\relax \fi
diff --git a/tex/context/base/page-flw.tex b/tex/context/base/page-flw.tex
index 80c8c21e3..1a8ffd3c4 100644
--- a/tex/context/base/page-flw.tex
+++ b/tex/context/base/page-flw.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-flw,
+%D [ file=page-flw,
%D version=2003.04.19, % from test-002 (1997) profile experiment
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Text Flows,
diff --git a/tex/context/base/page-imp.tex b/tex/context/base/page-imp.tex
index 19f8b29d3..d4d201f06 100644
--- a/tex/context/base/page-imp.tex
+++ b/tex/context/base/page-imp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-imp, % was: core-pag,
+%D [ file=page-imp, % was: core-pag,
%D version=1998.01.15,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Pagebody Building (Imposition),
diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex
index f43d38fbd..1574832f3 100644
--- a/tex/context/base/page-ini.tex
+++ b/tex/context/base/page-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-ini,
+%D [ file=page-ini,
%D version=2000.10.20,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Initializations,
@@ -1354,46 +1354,58 @@
\newif\ifpaginageblokkeerd \paginageblokkeerdfalse
-\chardef\testpagemethod=0
+\def\testpage {\dotripleempty\dotestpage[\plusone]}
+\def\testpageonly {\dotripleempty\dotestpage[\plustwo]}
-\def\testpage
- {\dodoubleempty\dotestpage}
+\chardef\testpagemethod=0 % todo: \testnewpage[method=,lines=,voffset=]
-\def\dotestpage[#1][#2]%
+\def\dotestpage[#1][#2][#3]%
{%\relax % needed before \if
\endgraf
- \ifpaginageblokkeerd \else \ifdim\pagegoal<\maxdimen
- \ifdim\pagetotal<\pagegoal % \relax
- \scratchdimen\lineheight
- \multiply\scratchdimen#1\relax
- \advance\scratchdimen \pagetotal
- \ifdim\lastskip<\parskip
- \advance\scratchdimen \parskip
- \fi
- \ifsecondargument
- \advance\scratchdimen#2\relax
- \fi
- % quite inaccurate, better pagegoal 1pt or so
- \ifcase\testpagemethod
- \ifdim\scratchdimen>.99\pagegoal
- \penalty-\!!tenthousand\relax
+ \ifpaginageblokkeerd
+ % do nothing
+ \else
+% \ifnum#1=\plusone\synchronizeoutput\fi
+ \ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \scratchdimen\lineheight
+ \multiply\scratchdimen#2\relax
+ \advance\scratchdimen \pagetotal
+ \ifdim\lastskip<\parskip
+ \advance\scratchdimen \parskip
\fi
- \or
- \advance\scratchdimen-\pagegoal
- \ifdim\scratchdimen>-\lineheight
- \penalty-\!!tenthousand\relax
+ \ifthirdargument
+ \advance\scratchdimen#3\relax
\fi
- \or
- \getnoflines\pagegoal
- \advance\scratchdimen-\noflines\lineheight \relax
- \ifdim\scratchdimen>-\lineheight
- \penalty-\!!tenthousand\relax
+ \ifcase\testpagemethod
+ \ifdim\scratchdimen>.99\pagegoal
+ \vfill\eject % \penalty-\!!tenthousand\relax
+ \fi
+ \or
+ \advance\scratchdimen-\pagegoal
+ \ifdim\scratchdimen>-\lineheight
+ \vfill\eject % \penalty-\!!tenthousand\relax
+ \fi
+ \or
+ \getnoflines\pagegoal
+ \advance\scratchdimen-\noflines\lineheight \relax
+ \ifdim\scratchdimen>-\lineheight
+ \vfill\eject % \penalty-\!!tenthousand\relax
+ \fi
+ \or % same as 0 but more accurate
+ \advance\scratchdimen-10\s!sp\relax
+ \ifdim\scratchdimen>\pagegoal
+ \vfill\eject % \penalty-\!!tenthousand\relax
+ \fi
\fi
+ \else
+ % force page break / new
+ % \vfill\eject % \penalty-\!!tenthousand\relax
\fi
+ \else
+ \ifnum#1=\plusone\goodbreak\fi
\fi
- \else
- \goodbreak
- \fi \fi}
+ \fi}
\def\testcolumn
{\dodoubleempty\dotestcolumn}
diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex
index 5fe19b87d..c2e0fc323 100644
--- a/tex/context/base/page-lay.tex
+++ b/tex/context/base/page-lay.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-lay,
+%D [ file=page-lay,
%D version=2000.10.20, % copied from main-001
%D title=\CONTEXT\ Page Macros,
%D subtitle=Layout Specification,
@@ -38,42 +38,42 @@
%D The dimensions related to layout areas are represented by
%D real dimensions.
-\newdimen\paperheight \paperheight = 297mm
-\newdimen\paperwidth \paperwidth = 210mm
+\newdimen\paperheight \paperheight = 297mm
+\newdimen\paperwidth \paperwidth = 210mm
-\newdimen\printpaperheight \printpaperheight = \paperheight
-\newdimen\printpaperwidth \printpaperwidth = \paperwidth
+\newdimen\printpaperheight \printpaperheight = \paperheight
+\newdimen\printpaperwidth \printpaperwidth = \paperwidth
-\newdimen\makeupheight % calculated
-\newdimen\makeupwidth % calculated
+\newdimen\makeupheight % calculated
+\newdimen\makeupwidth % calculated
-\newdimen\textheight % calculated
-\newdimen\textwidth % calculated
+\newdimen\textheight % calculated
+\newdimen\textwidth % calculated
-\newdimen\topspace \topspace = 2cm
-\newdimen\backspace \backspace = \topspace
+\newdimen\topspace \topspace = 2cm
+\newdimen\backspace \backspace = \topspace
\newdimen\cutspace \cutspace = 0pt
-\newdimen\bottomspace \bottomspace = 0pt
+\newdimen\bottomspace \bottomspace = 0pt
\newdimen\headerheight \headerheight = 2cm
-\newdimen\footerheight \footerheight = \headerheight
+\newdimen\footerheight \footerheight = \headerheight
-\newdimen\kopoffset \kopoffset = 0pt
-\newdimen\rugoffset \rugoffset = \kopoffset
+\newdimen\kopoffset \kopoffset = 0pt
+\newdimen\rugoffset \rugoffset = \kopoffset
-\newdimen\leftmarginwidth \leftmarginwidth = 3cm
-\newdimen\rightmarginwidth \rightmarginwidth = \leftmarginwidth
+\newdimen\leftmarginwidth \leftmarginwidth = 3cm
+\newdimen\rightmarginwidth \rightmarginwidth = \leftmarginwidth
-\newdimen\leftedgewidth \leftedgewidth = 3cm
-\newdimen\rightedgewidth \rightedgewidth = \leftedgewidth
+\newdimen\leftedgewidth \leftedgewidth = 3cm
+\newdimen\rightedgewidth \rightedgewidth = \leftedgewidth
-\newdimen\topheight \topheight = 0cm
+\newdimen\topheight \topheight = 0cm
\newdimen\bottomheight \bottomheight = \topheight
-\newcount\layoutlines \layoutlines = 0
-\newcount\layoutcolumns \layoutcolumns = 0
-\newdimen\layoutcolumndistance\layoutcolumndistance= 0pt
-\newdimen\layoutcolumnwidth \layoutcolumnwidth = 0pt
+\newcount\layoutlines \layoutlines = 0
+\newcount\layoutcolumns \layoutcolumns = 0
+\newdimen\layoutcolumndistance \layoutcolumndistance = 0pt
+\newdimen\layoutcolumnwidth \layoutcolumnwidth = 0pt
%D We can save some tokens and fuzzy parameters by using a
%D symbolic name for the current set of layout parameters.
@@ -178,23 +178,78 @@
%D We need to calculate the extra distances:
\def\setlayoutdimensions
- {\global\marginwidth \layoutparameter\c!margin
- \global\edgewidth \layoutparameter\c!edge
- \global\margindistance \layoutparameter\c!margindistance
- \global\edgedistance \layoutparameter\c!edgedistance
- \global\leftedgedistance \layoutdistance \leftedgewidth \c!leftedgedistance
- \global\rightedgedistance \layoutdistance \rightedgewidth \c!rightedgedistance
- \global\leftmargindistance \layoutdistance \leftmarginwidth \c!leftmargindistance
- \global\rightmargindistance\layoutdistance \rightmarginwidth\c!rightmargindistance
- \global\topdistance \layoutdistance \topheight \c!topdistance
- \global\headerdistance \layoutdistance \headerheight \c!headerdistance
- \global\footerdistance \layoutdistance \footerheight \c!footerdistance
- \global\bottomdistance \layoutdistance \bottomheight \c!bottomdistance}
+ {\global\marginwidth \layoutparameter\c!margin
+ \global\edgewidth \layoutparameter\c!edge
+ \global\margindistance \layoutparameter\c!margindistance
+ \global\edgedistance \layoutparameter\c!edgedistance
+ \global\leftedgedistance \layoutdistance \leftedgewidth \c!leftedgedistance
+ \global\rightedgedistance \layoutdistance \rightedgewidth \c!rightedgedistance
+ \global\leftmargindistance \layoutdistance \leftmarginwidth \c!leftmargindistance
+ \global\rightmargindistance\layoutdistance \rightmarginwidth \c!rightmargindistance
+ \global\topdistance \layoutdistance \topheight \c!topdistance
+ \global\headerdistance \layoutdistance \headerheight \c!headerdistance
+ \global\footerdistance \layoutdistance \footerheight \c!footerdistance
+ \global\bottomdistance \layoutdistance \bottomheight \c!bottomdistance}
\def\setlayoutdistances % local in \setreducedvsize
{\headerdistance\layoutdistance\headerheight\c!headerdistance
\footerdistance \layoutdistance\footerheight \c!footerdistance}
+\def\outermarginwidth {\rightorleftpageaction\rightmarginwidth \leftmarginwidth }
+\def\innermarginwidth {\rightorleftpageaction\leftmarginwidth \rightmarginwidth}
+\def\outermargindistance{\rightorleftpageaction\rightmargindistance\leftmargindistance }
+\def\innermargindistance{\rightorleftpageaction\leftmargindistance \rightmargindistance}
+
+\def\outeredgewidth {\rightorleftpageaction\rightedgewidth \leftedgewidth }
+\def\inneredgewidth {\rightorleftpageaction\leftedgewidth \rightedgewidth}
+\def\outeredgedistance {\rightorleftpageaction\rightedgedistance\leftedgedistance }
+\def\inneredgedistance {\rightorleftpageaction\leftedgedistance \rightedgedistance}
+
+\def\outerspacewidth {\rightorleftpageaction\cutspace\backspace}
+\def\innerspacewidth {\rightorleftpageaction\backspace\cutspace}
+
+\newtoks\extralayoutcalculations \def\calculatelayoutextras{\the\extralayoutcalculations}
+
+\appendtoks
+ \scratchdimen\leftmarginwidth \advance\scratchdimen\leftmargindistance \xdef\leftmargintotal {\the\scratchdimen}%
+ \scratchdimen\rightmarginwidth \advance\scratchdimen\rightmargindistance \xdef\rightmargintotal{\the\scratchdimen}%
+ \scratchdimen\leftedgewidth \advance\scratchdimen\leftedgedistance \xdef\leftedgetotal {\the\scratchdimen}%
+ \scratchdimen\rightedgewidth \advance\scratchdimen\rightedgedistance \xdef\rightedgetotal {\the\scratchdimen}%
+ \scratchdimen\leftmarginwidth \advance\scratchdimen\leftedgetotal \xdef\leftsidetotal {\the\scratchdimen}%
+ \scratchdimen\rightmarginwidth \advance\scratchdimen\rightedgetotal \xdef\rightsidetotal {\the\scratchdimen}%
+ \scratchdimen\leftmargintotal \advance\scratchdimen\leftedgetotal \xdef\leftcombitotal {\the\scratchdimen}%
+ \scratchdimen\rightmargintotal \advance\scratchdimen\rightedgetotal \xdef\rightcombitotal {\the\scratchdimen}%
+ %
+ \scratchdimen\innermarginwidth \advance\scratchdimen\innermargindistance \xdef\innermargintotal{\the\scratchdimen}%
+ \scratchdimen\outermarginwidth \advance\scratchdimen\outermargindistance \xdef\outermargintotal{\the\scratchdimen}%
+ \scratchdimen\inneredgewidth \advance\scratchdimen\inneredgedistance \xdef\inneredgetotal {\the\scratchdimen}%
+ \scratchdimen\outeredgewidth \advance\scratchdimen\outeredgedistance \xdef\outeredgetotal {\the\scratchdimen}%
+ \scratchdimen\innermargintotal \advance\scratchdimen\inneredgetotal \xdef\innercombitotal {\the\scratchdimen}%
+ \scratchdimen\outermargintotal \advance\scratchdimen\outeredgetotal \xdef\outercombitotal {\the\scratchdimen}%
+ \scratchdimen\innermarginwidth \advance\scratchdimen\inneredgetotal \xdef\innersidetotal {\the\scratchdimen}%
+ \scratchdimen\outermarginwidth \advance\scratchdimen\outeredgetotal \xdef\outersidetotal {\the\scratchdimen}%
+\to \extralayoutcalculations
+
+\newtoks\everyswapmargins % watch the order !
+
+\appendtoks
+ \swapdimens\leftmargindistance\rightmargindistance
+ \swapdimens\leftedgedistance \rightedgedistance
+ \swapdimens\leftmarginwidth \rightmarginwidth
+ \swapdimens\leftedgewidth \rightedgewidth
+\to \everyswapmargins
+
+\appendtoks
+ \swapmacros\leftmargintotal \rightmargintotal
+ \swapmacros\leftedgetotal \rightedgetotal
+ \swapmacros\leftsidetotal \rightsidetotal
+ \swapmacros\leftcombitotal \rightcombitotal
+ \swapmacros\innermargintotal\outermargintotal
+ \swapmacros\inneredgetotal \outeredgetotal
+ \swapmacros\innercombitotal \outercombitotal
+ \swapmacros\innersidetotal \outersidetotal
+\to \everyswapmargins
+
%D \macros
%D {definepapersize}
%D
@@ -522,10 +577,6 @@
\recalculatelogos
\recalculatebackgrounds}
-\newtoks\extralayoutcalculations
-
-\def\calculatelayoutextras{\the\extralayoutcalculations}
-
\def\calculatepseudocolumns
{\global\layoutcolumns\layoutparameter\c!columns
\global\layoutcolumndistance\layoutparameter\c!columndistance
@@ -1008,15 +1059,6 @@
\hskip-\leftedgedistance
\hskip-\leftedgewidth}
-\newtoks\everyswapmargins
-
-\appendtoks
- \swapdimens\leftmargindistance\rightmargindistance
- \swapdimens\leftedgedistance \rightedgedistance
- \swapdimens\leftmarginwidth\rightmarginwidth
- \swapdimens\leftedgewidth \rightedgewidth
-\to \everyswapmargins
-
\def\doifmarginswapelse#1#2%
{\doifbothsides#1\orsideone#1\orsidetwo#2\od}
diff --git a/tex/context/base/page-lin.tex b/tex/context/base/page-lin.tex
index f25096443..10f875fc0 100644
--- a/tex/context/base/page-lin.tex
+++ b/tex/context/base/page-lin.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-lin, % copied from main-001
+%D [ file=page-lin, % copied from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Line Numbering,
diff --git a/tex/context/base/page-log.tex b/tex/context/base/page-log.tex
index 7afe7b64a..65dcd7713 100644
--- a/tex/context/base/page-log.tex
+++ b/tex/context/base/page-log.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-log, % moved here from main-001
+%D [ file=page-log, % moved here from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Logos,
diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex
index a1ab4d0ff..c716325ef 100644
--- a/tex/context/base/page-lyr.tex
+++ b/tex/context/base/page-lyr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-lyr,
+%D [ file=page-lyr,
%D version=2000.10.20,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Layers,
diff --git a/tex/context/base/page-mak.tex b/tex/context/base/page-mak.tex
index 66fc4b2d2..87d8be7c2 100644
--- a/tex/context/base/page-mak.tex
+++ b/tex/context/base/page-mak.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-mak, % copied from main-001,
+%D [ file=page-mak, % copied from main-001,
%D version=1997.03.31,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Simple MakeUp,
diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex
index b51d5939b..899299fc0 100644
--- a/tex/context/base/page-mar.tex
+++ b/tex/context/base/page-mar.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-mar, % moved here from main-001
+%D [ file=page-mar, % moved here from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Marginal Things
@@ -55,7 +55,7 @@
[\c!location=\v!left,
\c!distance=\zeropoint,
\c!width=\leftmarginwidth,
- \c!offset=\leftmargindistance,
+ \c!hoffset=\leftmargindistance,
\c!command=,
#2]%
\setvalue{#1}{\domarginline{#1}}}
@@ -70,7 +70,7 @@
\hsize\getvalue{\??im\??im#1\c!width}\relax
\executeifdefined{\??im\??im#1\c!command}\firstofoneargument{#2}\relax
\hskip\leftskip
- \hskip\getvalue{\??im\??im#1\c!offset }\relax
+ \hskip\getvalue{\??im\??im#1\c!hoffset }\relax
\hskip\getvalue{\??im\??im#1\c!distance}}%
\popindentation
\ignorespaces}
@@ -81,9 +81,9 @@
{\postsignalrightpage
\hskip\hsize
\hskip-\rightskip
- \hskip\getvalue{\??im\??im#1\c!offset }\relax
+ \hskip\getvalue{\??im\??im#1\c!hoffset }\relax
\hskip\getvalue{\??im\??im#1\c!distance}\relax
- \hsize\getvalue{\??im\??im#1\c!width}\relax
+ \hsize\getvalue{\??im\??im#1\c!width }\relax
\executeifdefined{\??im\??im#1\c!command}\firstofoneargument{#2}}%
\popindentation
\ignorespaces}
@@ -93,18 +93,18 @@
\setvalue{\s!do\??im\??im\v!inner}{\presignalrightpage\doifrightpageelse\doleftmarginline \dorightmarginline}
\setvalue{\s!do\??im\??im\v!outer}{\presignalrightpage\doifrightpageelse\dorightmarginline\doleftmarginline }
-\definemarginline[inleftmargin] [\c!location=\v!left, \c!width=\leftmarginwidth, \c!offset=\leftmargindistance]
-\definemarginline[inrightmargin][\c!location=\v!right,\c!width=\rightmarginwidth,\c!offset=\rightmargindistance]
-\definemarginline[inleftedge] [\c!location=\v!left, \c!width=\leftedgewidth, \c!offset=\leftedgedistance, \c!distance=\leftmargintotal]
-\definemarginline[inrightedge] [\c!location=\v!right,\c!width=\rightedgewidth, \c!offset=\rightedgedistance,\c!distance=\rightmargintotal]
+\definemarginline[inleftmargin] [\c!location=\v!left, \c!width=\leftmarginwidth, \c!distance=\leftmargindistance]
+\definemarginline[inrightmargin][\c!location=\v!right,\c!width=\rightmarginwidth,\c!distance=\rightmargindistance]
+\definemarginline[inleftedge] [\c!location=\v!left, \c!width=\leftedgewidth, \c!distance=\leftedgedistance, \c!hoffset=\leftmargintotal]
+\definemarginline[inrightedge] [\c!location=\v!right,\c!width=\rightedgewidth, \c!distance=\rightedgedistance,\c!hoffset=\rightmargintotal]
-\definemarginline[inoutermargin][\c!location=\v!outer,\c!width=\outermarginwidth,\c!offset=\outermargindistance]
-\definemarginline[ininnermargin][\c!location=\v!inner,\c!width=\innermarginwidth,\c!offset=\innermargindistance]
-\definemarginline[inouteredge] [\c!location=\v!outer,\c!width=\outeredgewidth, \c!offset=\outeredgedistance,\c!distance=\outermargintotal]
-\definemarginline[ininneredge] [\c!location=\v!inner,\c!width=\inneredgewidth, \c!offset=\inneredgedistance,\c!distance=\innermargintotal]
+\definemarginline[inoutermargin][\c!location=\v!outer,\c!width=\outermarginwidth,\c!distance=\outermargindistance]
+\definemarginline[ininnermargin][\c!location=\v!inner,\c!width=\innermarginwidth,\c!distance=\innermargindistance]
+\definemarginline[inouteredge] [\c!location=\v!outer,\c!width=\outeredgewidth, \c!distance=\outeredgedistance,\c!hoffset=\outermargintotal]
+\definemarginline[ininneredge] [\c!location=\v!inner,\c!width=\inneredgewidth, \c!distance=\inneredgedistance,\c!hoffset=\innermargintotal]
-\definemarginline[atleftmargin] [\c!location=\v!left, \c!command=\lrlap,\c!distance=\zeropoint,\c!width=\zeropoint,\c!offset=\zeropoint]
-\definemarginline[atrightmargin][\c!location=\v!right,\c!command=\rllap,\c!distance=\zeropoint,\c!width=\zeropoint,\c!offset=\zeropoint]
+\definemarginline[atleftmargin] [\c!location=\v!left, \c!command=\lrlap,\c!width=\zeropoint,\c!distance=\zeropoint,\c!hoffset=\zeropoint]
+\definemarginline[atrightmargin][\c!location=\v!right,\c!command=\rllap,\c!width=\zeropoint,\c!distance=\zeropoint,\c!hoffset=\zeropoint]
\ifx\lrlap\undefined \def\lrlap#1{\llap{\rlap{#1}\hskip\leftskip}} \fi
\ifx\rllap\undefined \def\rllap#1{\rlap{\hskip\hsize\hskip-\rightskip\llap{#1}}} \fi
@@ -170,6 +170,7 @@
\chardef\margincontentdisplacement \zerocount
\let \margincontentdistance \!!zeropoint
+\let \margincontenthoffset \!!zeropoint
\def \margincontentlines {1}
\def \margincontenttag {0}
\let \margincontentseparator \empty
@@ -193,7 +194,7 @@
\getparameters[\??im#2][#1]}
\def\checkinmargin[#1]%
- {\ifundefined{\??im#1\c!offset}%
+ {\ifundefined{\??im#1\c!offset}% this offset is related to framed !
\addtocommalist{#1}\inmargintaglist
\presetmargintext[#1]%
\fi}
@@ -208,7 +209,8 @@
\c!line=1,
\c!separator=,
\c!width=\v!broad,
- \c!distance=\zeropoint,
+ \c!distance=, % empty = signal
+ \c!hoffset=\zeropoint,
\c!style=\@@imstyle,
\c!color=\@@imcolor,
\c!location=\@@imlocation,
@@ -218,14 +220,14 @@
\newdimen\naturalmargincontentheight
-\def\makemargintextblock#1#2#3#4% width l r content
+\def\makemargintextblock#1#2#3% width l r content
{\bgroup
\forgetall % added, else problems with 'center' and nested itemize
\dontcomplain
- \hsize#1\relax
+ \hsize\getvalue{\??im#1\c!width}\relax
\doifnumberelse\margincontenttag
{\ifcase\margincontenttag\relax
- \def\margincontenttag{#2}% first one is setups id as well
+ \let\margincontenttag#1% first one is setups id as well
\fi}
\donothing
\doifnumberelse\margincontenttag
@@ -234,16 +236,16 @@
\fi}
\donothing
% we need to preserve {a,b,c} kind of settings
- \let\margincontentalign#2%
+ \let\margincontentalign#1%
\processallactionsinset
[\getvalue{\??im\margincontenttag\c!align}]
- [ \v!yes=>\let\margincontentalign#2,
- \v!no=>\let\margincontentalign\v!normal,
- \v!inner=>\let\margincontentalign#2,
- \v!outer=>\let\margincontentalign#3,
- \v!left=>\let\margincontentalign\v!left,
- \v!middle=>\let\margincontentalign\v!middle,
- \v!right=>\let\margincontentalign\v!right]%
+ [ \v!yes=>\let\margincontentalign#1,
+ \v!no=>\let\margincontentalign\v!normal,
+ \v!inner=>\let\margincontentalign#1,
+ \v!outer=>\let\margincontentalign#2,
+ \v!left=>\let\margincontentalign\v!left,
+ \v!middle=>\let\margincontentalign\v!middle,
+ \v!right=>\let\margincontentalign\v!right]%
\doifvaluesomething{\??im\margincontenttag\c!align} % watch {} around set
{\edef\margincontentalign{{\getvalue{\??im\margincontenttag\c!align},\margincontentalign}}}%
%
@@ -259,7 +261,7 @@
\@@imbefore
\dostartattributes{\??im\margincontenttag}\c!style\c!color\empty
\setstrut % yes or no
- \begstrut#4\endstrut\endgraf
+ \begstrut#3\endstrut\endgraf
\xdef\margincontentstrutheight{\the\strutht}% so that it's known outside the framed
\dostopattributes
\@@imafter}%
@@ -269,7 +271,7 @@
{\def\overlappingmargin{-20\scaledpoint}% test value, maybe .25\strutboxdp, maybe configurable
\setbox\scratchbox\vbox{\stackeddown\vbox{\box\scratchbox}}}% new
\ht\scratchbox\strutht
-\dp\scratchbox\strutdp % nieuw
+ \dp\scratchbox\strutdp % nieuw
\box\scratchbox
\egroup}
@@ -324,30 +326,39 @@
% 2 only natural height
% 3 also stack height
-\chardef\margincontentmethod\plusthree % beware: 1 = old method
+\chardef\margincontentmethod \plusthree % beware: 1 = old method
+\chardef\marginpagecheckmethod\plusone
+
+\beginOMEGA \vadjust
+ \chardef\marginpagecheckmethod\plustwo
+\endOMEGA
+
\def\margincontentextralines{1} % old method, play safe
+\def\nofmargincontentlines {0}
\def\doplacemargintext#1#2#3#4%
{\strut
\doifsomething{#1}
{\def\margincontenttag{#1}}%
\doifinsetelse{\margincontenttag}{\v!left,\v!right} % ugly hack
- {\let \margincontentdistance \zeropoint}
- {\edef\margincontentdistance {\executeifdefined{\??im\margincontenttag\c!distance }\zeropoint}}%
- \edef\margincontentlines {\executeifdefined{\??im\margincontenttag\c!line }\plusone }%
- \edef\margincontentseparator{\executeifdefined{\??im\margincontenttag\c!separator}\donothing}%
+ {\let \margincontentdistance \empty % signal
+ \let \margincontenthoffset \zeropoint}
+ {\edef\margincontentdistance{\executeifdefined{\??im\margincontenttag\c!distance }\empty }% signal
+ \edef\margincontenthoffset {\executeifdefined{\??im\margincontenttag\c!hoffset }\zeropoint}}%
+ \edef\margincontentlines {\executeifdefined{\??im\margincontenttag\c!line }\plusone }%
+ \edef\margincontentseparator {\executeifdefined{\??im\margincontenttag\c!separator}\donothing}%
\setbox\scratchbox\hbox{#4}% % todo: make sure that color stack works
-\ifcase\margincontentmethod
- \scratchdimen\zeropoint
-\or % old method
- \scratchdimen\ht\scratchbox
- \advance\scratchdimen\dp\scratchbox
-\or
- \scratchdimen\naturalmargincontentheight
-\or
- \scratchdimen\naturalmargincontentheight
- \ifx\laststackvmove\undefined\else\global\advance\scratchdimen\laststackvmove\fi
-\fi
+ \ifcase\margincontentmethod
+ \scratchdimen\zeropoint
+ \or % old method
+ \scratchdimen\ht\scratchbox
+ \advance\scratchdimen\dp\scratchbox
+ \or
+ \scratchdimen\naturalmargincontentheight
+ \or
+ \scratchdimen\naturalmargincontentheight
+ \ifx\laststackvmove\undefined\else\global\advance\scratchdimen\laststackvmove\fi
+ \fi
\ifdim\scratchdimen>\margincontentheight
\global\margincontentheight\scratchdimen
\fi
@@ -370,25 +381,24 @@
%\hbox{\lower\strutdp\box\scratchbox}} % alas, wrong lapping, therefore useless
\dopositionmarginbox\scratchbox}
-\def\leftmargintextdistance {\getvalue{\??im\v!left \c!distance}}
-\def\rightmargintextdistance{\getvalue{\??im\v!right\c!distance}}
-
-\def\leftmargintextwidth {\getvalue{\??im\v!left \c!width}}
-\def\rightmargintextwidth {\getvalue{\??im\v!right\c!width}}
+\def\domarginblockskip#1%
+ {\hskip\margincontenthoffset
+ \doifelsenothing\margincontentdistance
+ {\hskip\getvalue{\??im#1\c!distance}}
+ {\hskip\margincontentdistance}%
+ \relax}
\def\doleftmarginblock#1#2%
{\doplacemargintext{#1}\llap\zeropoint
{\llap{\placemargincontentseparator}%
- \makemargintextblock\leftmargintextwidth\v!left\v!right{#2}%
- \hskip\margincontentdistance
- \hskip\leftmargintextdistance}}
+ \makemargintextblock\v!left\v!right{#2}%
+ \domarginblockskip\v!left}}
\def\dorightmarginblock#1#2%
{\doplacemargintext{#1}\rlap\hsize
- {\hskip\rightmargintextdistance
- \hskip\margincontentdistance
- \hskip\textwidth\hskip-\hsize % new: hsize correction
- \makemargintextblock\rightmargintextwidth\v!right\v!left{#2}%
+ {\hskip\textwidth\hskip-\hsize % new: hsize correction
+ \domarginblockskip\v!right
+ \makemargintextblock\v!right\v!left{#2}%
\rlap{\placemargincontentseparator}}}
\def\placemargincontentseparator
@@ -402,22 +412,8 @@
\fi
\fi}
-%
-
\newbox\marginconstructbox
-% \def\doinmarginswapped#1#2#3#4%
-% {\iffirstsidefloatparagraph\geenwitruimte\fi % zo laat mogelijk
-% \setbox\marginconstructbox\hbox\bgroup % prevents page break in the middle of construction
-% \signalrightpage
-% \doifswappedrightpageelse
-% {\rightmargintrue \freezepagestate#2}
-% {\rightmarginfalse\freezepagestate#1}
-% {#3}% setups
-% {\freezepagestate#4}% content
-% \egroup
-% \unhbox\marginconstructbox}
-
\def\doinmarginswapped#1#2#3#4%
{\iffirstsidefloatparagraph\nowhitespace\fi % zo laat mogelijk
\setbox\marginconstructbox\hbox\bgroup % prevents page break in the middle of construction
@@ -431,7 +427,6 @@
\egroup
\unhbox\marginconstructbox}
-
% history made this a bit complicated, the +/- was needed before
% we had enough mem/hash to do the page correction
@@ -457,7 +452,7 @@
% {\dodoinmargin[#1][#2][#3][#4][#5]}
% {\dodoinmargin[#1][#2][#3][][#4]}}}
%
-% the problem is that we ned to keep downward compatibility
+% the problem is that we need to keep downward compatibility
% with respect to the first argument thing a reference or a
% directive; the alternative is to force users to pass a
% directive along with a reference; anyhow, as long as one
@@ -465,7 +460,6 @@
% directive we can use the (slow) alternative
\def\doinmargin[#1][#2][#3][#4][#5]% #6 #7
-% {\expanded{\doifcommonels{#4}{\inmargintaglist}}
{\expanded{\doifinsetelse{#4}{\inmargintaglist}}
{\dodoinmargin[#1][#2][#3][#4][#5]}
{\dodoinmargin[#1][#2][#3][][#4]}}
@@ -479,12 +473,12 @@
\setvalue{#1}{\indentation\doquintupleempty\doinmargin[#2][#3][#1]}}
{\setvalue{#1}{\indentation\doquintupleempty\doinmargin[#2][#3][#4]}}}
-\defineinmargin[inleft] [\v!left] [\v!normal] % takes left settings
-\defineinmargin[inright] [\v!right] [\v!normal] % takes right settings
-\defineinmargin[ininner] [\v!inner] [\v!normal] % takes left/right settings
-\defineinmargin[inouter] [\v!outer] [\v!normal] % takes left/right settings
-\defineinmargin[inmargin][\@@imlocation] [\v!normal] % takes left/right settings
-\defineinmargin[inother] [\@@imlocation] [\v!reverse] % takes left/right settings
+\defineinmargin [inleft] [\v!left] [\v!normal] % takes left settings
+\defineinmargin [inright] [\v!right] [\v!normal] % takes right settings
+\defineinmargin [ininner] [\v!inner] [\v!normal] % takes left/right settings
+\defineinmargin [inouter] [\v!outer] [\v!normal] % takes left/right settings
+\defineinmargin [inmargin] [\@@imlocation] [\v!normal] % takes left/right settings
+\defineinmargin [inother] [\@@imlocation] [\v!reverse] % takes left/right settings
\def\inothermargin{\inother}
@@ -567,10 +561,10 @@
{\swapmacros\dorightmarginblock\doleftmarginblock}%
\processaction
[#1]
- [ \v!left=>\let\next\doleftmarginblock, % no swapping
- \v!right=>\let\next\dorightmarginblock, % no swapping
- \v!inner=>\def\next{\doinmarginswapped\dorightmarginblock\doleftmarginblock },
- \v!outer=>\def\next{\doinmarginswapped\doleftmarginblock \dorightmarginblock},
+ [ \v!left=>\let\next\doleftmarginblock, % no swapping
+ \v!right=>\let\next\dorightmarginblock, % no swapping
+ \v!inner=>\def\next{\doinmarginswapped\dorightmarginblock\doleftmarginblock },
+ \v!outer=>\def\next{\doinmarginswapped\doleftmarginblock \dorightmarginblock},
\s!unknown=>\ifdubbelzijdig
\doifcommonelse{+,-}{#4}
{\def\next{\doinmarginswapped\dorightmarginblock\doleftmarginblock }}
@@ -653,13 +647,18 @@
\else
\donefalse % how needed
\fi\fi\fi
+ \savemargincontentlines
\ifdone
\advance\margincontentheight \margincontentextralines\lineheight
\bgroup % preserve \margincontentheight
\advance\margincontentheight \pagetotal
\ifdim\margincontentheight>\pagegoal
\egroup
- \setmargincontentpenalties
+ \ifcase\marginpagecheckmethod\or
+ \vadjust pre {\page}%
+ \or
+ \setmargincontentpenalties
+ \fi
\else
\egroup
\fi
@@ -668,6 +667,22 @@
\fi
\egroup}
+\def\savemargincontentlines
+ {\bgroup
+ \advance\margincontentheight \margincontentextralines\lineheight % 1 by default
+ \getnoflines\margincontentheight
+ \xdef\nofmargincontentlines{\the\noflines}%
+ \egroup}
+
+\def\fillupmargincontentlines
+ {\endgraf
+ \begingroup
+ \scratchcounter\numexpr(\nofmargincontentlines-\prevgraf)\relax
+ \ifnum\scratchcounter>\zerocount
+ \forgetall\dorecurse\scratchcounter{\nobreak\crlf}%
+ \fi
+ \endgroup}
+
\beginETEX
\def\setmargincontentpenalties
diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex
index 81d35ef42..8e5fb5888 100644
--- a/tex/context/base/page-mul.tex
+++ b/tex/context/base/page-mul.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-mul, % was: core-mul
+%D [ file=page-mul, % was: core-mul
%D version=1998.03.15,
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Multi Column Output,
@@ -1315,64 +1315,6 @@
\newif\ifflushingcolumnfloats \flushingcolumnfloatstrue
-% \def\doflushcolumnfloat%
-% {\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifprocessingverbatim\else\ifsomefloatwaiting
-% \bgroup
-% \forgetall
-% \let\doflushcolumnfloat=\relax
-% \getcolumnstatus\column\count255\total\dimen0\goal\dimen2\\%
-% \ifdim\dimen0>\zeropoint
-% \dogetfloat
-% \ifdim\wd\floatbox>\hsize
-% \doresavefloat
-% \else
-% %\setbox2=\vbox
-% % {\blanko[\@@bkvoorwit]
-% % \snaptogrid\vbox{\copy\floatbox}%
-% % \blanko[\@@bknawit]
-% \setbox2=\vbox
-% {\blanko[\@@bkvoorwit]
-% \snaptogrid\vbox{\copy\floatbox}}%
-% \advance\dimen0 by \ht2
-% \ifdim\dimen0>\dimen2
-% \ifnum\count255<\nofcolumns
-% \advance\count255 by 1
-% \edef\currenttopcolumnbox{\getvalue{\@@topcol\the\count255}}%
-% \ifdim\ht\currenttopcolumnbox=\zeropoint
-% \global\setbox\currenttopcolumnbox=\vbox
-% {\snaptogrid\vbox{\copy\floatbox}
-% \witruimte % nodig ?
-% \blanko[\@@bknawit]}%
-% \dimen4=\ht\currenttopcolumnbox
-% \advance\dimen4 by \dp\currenttopcolumnbox
-% \global\advance\vsize by -\dimen4
-% \advance\dimen4 by -\pagegoal
-% \global\pagegoal=-\dimen4
-% \showmessage{\m!columns}{12}{a}%
-% \else
-% \showmessage{\m!columns}{12}{b}%
-% \doresavefloat
-% \fi
-% \else
-% \showmessage{\m!columns}{12}{c}%
-% \doresavefloat
-% \fi
-% \else
-% \ifhmode{\setbox0=\lastbox}\fi% waar is die er in geslopen
-% \par
-% \ifdim\prevdepth<\zeropoint \else % anders bovenaan kolom witruimte
-% \nobreak
-% \blanko[\@@bkvoorwit]
-% \nobreak
-% \fi
-% \flushfloatbox
-% \blanko[\@@bknawit]
-% \fi
-% \fi
-% \fi
-% \egroup
-% \fi\fi\fi\fi}
-
\def\doflushcolumnfloat
{\ifpostponecolumnfloats\else\ifflushingcolumnfloats\ifprocessingverbatim\else\ifsomefloatwaiting
\bgroup
diff --git a/tex/context/base/page-not.tex b/tex/context/base/page-not.tex
index 0f2a0249b..42316864b 100644
--- a/tex/context/base/page-not.tex
+++ b/tex/context/base/page-not.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-nnt,
+%D [ file=page-nnt,
%D version=2002.04.16,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Footnotes,
diff --git a/tex/context/base/page-num.tex b/tex/context/base/page-num.tex
index 38dd1eddf..5bab4251e 100644
--- a/tex/context/base/page-num.tex
+++ b/tex/context/base/page-num.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-num, % moved here from main-001
+%D [ file=page-num, % moved here from main-001
%D version=1997.03.31,
%D title=\CONTEXT\ Core Macros,
%D subtitle=Numbering,
@@ -144,20 +144,20 @@
\bgroup
\ifnum\realpageno=\firstsubpage\relax
\global\let\prevsubpage\firstsubpage
- \setglobalsystemreference\rt!page{\v!sub\v!backward}\lastsubpage
+ \setglobalsystemreference\rt!page\v!subbackward\lastsubpage
\else
\xdef\prevsubpage{\realfolio}%
\doglobal\decrement\prevsubpage
- \setglobalsystemreference\rt!page{\v!sub\v!backward}\prevsubpage
+ \setglobalsystemreference\rt!page\v!subbackward\prevsubpage
\fi
\setglobalsystemreference\rt!page\v!previoussubpage\prevsubpage
\ifnum\realpageno=\lastsubpage\relax
\global\let\nextsubpage\lastsubpage
- \setglobalsystemreference\rt!page{\v!sub\v!forward}\firstsubpage
+ \setglobalsystemreference\rt!page\v!subforward\firstsubpage
\else
\xdef\nextsubpage{\realfolio}%
\doglobal\increment\nextsubpage
- \setglobalsystemreference\rt!page{\v!sub\v!forward}\nextsubpage
+ \setglobalsystemreference\rt!page\v!subforward\nextsubpage
\fi
\setglobalsystemreference\rt!page\v!nextsubpage\nextsubpage
\egroup
diff --git a/tex/context/base/page-one.tex b/tex/context/base/page-one.tex
index b85932621..1861a5be7 100644
--- a/tex/context/base/page-one.tex
+++ b/tex/context/base/page-one.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-one,
+%D [ file=page-one,
%D version=2000.10.20,
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Default Routine,
diff --git a/tex/context/base/page-run.tex b/tex/context/base/page-run.tex
index f7955092b..b9e280bcd 100644
--- a/tex/context/base/page-run.tex
+++ b/tex/context/base/page-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-run,
+%D [ file=page-run,
%D version=2000.10.20,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Runtime Macros,
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index 6eb3622bd..a0b07dc8a 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-set,
+%D [ file=page-set,
%D version=2000.10.20,
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Column Sets,
diff --git a/tex/context/base/page-sid.tex b/tex/context/base/page-sid.tex
index c8d7055e5..0ad5c787e 100644
--- a/tex/context/base/page-sid.tex
+++ b/tex/context/base/page-sid.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-sid,
+%D [ file=page-sid,
%D version=2000.10.20,
%D title=\CONTEXT\ OTR Macros,
%D subtitle=Side Floats,
@@ -664,7 +664,7 @@
\fi
\relax % really needed ! ! ! !
\ifdim\dimen0>\dimen2
- \roomforfloatfalse
+ \global\roomforfloatfalse
\else
\dimen0=\pagegoal
\advance\dimen0 -\sidefloatvsize
@@ -677,7 +677,7 @@
\global\advance\sidefloatvsize \sidefloatbottomskip
\global\floatshortfalse
\fi
- \roomforfloattrue
+ \global\roomforfloattrue
\fi}
\def\setsidefloat% nilling everypar saves time and redudant pos's
@@ -735,7 +735,7 @@
% %\!!counta\sidefloatprogress
% \scratchdimen\sidefloatprogress
% \advance\scratchdimen \strutht
-% \advance\scratchdimen -10sp % new, needed in prikkels, prevent rounding errors
+% \advance\scratchdimen -\roundingeps % new, needed in prikkels, prevent rounding errors
% \!!counta\scratchdimen
% \divide\!!counta \baselineskip
% \ifnum\!!counta>0
@@ -756,7 +756,7 @@
%\!!counta\sidefloatprogress
\scratchdimen\sidefloatprogress
\advance\scratchdimen \strutht
- \advance\scratchdimen -10sp % new, needed in prikkels, prevent rounding errors
+ \advance\scratchdimen -\roundingeps % new, needed in prikkels, prevent rounding errors
\!!counta\scratchdimen
\divide\!!counta \baselineskip\relax
\ifnum\!!counta>0
diff --git a/tex/context/base/page-spr.tex b/tex/context/base/page-spr.tex
index e0ac6fbc7..c90e9cf0f 100644
--- a/tex/context/base/page-spr.tex
+++ b/tex/context/base/page-spr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-spr,
+%D [ file=page-spr,
%D version=2002.11.11,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Spreading,
diff --git a/tex/context/base/page-txt.tex b/tex/context/base/page-txt.tex
index b745f9517..b6b0fbffe 100644
--- a/tex/context/base/page-txt.tex
+++ b/tex/context/base/page-txt.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=page-txt, % copied from main-001,
+%D [ file=page-txt, % copied from main-001,
%D version=1997.03.31,
%D title=\CONTEXT\ Page Macros,
%D subtitle=Texts,
diff --git a/tex/context/base/pdfr-il2.tex b/tex/context/base/pdfr-il2.tex
index f52052ba8..70bcb25da 100644
--- a/tex/context/base/pdfr-il2.tex
+++ b/tex/context/base/pdfr-il2.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=pdfr-il2,
+%D [ file=pdfr-il2,
%D version=2000.12.10,
%D title=\CONTEXT\ PDF Font Resources,
%D subtitle=ISO Latin 2,
diff --git a/tex/context/base/plus-rul.tex b/tex/context/base/plus-rul.tex
index f9373d9db..57d94cfb1 100644
--- a/tex/context/base/plus-rul.tex
+++ b/tex/context/base/plus-rul.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=plus-rul,
+%D [ file=plus-rul,
%D version=2003.03.16,
%D title=\CONTEXT\ Plus Macros,
%D subtitle=Ruled Stuff Handling,
diff --git a/tex/context/base/ppchtex.tex b/tex/context/base/ppchtex.tex
index b68e393f8..1fda1e7f0 100644
--- a/tex/context/base/ppchtex.tex
+++ b/tex/context/base/ppchtex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=ppchtex (m-chemie),
+%D [ file=ppchtex (m-chemie),
%D version=1997.03.19,
%D title=\CONTEXT\ Extra Modules,
%D subtitle=\PPCHTEX\ (Plain Pictex Context cHemie \TEX),
diff --git a/tex/context/base/prop-ini.tex b/tex/context/base/prop-ini.tex
index 43ccafa51..f77bb4633 100644
--- a/tex/context/base/prop-ini.tex
+++ b/tex/context/base/prop-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=prop-ini,
+%D [ file=prop-ini,
%D version=2003.04.20,
%D title=\CONTEXT\ Property Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/prop-lay.tex b/tex/context/base/prop-lay.tex
index 18ffa493c..1e2726d29 100644
--- a/tex/context/base/prop-lay.tex
+++ b/tex/context/base/prop-lay.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=prop-lay,
+%D [ file=prop-lay,
%D version=2003.04.20,
%D title=\CONTEXT\ Property Macros,
%D subtitle=Layers,
diff --git a/tex/context/base/prop-mis.tex b/tex/context/base/prop-mis.tex
index 8b90cab85..769fc33f4 100644
--- a/tex/context/base/prop-mis.tex
+++ b/tex/context/base/prop-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=prop-mis,
+%D [ file=prop-mis,
%D version=2004.05.29, % some code moved from private modules
%D title=\CONTEXT\ Property Macros,
%D subtitle=Miscelaneous,
@@ -124,16 +124,16 @@
[\c!rulethickness=.25pt,
\c!stretch=1]
-\defineproperty [\v!inner] [\s!effect]
-\defineproperty [\v!outer] [\s!effect]
-\defineproperty [\v!both] [\s!effect]
-\defineproperty [\v!normal] [\s!effect]
+\defineproperty [\v!inner] [\s!effect]
+\defineproperty [\v!outer] [\s!effect]
+\defineproperty [\v!both] [\s!effect]
+\defineproperty [\v!normal] [\s!effect]
\defineproperty [\v!hidden] [\s!effect]
-\definepropertyhandler \v!normal {0}
-\definepropertyhandler \v!inner {0}
-\definepropertyhandler \v!outer {1}
-\definepropertyhandler \v!both {2}
+\definepropertyhandler \v!normal {0}
+\definepropertyhandler \v!inner {0}
+\definepropertyhandler \v!outer {1}
+\definepropertyhandler \v!both {2}
\definepropertyhandler \v!hidden {3}
% \def\handleeffectproperty#1%
diff --git a/tex/context/base/prop-run.tex b/tex/context/base/prop-run.tex
index dcd755b35..4eb853b42 100644
--- a/tex/context/base/prop-run.tex
+++ b/tex/context/base/prop-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=prop-run,
+%D [ file=prop-run,
%D version=2003.04.20,
%D title=\CONTEXT\ Property Macros,
%D subtitle=Runtime Macros,
diff --git a/tex/context/base/regi-cyp.tex b/tex/context/base/regi-cyp.tex
index a1043bc52..7d134df50 100644
--- a/tex/context/base/regi-cyp.tex
+++ b/tex/context/base/regi-cyp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-cyp,
+%D [ file=regi-cyp,
%D version=2003.01.24,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Cyrillic Plus,
diff --git a/tex/context/base/regi-cyr.tex b/tex/context/base/regi-cyr.tex
index a4bcdb5c3..1ca020825 100644
--- a/tex/context/base/regi-cyr.tex
+++ b/tex/context/base/regi-cyr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-cyr,
+%D [ file=regi-cyr,
%D version=2003.01.24,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Cyrillic,
diff --git a/tex/context/base/regi-def.tex b/tex/context/base/regi-def.tex
index 48f020392..e26709c77 100644
--- a/tex/context/base/regi-def.tex
+++ b/tex/context/base/regi-def.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-def,
+%D [ file=regi-def,
%D version=2000.20.12, % split from less verbose base file
%D title=\CONTEXT\ Regime Macros,
%D subtitle=Default Character Definitions,
diff --git a/tex/context/base/regi-grk.tex b/tex/context/base/regi-grk.tex
index 7ff295a04..72b732eb8 100644
--- a/tex/context/base/regi-grk.tex
+++ b/tex/context/base/regi-grk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-grk,
+%D [ file=regi-grk,
%D version=2003.03.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Greek,
diff --git a/tex/context/base/regi-ibm.tex b/tex/context/base/regi-ibm.tex
index 4f40efb2e..1fad9545a 100644
--- a/tex/context/base/regi-ibm.tex
+++ b/tex/context/base/regi-ibm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-ibm,
+%D [ file=regi-ibm,
%D version=1995.01.01,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=The Good Old MSDOS IBM codepage,
diff --git a/tex/context/base/regi-il1.tex b/tex/context/base/regi-il1.tex
index af4806a3a..7c1838fec 100644
--- a/tex/context/base/regi-il1.tex
+++ b/tex/context/base/regi-il1.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-il1,
+%D [ file=regi-il1,
%D version=2000.05.07,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=ISO Latin 1 keys,
diff --git a/tex/context/base/regi-ini.tex b/tex/context/base/regi-ini.tex
index 2833843e4..0f663a423 100644
--- a/tex/context/base/regi-ini.tex
+++ b/tex/context/base/regi-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-ini,
+%D [ file=regi-ini,
%D version=2000.12.27, % 1998.12.03,
%D title=\CONTEXT\ Regime Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/regi-lat.tex b/tex/context/base/regi-lat.tex
index e31e584f2..9a561628a 100644
--- a/tex/context/base/regi-lat.tex
+++ b/tex/context/base/regi-lat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-lat,
+%D [ file=regi-lat,
%D version=1999.11.16,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Pseudo Latin 2,
diff --git a/tex/context/base/regi-mac.tex b/tex/context/base/regi-mac.tex
index 5d8756c22..b3c281ec0 100644
--- a/tex/context/base/regi-mac.tex
+++ b/tex/context/base/regi-mac.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-mac,
+%D [ file=regi-mac,
%D version=2001.03.18,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Mac Encoding,
diff --git a/tex/context/base/regi-uni.tex b/tex/context/base/regi-uni.tex
index a73dd4378..2b749967f 100644
--- a/tex/context/base/regi-uni.tex
+++ b/tex/context/base/regi-uni.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=enco-uni,
+%D [ file=enco-uni,
%D version=1998.10.18,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Unicode,
diff --git a/tex/context/base/regi-utf.tex b/tex/context/base/regi-utf.tex
index 45fe3af88..b529406e1 100644
--- a/tex/context/base/regi-utf.tex
+++ b/tex/context/base/regi-utf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-utf,
+%D [ file=regi-utf,
%D version=2002.12.03,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=UTF-8,
diff --git a/tex/context/base/regi-win.tex b/tex/context/base/regi-win.tex
index 205e498bc..36fd73f9d 100644
--- a/tex/context/base/regi-win.tex
+++ b/tex/context/base/regi-win.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=regi-win,
+%D [ file=regi-win,
%D version=1997.08.29,
%D title=\CONTEXT\ Encoding Macros,
%D subtitle=Windows 1252 ANSI keys,
diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex
index b1a9180fb..4bffd875b 100644
--- a/tex/context/base/s-abr-01.tex
+++ b/tex/context/base/s-abr-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-abr-01,
+%D [ file=s-abr-01,
%D version=1996.01.01,
%D title=\CONTEXT\ Style File,
%D subtitle=General Abbreviations 1,
diff --git a/tex/context/base/s-abr-02.tex b/tex/context/base/s-abr-02.tex
index 6f5c6cd86..e2cdbfb72 100644
--- a/tex/context/base/s-abr-02.tex
+++ b/tex/context/base/s-abr-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-abr-02,
+%D [ file=s-abr-02,
%D version=1996.01.01,
%D title=\CONTEXT\ Style File,
%D subtitle=General Abbreviations 2,
diff --git a/tex/context/base/s-abr-03.tex b/tex/context/base/s-abr-03.tex
index 48a702c16..43068b9a5 100644
--- a/tex/context/base/s-abr-03.tex
+++ b/tex/context/base/s-abr-03.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-abr-03,
+%D [ file=s-abr-03,
%D version=1998.08.10,
%D title=\CONTEXT\ Style File,
%D subtitle=General Abbreviations 3,
@@ -8,14 +8,14 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\usemodule[abr-01]
\unprotect
-\setupsorting[logo][\c!style=\v!WOORD]
+\setupsorting[logo][\c!style=\v!WORD]
\protect
diff --git a/tex/context/base/s-chi-00.tex b/tex/context/base/s-chi-00.tex
index 77d7eec2a..c62a02d08 100644
--- a/tex/context/base/s-chi-00.tex
+++ b/tex/context/base/s-chi-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-chi-00,
+%D [ file=s-chi-00,
%D version=1999.12.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Basic Chinese Style,
@@ -24,9 +24,9 @@
\setupsection [\v!sectionlevel-2] [\v!appendix\c!conversion=]
-\setuphead [\v!chapter] [\c!distance=1.25em]
-\setuphead [\v!section] [\c!distance=1.25em]
-\setuphead [\v!sub\v!section] [\c!distance=1.00em]
+\setuphead [\v!chapter] [\c!distance=1.25em]
+\setuphead [\v!section] [\c!distance=1.25em]
+\setuphead [\v!subsection] [\c!distance=1.00em]
\setuplist [\v!chapter] [\c!headlabel=\v!yes,\c!headconversion=\v!yes,\c!width=5em]
\setuplist [\v!section] [\c!headlabel=\v!yes,\c!headconversion=\v!yes,\c!width=5em]
@@ -34,10 +34,10 @@
\setupmarking [\v!chapter\v!number] [\c!headlabel=\v!yes,\c!headconversion=\v!yes]
\setupmarking [\v!section\v!number] [\c!headlabel=\v!yes,\c!headconversion=\v!yes]
-\setuplabeltext[cn][\v!sub\v!section={\symbol[S]\kern.25em}]
-\setuplabeltext[cn][\v!sub\v!sub\v!section={\symbol[S]\kern.25em}]
-\setuplabeltext[cn][\v!sub\v!sub\v!sub\v!section={\symbol[S]\kern.25em}]
-\setuplabeltext[cn][\v!sub\v!sub\v!sub\v!sub\v!section={\symbol[S]\kern.25em}]
+\setuplabeltext[cn][\v!subsection={\symbol[S]\kern.25em}]
+\setuplabeltext[cn][\v!subsubsection={\symbol[S]\kern.25em}]
+\setuplabeltext[cn][\v!subsubsubsection={\symbol[S]\kern.25em}]
+\setuplabeltext[cn][\v!subsubsubsubsection={\symbol[S]\kern.25em}]
% nog taalonafhankelijk maken -> \e!tabel enz
diff --git a/tex/context/base/s-faq-00.tex b/tex/context/base/s-faq-00.tex
index 5d0ce0f76..11859936c 100644
--- a/tex/context/base/s-faq-00.tex
+++ b/tex/context/base/s-faq-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-faq-00,
+%D [ file=s-faq-00,
%D version=1997.21.08,
%D title=\CONTEXT\ Style File,
%D subtitle=FAQ Common Macros,
diff --git a/tex/context/base/s-faq-01.tex b/tex/context/base/s-faq-01.tex
index 724d1679d..8c116e0f7 100644
--- a/tex/context/base/s-faq-01.tex
+++ b/tex/context/base/s-faq-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-faq-01,
+%D [ file=s-faq-01,
%D version=1997.21.08,
%D title=\CONTEXT\ Style File,
%D subtitle=FAQ Interactive Version,
diff --git a/tex/context/base/s-faq-02.tex b/tex/context/base/s-faq-02.tex
index 2eae953c7..02287bde4 100644
--- a/tex/context/base/s-faq-02.tex
+++ b/tex/context/base/s-faq-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-faq-02,
+%D [ file=s-faq-02,
%D version=1997.21.08,
%D title=\CONTEXT\ Style File,
%D subtitle=FAQ Paper Version,
diff --git a/tex/context/base/s-faq-03.tex b/tex/context/base/s-faq-03.tex
index 4100f11b7..4f556f713 100644
--- a/tex/context/base/s-faq-03.tex
+++ b/tex/context/base/s-faq-03.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-faq-03,
+%D [ file=s-faq-03,
%D version=1997.21.08,
%D title=\CONTEXT\ Style File,
%D subtitle=FAQ General Framework,
diff --git a/tex/context/base/s-fnt-01.tex b/tex/context/base/s-fnt-01.tex
index 8841e3e28..ad4c9f8cb 100644
--- a/tex/context/base/s-fnt-01.tex
+++ b/tex/context/base/s-fnt-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-tnf-01,
+%D [ file=s-tnf-01,
%D version=2001.08.22,
%D title=\CONTEXT\ Style File,
%D subtitle=Font Environment 1,
diff --git a/tex/context/base/s-grk-00.tex b/tex/context/base/s-grk-00.tex
index 0ff9f0663..4c0c88c0e 100644
--- a/tex/context/base/s-grk-00.tex
+++ b/tex/context/base/s-grk-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-grk-00,
+%D [ file=s-grk-00,
%D version=2004.08.23,
%D title=\CONTEXT\ Style File,
%D subtitle=CB Greek Support,
diff --git a/tex/context/base/s-mag-01.tex b/tex/context/base/s-mag-01.tex
index 230038ab4..38a1662c7 100644
--- a/tex/context/base/s-mag-01.tex
+++ b/tex/context/base/s-mag-01.tex
@@ -1,7 +1,5 @@
-% interface=english
-
%D \module
-%D [ filefile=s-mag-01,
+%D [ file=s-mag-01,
%D version=2002.12.14,
%D title=\CONTEXT\ Style File,
%D subtitle=\CONTEXT\ Magazine Base Style,
diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex
index d8175d3b3..188ee190c 100644
--- a/tex/context/base/s-mod-00.tex
+++ b/tex/context/base/s-mod-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-mod-00,
+%D [ file=s-mod-00,
%D version=very-old,
%D title=\CONTEXT\ Style File,
%D subtitle=Documentation Base Environment,
@@ -382,20 +382,20 @@
\startbuffer[lang-b]
\starttable[|l|l|]
\HL
- \VL \bf label key \VL \bf current value \VL\SR
+ \VL \bf label key \VL \bf current value \VL\SR
\HL
- \VL \ShowLabelText \v!table \VL\FR
- \VL \ShowLabelText \v!figure \VL\MR
- \VL \ShowLabelText \v!intermezzo \VL\MR
- \VL \ShowLabelText \v!graphic \VL\MR
- \VL \ShowLabelText \v!chapter \VL\MR
- \VL \ShowLabelText \v!section \VL\MR
- \VL \ShowLabelText {\v!sub\v!section} \VL\MR
- \VL \ShowLabelText {\v!sub\v!sub\v!section} \VL\MR
- \VL \ShowLabelText \v!appendix \VL\MR
- \VL \ShowLabelText \v!part \VL\MR
- \VL \ShowLabelText \v!line \VL\MR
- \VL \ShowLabelText \v!lines \VL\LR
+ \VL \ShowLabelText \v!table \VL\FR
+ \VL \ShowLabelText \v!figure \VL\MR
+ \VL \ShowLabelText \v!intermezzo \VL\MR
+ \VL \ShowLabelText \v!graphic \VL\MR
+ \VL \ShowLabelText \v!chapter \VL\MR
+ \VL \ShowLabelText \v!section \VL\MR
+ \VL \ShowLabelText \subsection \VL\MR
+ \VL \ShowLabelText \subsubsection \VL\MR
+ \VL \ShowLabelText \v!appendix \VL\MR
+ \VL \ShowLabelText \v!part \VL\MR
+ \VL \ShowLabelText \v!line \VL\MR
+ \VL \ShowLabelText \v!lines \VL\LR
\HL
\stoptable
\stopbuffer
diff --git a/tex/context/base/s-mod-01.tex b/tex/context/base/s-mod-01.tex
index 79b7b0b3e..0e834049f 100644
--- a/tex/context/base/s-mod-01.tex
+++ b/tex/context/base/s-mod-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-mod-01,
+%D [ file=s-mod-01,
%D version=very-old,
%D title=\CONTEXT\ Style File,
%D subtitle=Documentation Paper Environment,
diff --git a/tex/context/base/s-mod-02.tex b/tex/context/base/s-mod-02.tex
index 6423276dd..09fbca288 100644
--- a/tex/context/base/s-mod-02.tex
+++ b/tex/context/base/s-mod-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-mod-02,
+%D [ file=s-mod-02,
%D version=very-old,
%D title=\CONTEXT\ Style File,
%D subtitle=Documentation Screen Environment,
diff --git a/tex/context/base/s-pre-00.tex b/tex/context/base/s-pre-00.tex
index 104173ed8..8e3eefc23 100644
--- a/tex/context/base/s-pre-00.tex
+++ b/tex/context/base/s-pre-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-00,
+%D [ file=s-pre-00,
%D version=1997.07.22,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 0,
diff --git a/tex/context/base/s-pre-01.tex b/tex/context/base/s-pre-01.tex
index 8f752ba21..2cc8c6e35 100644
--- a/tex/context/base/s-pre-01.tex
+++ b/tex/context/base/s-pre-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-01,
+%D [ file=s-pre-01,
%D version=1997.07.22,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 1,
diff --git a/tex/context/base/s-pre-02.tex b/tex/context/base/s-pre-02.tex
index 41ba9d423..4cd450f84 100644
--- a/tex/context/base/s-pre-02.tex
+++ b/tex/context/base/s-pre-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-02,
+%D [ file=s-pre-02,
%D version=1998.04.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 2,
diff --git a/tex/context/base/s-pre-03.tex b/tex/context/base/s-pre-03.tex
index e574a2d07..c7420ba37 100644
--- a/tex/context/base/s-pre-03.tex
+++ b/tex/context/base/s-pre-03.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-03,
+%D [ file=s-pre-03,
%D version=1998.09.06,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 3,
diff --git a/tex/context/base/s-pre-04.tex b/tex/context/base/s-pre-04.tex
index 062255cab..29b040a8b 100644
--- a/tex/context/base/s-pre-04.tex
+++ b/tex/context/base/s-pre-04.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-04,
+%D [ file=s-pre-04,
%D version=1998.09.06,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 4,
diff --git a/tex/context/base/s-pre-05.tex b/tex/context/base/s-pre-05.tex
index b19ef4d9c..f095ae091 100644
--- a/tex/context/base/s-pre-05.tex
+++ b/tex/context/base/s-pre-05.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-05,
+%D [ file=s-pre-05,
%D version=1998.12.12,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 5,
diff --git a/tex/context/base/s-pre-06.tex b/tex/context/base/s-pre-06.tex
index aaf99df01..d3b99d9b7 100644
--- a/tex/context/base/s-pre-06.tex
+++ b/tex/context/base/s-pre-06.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-06,
+%D [ file=s-pre-06,
%D version=1999.04.28,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 6,
diff --git a/tex/context/base/s-pre-07.tex b/tex/context/base/s-pre-07.tex
index f658dce60..65514403a 100644
--- a/tex/context/base/s-pre-07.tex
+++ b/tex/context/base/s-pre-07.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-07,
+%D [ file=s-pre-07,
%D version=1999.08.20,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 7,
diff --git a/tex/context/base/s-pre-08.tex b/tex/context/base/s-pre-08.tex
index 74d6f1527..425310299 100644
--- a/tex/context/base/s-pre-08.tex
+++ b/tex/context/base/s-pre-08.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-08,
+%D [ file=s-pre-08,
%D version=1999.09.01,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 8,
diff --git a/tex/context/base/s-pre-09.tex b/tex/context/base/s-pre-09.tex
index 79357f856..a829dd6e2 100644
--- a/tex/context/base/s-pre-09.tex
+++ b/tex/context/base/s-pre-09.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-09,
+%D [ file=s-pre-09,
%D version=unknown,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 9,
diff --git a/tex/context/base/s-pre-10.tex b/tex/context/base/s-pre-10.tex
index a652fbace..67a867ec7 100644
--- a/tex/context/base/s-pre-10.tex
+++ b/tex/context/base/s-pre-10.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-10,
+%D [ file=s-pre-10,
%D version=unknown,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 10,
diff --git a/tex/context/base/s-pre-13.tex b/tex/context/base/s-pre-13.tex
index 0ccced953..a7b68dd69 100644
--- a/tex/context/base/s-pre-13.tex
+++ b/tex/context/base/s-pre-13.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-13,
+%D [ file=s-pre-13,
%D version=1999.08.20,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 13,
diff --git a/tex/context/base/s-pre-14.tex b/tex/context/base/s-pre-14.tex
index 30fb0af72..7a777c27e 100644
--- a/tex/context/base/s-pre-14.tex
+++ b/tex/context/base/s-pre-14.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-14,
+%D [ file=s-pre-14,
%D version=1999.08.20,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 14,
diff --git a/tex/context/base/s-pre-15.tex b/tex/context/base/s-pre-15.tex
index 352897923..c9a157abb 100644
--- a/tex/context/base/s-pre-15.tex
+++ b/tex/context/base/s-pre-15.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-15,
+%D [ file=s-pre-15,
%D version=1999.09.01,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 15,
diff --git a/tex/context/base/s-pre-16.tex b/tex/context/base/s-pre-16.tex
index 33685e6ce..81f21ec60 100644
--- a/tex/context/base/s-pre-16.tex
+++ b/tex/context/base/s-pre-16.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-16,
+%D [ file=s-pre-16,
%D version=1999.09.01,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 16,
diff --git a/tex/context/base/s-pre-19.tex b/tex/context/base/s-pre-19.tex
index ea103dfbc..c6ad4f693 100644
--- a/tex/context/base/s-pre-19.tex
+++ b/tex/context/base/s-pre-19.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-19,
+%D [ file=s-pre-19,
%D version=2000.07.31,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 19,
diff --git a/tex/context/base/s-pre-22.tex b/tex/context/base/s-pre-22.tex
index 98a297ab0..cb09816dc 100644
--- a/tex/context/base/s-pre-22.tex
+++ b/tex/context/base/s-pre-22.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-22,
+%D [ file=s-pre-22,
%D version=2000.08.07,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 22,
diff --git a/tex/context/base/s-pre-23.tex b/tex/context/base/s-pre-23.tex
index 67892a74e..90ed18353 100644
--- a/tex/context/base/s-pre-23.tex
+++ b/tex/context/base/s-pre-23.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-20,
+%D [ file=s-pre-20,
%D version=2000.08.07,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 20,
diff --git a/tex/context/base/s-pre-50.tex b/tex/context/base/s-pre-50.tex
index ea01706e3..0332001ab 100644
--- a/tex/context/base/s-pre-50.tex
+++ b/tex/context/base/s-pre-50.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-50,
+%D [ file=s-pre-50,
%D version=2003.01.26,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 50,
diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex
index 5b7e69da0..f6ed92f59 100644
--- a/tex/context/base/s-pre-60.tex
+++ b/tex/context/base/s-pre-60.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-60,
+%D [ file=s-pre-60,
%D version=2004.03.15,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 60,
diff --git a/tex/context/base/s-pre-61.tex b/tex/context/base/s-pre-61.tex
index bb47c484e..905b07363 100644
--- a/tex/context/base/s-pre-61.tex
+++ b/tex/context/base/s-pre-61.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=s-pre-61,
+%D [ file=s-pre-61,
%D version=2004.03.15,
%D title=\CONTEXT\ Style File,
%D subtitle=Presentation Environment 61,
diff --git a/tex/context/base/setupa.tex b/tex/context/base/setupa.tex
index 56a3a3a3c..6dfa4a027 100644
--- a/tex/context/base/setupa.tex
+++ b/tex/context/base/setupa.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=setupa,
+%D [ file=setupa,
%D version=1998.07.20,
%D title=\CONTEXT\ Setup Definitions,
%D subtitle=Macro Definitions,
diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex
index 7e8dbb581..3d1c0dfbc 100644
--- a/tex/context/base/setupb.tex
+++ b/tex/context/base/setupb.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=setupb,
+%D [ file=setupb,
%D version=1998.07.20,
%D title=\CONTEXT\ Setup Definitions,
%D subtitle=Command Specifications,
@@ -14,7 +14,7 @@
% nieuw: oncomment plaatssamengesteldelijst
% placeheadtext placeheadnumber placefloatnumber
-% setupinitial placeinitial \c!status \c!plaats \c!n \s!font=initial (Initial)
+% setupinitial placeinitial \c!state \c!location \c!n \s!font=initial (Initial)
% nog 'reductie=ja/nee' in \setupcolors
@@ -756,7 +756,7 @@
[\c!vars!]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!numbers]
\variable
[\c!way]
@@ -2264,13 +2264,13 @@
\stopsetup
\startsetup
- \command[\v!sub\v!section]
+ \command[\v!subsection]
\type[\c!opt!\c!refs!\c!arg!]
\value[\c!text!][]
\stopsetup
\startsetup
- \command[\v!sub\v!sub\v!section]
+ \command[\v!subsubsection]
\type[\c!opt!\c!refs!\c!arg!]
\value[\c!text!][]
\stopsetup
@@ -2282,13 +2282,13 @@
\stopsetup
\startsetup
- \command[\v!sub\v!subject]
+ \command[\v!subsubject]
\type[\c!opt!\c!refs!\c!arg!]
\value[\c!text!][]
\stopsetup
\startsetup
- \command[\v!sub\v!sub\v!subject]
+ \command[\v!subsubsubject]
\type[\c!opt!\c!refs!\c!arg!]
\value[\c!text!][]
\stopsetup
@@ -2570,7 +2570,7 @@
[3]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!numbers]
\variable
[\c!way]
@@ -3508,7 +3508,7 @@
[\v!middle]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!numbers]
\variable
[\c!style]
@@ -3716,7 +3716,7 @@
[]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!numbers]
\variable
[\c!way]
@@ -3838,7 +3838,7 @@
[\c!vars!]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!character]
\variable
[\c!lines]
@@ -4617,7 +4617,7 @@
[\c!vars!]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins,
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals,
\v!text]
[\v!numbers]
\variable
@@ -5029,7 +5029,7 @@
[\v!frontpart,\v!bodypart,\v!appendix,\v!backpart]
\variable
[\c!conversion]
- [\v!numbers,\v!characters,\v!Letters,\v!romannumerals,\v!Romeins]
+ [\v!numbers,\v!characters,\v!Characters,\v!romannumerals,\v!Romannumerals]
[\v!numbers]
\variable
[\c!previousnumber]
@@ -5933,7 +5933,7 @@
[\c!number!]
[]
\value
- [\v!day,\v!day+,\v!month,\v!weekday,\v!year, % \v!WEEKDAG,\v!MAAND,
+ [\v!day,\v!day+,\v!month,\v!weekday,\v!year, % \v!WEEKDAY,\v!MONTH,
dd,dd+,mm,jj,yy,d,d+,m,j,y,\v!referral]
[\v!day,\v!month,\v!year]
\stopsetup
diff --git a/tex/context/base/setupd.tex b/tex/context/base/setupd.tex
index c22e8dad7..861efe0c4 100644
--- a/tex/context/base/setupd.tex
+++ b/tex/context/base/setupd.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=setupd,
+%D [ file=setupd,
%D version=1998.07.20,
%D title=\CONTEXT\ Setup to TWS,
%D subtitle=Help Generation,
diff --git a/tex/context/base/setupe.tex b/tex/context/base/setupe.tex
index c1b2a65ff..29ef61c61 100644
--- a/tex/context/base/setupe.tex
+++ b/tex/context/base/setupe.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=setupe,
+%D [ file=setupe,
%D version=2001.10.24,
%D title=\CONTEXT\ Setup to XML
%D subtitle=Help Generation,
diff --git a/tex/context/base/spec-def.tex b/tex/context/base/spec-def.tex
index 85c595d35..e49201bc2 100644
--- a/tex/context/base/spec-def.tex
+++ b/tex/context/base/spec-def.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-def,
+%D [ file=spec-def,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Definitions,
@@ -677,7 +677,9 @@
%D \doinsertobject{class}{name}
%D \stoptyping
%D
-%D The savings can be huge in interactive texts.
+%D The savings can be huge in interactive texts. The next macro needs
+%D to be called after a graphic is inserted (in order to clean up
+%D global references).
%D
%D \starttyping
%D \doresetobjects
diff --git a/tex/context/base/spec-dpm.tex b/tex/context/base/spec-dpm.tex
index 8f7ce1df2..0aceee9ca 100644
--- a/tex/context/base/spec-dpm.tex
+++ b/tex/context/base/spec-dpm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-dpm,
+%D [ file=spec-dpm,
%D version=1998.11.24,
%D title=\CONTEXT\ Special Macros,
%D subtitle=DVIPDFM support,
@@ -135,7 +135,7 @@
%D dosetupopenaction,dosetupcloseaction}
\definespecial\dosetupinteraction%
- {\showmessage{\m!interactions}{21}{DVIPDFM}}
+ {\showmessage\m!interactions{21}{DVIPDFM}}
\definespecial\dosetupopenaction {\doPDFsetupopenaction}
\definespecial\dosetupcloseaction{\doPDFsetupcloseaction}
diff --git a/tex/context/base/spec-dpx.tex b/tex/context/base/spec-dpx.tex
index c65f824d8..95d5a3021 100644
--- a/tex/context/base/spec-dpx.tex
+++ b/tex/context/base/spec-dpx.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-dpx,
+%D [ file=spec-dpx,
%D version=2002.11.28,
%D title=\CONTEXT\ Special Macros,
%D subtitle=DVIPDFMx support,
diff --git a/tex/context/base/spec-dvi.tex b/tex/context/base/spec-dvi.tex
index 1adff1949..daf860cbe 100644
--- a/tex/context/base/spec-dvi.tex
+++ b/tex/context/base/spec-dvi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-dvi,
+%D [ file=spec-dvi,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Generic \TEX\ Solutions,
diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex
index 5d4245de4..787efbfa0 100644
--- a/tex/context/base/spec-fdf.tex
+++ b/tex/context/base/spec-fdf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-fdf,
+%D [ file=spec-fdf,
%D version=1998.05.18,
%D title=\CONTEXT\ \PDF\ Macros,
%D subtitle=Adobe \PDF/\FDF\ version 2.1,
diff --git a/tex/context/base/spec-ini.tex b/tex/context/base/spec-ini.tex
index 0fceaa582..958f1dbe7 100644
--- a/tex/context/base/spec-ini.tex
+++ b/tex/context/base/spec-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-ini,
+%D [ file=spec-ini,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/spec-mis.tex b/tex/context/base/spec-mis.tex
index 6856f97b1..0134c8bbc 100644
--- a/tex/context/base/spec-mis.tex
+++ b/tex/context/base/spec-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-mis,
+%D [ file=spec-mis,
%D version=1997.04.01,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Miscellaneous Macros,
diff --git a/tex/context/base/spec-pdf.tex b/tex/context/base/spec-pdf.tex
index 7dbc128c4..58a8876a2 100644
--- a/tex/context/base/spec-pdf.tex
+++ b/tex/context/base/spec-pdf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-pdf,
+%D [ file=spec-pdf,
%D version=1997.09.20,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Adobe \ACROBAT\ version 2.1,
@@ -60,8 +60,8 @@
%D
%D Beware, this is the PostScript Level 2 way of doing things.
-\definespecial\dosetupinteraction%
- {\showmessage{\m!interactions}{21}{acrobat}}
+\definespecial\dosetupinteraction
+ {\showmessage\m!interactions{21}{acrobat}}
\definespecial\dosetupopenaction {\doPDFsetupopenaction}
\definespecial\dosetupcloseaction{\doPDFsetupcloseaction}
diff --git a/tex/context/base/spec-ps.tex b/tex/context/base/spec-ps.tex
index ac54c61fc..077e22887 100644
--- a/tex/context/base/spec-ps.tex
+++ b/tex/context/base/spec-ps.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-ps,
+%D [ file=spec-ps,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Adobe PostScript,
diff --git a/tex/context/base/spec-tpd.tex b/tex/context/base/spec-tpd.tex
index 72663627e..ec57134ec 100644
--- a/tex/context/base/spec-tpd.tex
+++ b/tex/context/base/spec-tpd.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-tpd,
+%D [ file=spec-tpd,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=\PDFTEX,
diff --git a/tex/context/base/spec-tr.tex b/tex/context/base/spec-tr.tex
index 275fd6b2c..169a90978 100644
--- a/tex/context/base/spec-tr.tex
+++ b/tex/context/base/spec-tr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-tr,
+%D [ file=spec-tr,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Thomas Rokicki's \DVIPS,
diff --git a/tex/context/base/spec-var.tex b/tex/context/base/spec-var.tex
index aa5b74e9e..0a508f561 100644
--- a/tex/context/base/spec-var.tex
+++ b/tex/context/base/spec-var.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-var,
+%D [ file=spec-var,
%D version=2003.10.10,
%D title=\CONTEXT\ Special Macros,
%D subtitle=Variables,
diff --git a/tex/context/base/spec-win.tex b/tex/context/base/spec-win.tex
index 8a30e85a9..73db8830e 100644
--- a/tex/context/base/spec-win.tex
+++ b/tex/context/base/spec-win.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-win,
+%D [ file=spec-win,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=\YandY's \DVIWINDO,
@@ -8,8 +8,8 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\unprotect
@@ -26,16 +26,16 @@
%D {}
%D
%D As told before, these were the first interactive specials.
-%D In those days, these kind of specials were still elegant
-%D and straightforward.
+%D In those days, these kind of specials were still elegant
+%D and straightforward.
\startspecials[dviwindo]
\definespecial\dosetupinteraction%
- {\showmessage{\m!interactions}{21}{dviwindo}}
+ {\showmessage\m!interactions{21}{dviwindo}}
\definespecial\dostartgotolocation#1#2#3#4#5#6%
- {\bgroup
+ {\bgroup
\doifelsenothing{#3}
{\doifelsenothing{#4}
{\!!doneafalse}
@@ -46,17 +46,17 @@
\scratchdimen#1\edef\width {\the\scratchdimen\space}%
\scratchdimen#2\edef\height{\the\scratchdimen\space}%
\special
- {button:
+ {button:
\width \height
- \if!!donea
- file: \DVIfile,
+ \if!!donea
+ file: \DVIfile,
\fi
"#5"}}
- {}% nog uri afhandelen
+ {}% nog uri afhandelen
\egroup}
\definespecial\dostartgotorealpage#1#2#3#4#5%
- {\bgroup
+ {\bgroup
\doifelsenothing{#3}
{\doifelsenothing{#4}
{\!!doneafalse}
@@ -67,15 +67,15 @@
\scratchdimen#1\edef\width {\the\scratchdimen\space}%
\scratchdimen#2\edef\height{\the\scratchdimen\space}%
\special
- {button:
+ {button:
\width \height
- \if!!donea
- file: \DVIfile,
- \fi
- \ifnum0#5=0 \else
- page: #5
+ \if!!donea
+ file: \DVIfile,
+ \fi
+ \ifnum0#5=0 \else
+ page: #5
\fi}}
- {}% nog uri afhandelen
+ {}% nog uri afhandelen
\egroup}
\definespecial\dostartthisislocation#1%
diff --git a/tex/context/base/spec-yy.tex b/tex/context/base/spec-yy.tex
index a8905a136..9d09b6e35 100644
--- a/tex/context/base/spec-yy.tex
+++ b/tex/context/base/spec-yy.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=spec-yy,
+%D [ file=spec-yy,
%D version=1996.01.25,
%D title=\CONTEXT\ Special Macros,
%D subtitle=\YandY's \DVIPSONE\ and \DVIWINDO,
diff --git a/tex/context/base/supp-ali.tex b/tex/context/base/supp-ali.tex
index 9686875b8..f19497e1d 100644
--- a/tex/context/base/supp-ali.tex
+++ b/tex/context/base/supp-ali.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-ali,
+%D [ file=supp-ali,
%D version=2000.04.17,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Alignment,
diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex
index 871e14aee..a122684c1 100644
--- a/tex/context/base/supp-box.tex
+++ b/tex/context/base/supp-box.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-box,
+%D [ file=supp-box,
%D version=1995.10.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Boxes,
@@ -2712,7 +2712,10 @@
\dowithnextbox{\normalhbox{$\verynormalvcenter{\flushnextbox}$}\egroup}
\normalvbox}
+% could be \everymathematics
+
\prependtoks \let\vcenter\normalvcenter \to \everymath
+\prependtoks \let\vcenter\normalvcenter \to \everydisplay
%D \macros
%D {frozenhbox}
diff --git a/tex/context/base/supp-emp.tex b/tex/context/base/supp-emp.tex
index 5b6512342..15489bca7 100644
--- a/tex/context/base/supp-emp.tex
+++ b/tex/context/base/supp-emp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-emp,
+%D [ file=supp-emp,
%D version=2000.08.09,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\EMTEX\ specials to \PDF\ conversion,
diff --git a/tex/context/base/supp-eps.tex b/tex/context/base/supp-eps.tex
index a7974ae3b..17d68df4f 100644
--- a/tex/context/base/supp-eps.tex
+++ b/tex/context/base/supp-eps.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-eps,
+%D [ file=supp-eps,
%D version=1998.05.06,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\EPS\ tools,
diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex
index a7dc6c9b4..9d54663af 100644
--- a/tex/context/base/supp-fil.tex
+++ b/tex/context/base/supp-fil.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-fil,
+%D [ file=supp-fil,
%D version=1995.10.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Files,
diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex
index b68702fbe..336a49fd8 100644
--- a/tex/context/base/supp-fun.tex
+++ b/tex/context/base/supp-fun.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-fun,
+%D [ file=supp-fun,
%D version=1995.10.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Fun Stuff,
diff --git a/tex/context/base/supp-ini.tex b/tex/context/base/supp-ini.tex
index 4adbb74e0..96639d108 100644
--- a/tex/context/base/supp-ini.tex
+++ b/tex/context/base/supp-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-ini,
+%D [ file=supp-ini,
%D version=1995.10.10,
%D title=\CONTEXT\ Support ystem Macros,
%D subtitle=Initializations,
diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex
index f1824739b..7d353d043 100644
--- a/tex/context/base/supp-lan.tex
+++ b/tex/context/base/supp-lan.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-lan,
+%D [ file=supp-lan,
%D version=1997.03.20,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Language Options,
diff --git a/tex/context/base/supp-mat.tex b/tex/context/base/supp-mat.tex
index 8dc13fa67..15ae7fdd8 100644
--- a/tex/context/base/supp-mat.tex
+++ b/tex/context/base/supp-mat.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-mat,
+%D [ file=supp-mat,
%D version=1998.09.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Math,
diff --git a/tex/context/base/supp-mis.tex b/tex/context/base/supp-mis.tex
index 327eb4452..c568dda14 100644
--- a/tex/context/base/supp-mis.tex
+++ b/tex/context/base/supp-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-mis,
+%D [ file=supp-mis,
%D version=1997.01.04,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Missing (For Generic Use),
diff --git a/tex/context/base/supp-mpe.tex b/tex/context/base/supp-mpe.tex
index 3c5a367e3..e92191cb5 100644
--- a/tex/context/base/supp-mpe.tex
+++ b/tex/context/base/supp-mpe.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-mpe,
+%D [ file=supp-mpe,
%D version=1999.07.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=METAPOST Special Extensions,
diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex
index b5906a44c..b36433be0 100644
--- a/tex/context/base/supp-mps.tex
+++ b/tex/context/base/supp-mps.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-mps,
+%D [ file=supp-mps,
%D version=1997.07.05,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\METAPOST\ Inclusion,
diff --git a/tex/context/base/supp-mrk.tex b/tex/context/base/supp-mrk.tex
index 75e06525b..0cab213c4 100644
--- a/tex/context/base/supp-mrk.tex
+++ b/tex/context/base/supp-mrk.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-mrk,
+%D [ file=supp-mrk,
%D version=1995.10.10,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Marks,
diff --git a/tex/context/base/supp-num.tex b/tex/context/base/supp-num.tex
index b0de1d507..a5a9114c1 100644
--- a/tex/context/base/supp-num.tex
+++ b/tex/context/base/supp-num.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-num,
+%D [ file=supp-num,
%D version=1998.05.15,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Number (Digit) Handling,
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index 3864ab747..c2c8f79e5 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-pdf,
+%D [ file=supp-pdf,
%D version=2004.03.26,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\METAPOST\ to \PDF\ conversion,
@@ -1847,14 +1847,16 @@
\newtoks\everyMPtoPDFconversion
-\def\convertMPtoPDF#1#2#3%
+\def\convertMPtoPDF % #1#2#3%
{\bgroup
\ifx\pdfdecimaldigits\undefined\else \pdfdecimaldigits=5 \fi % new
\setbox\scratchbox\vbox\bgroup
\forgetall
\offinterlineskip
\startMPresources
- \doprocessMPtoPDFfile{#1}{#2}{#3}} % {#1}{0#2}{0#3} would be saver
+ \doprocessMPtoPDFfile} % {#1}{#2}{#3}} % {#1}{0#2}{0#3} would be saver
+
+%D The next one is kind of private and probably will become obsolete):
\def\processMPtoPDFfile % file xscale yscale
{\bgroup
diff --git a/tex/context/base/supp-ran.tex b/tex/context/base/supp-ran.tex
index 90741ef2f..8c83e6735 100644
--- a/tex/context/base/supp-ran.tex
+++ b/tex/context/base/supp-ran.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-ran,
+%D [ file=supp-ran,
%D version=1998.01.21,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Random Number Generation,
diff --git a/tex/context/base/supp-spe.tex b/tex/context/base/supp-spe.tex
index 6909082d4..d84859b59 100644
--- a/tex/context/base/supp-spe.tex
+++ b/tex/context/base/supp-spe.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-spe,
+%D [ file=supp-spe,
%D version=1997.07.05,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Specials,
diff --git a/tex/context/base/supp-tpi.tex b/tex/context/base/supp-tpi.tex
index 16eac08b1..2feeeac18 100644
--- a/tex/context/base/supp-tpi.tex
+++ b/tex/context/base/supp-tpi.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-tpi,
+%D [ file=supp-tpi,
%D version=1997.07.05,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\TPIC\ Conversion,
diff --git a/tex/context/base/supp-vis.tex b/tex/context/base/supp-vis.tex
index 521bffa5b..af4004e2e 100644
--- a/tex/context/base/supp-vis.tex
+++ b/tex/context/base/supp-vis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-vis,
+%D [ file=supp-vis,
%D version=1996.10.21,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Visualization,
diff --git a/tex/context/base/symb-eur.tex b/tex/context/base/symb-eur.tex
index cea720e86..515db6ae5 100644
--- a/tex/context/base/symb-eur.tex
+++ b/tex/context/base/symb-eur.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-eur,
+%D [ file=symb-eur,
%D version=2000.06.22,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Adobe Euro Symbols,
diff --git a/tex/context/base/symb-glm.tex b/tex/context/base/symb-glm.tex
index 694ae99f3..1a961e900 100644
--- a/tex/context/base/symb-glm.tex
+++ b/tex/context/base/symb-glm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-glm,
+%D [ file=symb-glm,
%D version=2002.05.07,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Guillemots,
diff --git a/tex/context/base/symb-ini.tex b/tex/context/base/symb-ini.tex
index 7e9b641f4..a1bcd9fdd 100644
--- a/tex/context/base/symb-ini.tex
+++ b/tex/context/base/symb-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-ini,
+%D [ file=symb-ini,
%D version=1998.07.20,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Basic Symbols Commands,
diff --git a/tex/context/base/symb-mis.tex b/tex/context/base/symb-mis.tex
index d9291f0c2..b9eeceae8 100644
--- a/tex/context/base/symb-mis.tex
+++ b/tex/context/base/symb-mis.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-mis,
+%D [ file=symb-mis,
%D version=2002.05.07,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Miscelaneous,
diff --git a/tex/context/base/symb-mvs.tex b/tex/context/base/symb-mvs.tex
index c215474d1..1dd3da0a0 100644
--- a/tex/context/base/symb-mvs.tex
+++ b/tex/context/base/symb-mvs.tex
@@ -1,9 +1,5 @@
-% Insert this in font-fil.tex ( I would think):
-
-% tobias: what is the original and what the berry name?
-
%D \module
-%D [ filefile=symb-mvs,
+%D [ file=symb-mvs,
%D version=2000.03.30,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Martin Vogels Symbole,
diff --git a/tex/context/base/symb-nav.tex b/tex/context/base/symb-nav.tex
index 50f2e9a42..109b29535 100644
--- a/tex/context/base/symb-nav.tex
+++ b/tex/context/base/symb-nav.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-nav,
+%D [ file=symb-nav,
%D version=1998.07.20,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Navigational Symbols,
diff --git a/tex/context/base/symb-run.tex b/tex/context/base/symb-run.tex
index 04c295c75..8dd899c57 100644
--- a/tex/context/base/symb-run.tex
+++ b/tex/context/base/symb-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=symb-run, % code moved from symb-ini
+%D [ file=symb-run, % code moved from symb-ini
%D version=1998.07.20,
%D title=\CONTEXT\ Symbol Libraries,
%D subtitle=Runtime Macros,
diff --git a/tex/context/base/syst-con.tex b/tex/context/base/syst-con.tex
index 5461827c8..473be7a9f 100644
--- a/tex/context/base/syst-con.tex
+++ b/tex/context/base/syst-con.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-con,
+%D [ file=syst-con,
%D version=2000.12.10, % actually very old -)
%D title=\CONTEXT\ System Macros,
%D subtitle=Conversions,
diff --git a/tex/context/base/syst-etx.tex b/tex/context/base/syst-etx.tex
index a907b2c40..80a24b250 100644
--- a/tex/context/base/syst-etx.tex
+++ b/tex/context/base/syst-etx.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-etx,
+%D [ file=syst-etx,
%D version=1999.03.17, % some time ...
%D title=\CONTEXT\ System Macros,
%D subtitle=Efficient \PLAIN\ \TEX\ loading,
@@ -26,6 +26,13 @@
\unprotect
+%D \ETEX\ has a not so handy way of telling you the version number,
+%D i.e. the revision number has a period in it:
+
+\long\def\gobbleoneargument#1{}
+
+\mathchardef\etexversion=\numexpr(\eTeXversion*100+\expandafter\gobbleoneargument\eTeXrevision)
+
%D Constants to be used with \type {\grouptype}.
\chardef\@@bottomlevelgroup = 0
@@ -202,16 +209,15 @@
\mathchardef\@@maxallocation = 32767
%D I cannot imagine that more than~8 extra insert classes
-%D are needed, so we say:
+%D are needed, but, for critical editions, we may need many
+%D more, so:
-\chardef\@@insallocation=8
+\chardef\@@insallocation=32
-%D But, for critical editions, we may need many more, so
-%D here we go again:
+%D However, there's a bug in \ETEX\ versions smaller that 2.2,
+%D so we need to play safe:
-\chardef\@@insallocation=24
-\chardef\@@insallocation=16
-\chardef\@@insallocation=8
+\ifnum\etexversion<202 \chardef\@@insallocation=8 \fi
%D My low level allocation macro now comes down to:
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index 9ab48b0e8..b3ffc4fc0 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-ext,
+%D [ file=syst-ext,
%D version=1995.10.10,
%D title=\CONTEXT\ System Macros,
%D subtitle=Extras,
@@ -895,8 +895,9 @@
{\csname\@@arecurse\recursedepth\endcsname\endofloop}
\def\nodoloop#1%
- {\@EA\let\@EA\recurselevel\csname\@@irecurse\recursedepth\endcsname
- \global\advance\outerrecurse \minusone }
+ {\let\endofloop\dodoloop % new, permits nested \doloop's
+ \@EA\let\@EA\recurselevel\csname\@@irecurse\recursedepth\endcsname
+ \global\advance\outerrecurse\minusone}
\def\exitloop % \exitloop quits at end
{\let\endofloop\nodoloop}
@@ -3826,10 +3827,10 @@
%D
%D the first argument may be a \type{\macro}.
-\def\uppercasestring#1\to#2%
+\def\uppercasestring#1\to#2% first @EA redundant
{\edef#2{#1}\@EA\uppercase\@EA{\@EA\dodoglobal\@EA\edef\@EA#2\@EA{#2}}}
-\def\lowercasestring#1\to#2%
+\def\lowercasestring#1\to#2% first @EA redundant
{\edef#2{#1}\@EA\lowercase\@EA{\@EA\dodoglobal\@EA\edef\@EA#2\@EA{#2}}}
%D \macros
@@ -4577,4 +4578,56 @@
\expandafter\thirdoffourarguments
\fi}
+%D \macros
+%D {comparedimension,comparedimensioneps}
+%D
+%D This is a dirty one: we simply append a unit and discard it when needed.
+
+\newdimen\roundingeps \roundingeps=10sp
+
+\def\comparedimension#1#2%
+ {\chardef\compresult
+ \ifdim#1<#2%
+ \zerocount
+ \else\ifdim#1<#2%
+ \plusone
+ \else
+ \plustwo
+ \fi\fi}
+
+\beginETEX
+
+\def\comparedimensioneps#1#2%
+ {\chardef\compresult
+ \ifdim\dimexpr(#1-#2)<\roudingeps
+ \zerocount
+ \else\ifdim\dimexpr(#2-#1)<\roudingeps
+ \zerocount
+ \else\ifdim#1<#2%
+ \plusone
+ \else
+ \plustwo
+ \fi\fi\fi}
+
+\endETEX
+
+\beginTEX
+
+\newdimen\comparedimen
+
+\def\comparedimensioneps#1#2%
+ {\comparedimen#1\advance\comparedimen-#2\relax
+ \chardef\compresult
+ \ifdim\comparedimen<\roudingeps
+ \zerocount
+ \else\ifdim-\comparedimen<\roudingeps
+ \zerocount
+ \else\ifdim#1<#2%
+ \plusone
+ \else
+ \plustwo
+ \fi\fi\fi}
+
+\endTEX
+
\protect \endinput
diff --git a/tex/context/base/syst-gen.tex b/tex/context/base/syst-gen.tex
index 3bb38de2c..4ca2a966f 100644
--- a/tex/context/base/syst-gen.tex
+++ b/tex/context/base/syst-gen.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-gen,
+%D [ file=syst-gen,
%D version=1996.03.20,
%D title=\CONTEXT\ System Macros,
%D subtitle=General,
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index 516c31095..3027ac4af 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=supp-new,
+%D [ file=supp-new,
%D version=1997.01.03,
%D title=\CONTEXT\ Support Macros,
%D subtitle=New Ones,
diff --git a/tex/context/base/syst-omg.tex b/tex/context/base/syst-omg.tex
index 23c11df12..da620fa7e 100644
--- a/tex/context/base/syst-omg.tex
+++ b/tex/context/base/syst-omg.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-omg,
+%D [ file=syst-omg,
%D version=2000.09.09,
%D title=\CONTEXT\ System Macros,
%D subtitle=A couple of Omega goodies,
diff --git a/tex/context/base/syst-pln.tex b/tex/context/base/syst-pln.tex
index b2744859f..becf67f83 100644
--- a/tex/context/base/syst-pln.tex
+++ b/tex/context/base/syst-pln.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-pln,
+%D [ file=syst-pln,
%D version=2001.11.16, % 1999.03.17, % an oldie: 1995.10.10
%D title=\CONTEXT\ System Macros,
%D subtitle=Efficient \PLAIN\ \TEX\ loading,
diff --git a/tex/context/base/syst-prm.tex b/tex/context/base/syst-prm.tex
index 48536a256..bb34cb4d8 100644
--- a/tex/context/base/syst-prm.tex
+++ b/tex/context/base/syst-prm.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-prm,
+%D [ file=syst-prm,
%D version=1999.03.17,
%D title=\CONTEXT\ System Macros,
%D subtitle=Primitive Behavior,
diff --git a/tex/context/base/syst-tex.tex b/tex/context/base/syst-tex.tex
index 8128e4ff4..55a160237 100644
--- a/tex/context/base/syst-tex.tex
+++ b/tex/context/base/syst-tex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=syst-pln,
+%D [ file=syst-pln,
%D version=1999.03.17, % an oldie: 1995.10.10
%D title=\CONTEXT\ System Macros,
%D subtitle=Efficient \PLAIN\ \TEX\ loading,
diff --git a/tex/context/base/typo-ini.tex b/tex/context/base/typo-ini.tex
index 15a206b4d..e249b51e0 100644
--- a/tex/context/base/typo-ini.tex
+++ b/tex/context/base/typo-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=typo-ini,
+%D [ file=typo-ini,
%D version=2000.16.09,
%D title=\CONTEXT\ Typographic Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/unic-000.tex b/tex/context/base/unic-000.tex
index 77c3ea08c..83e90e444 100644
--- a/tex/context/base/unic-000.tex
+++ b/tex/context/base/unic-000.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-000,
+%D [ file=unic-000,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Macros,
%D subtitle=Vector 0,
@@ -71,7 +71,7 @@
Ocircumflex\or
Otilde\or
Odiaeresis\or
- \@@unknownchar\or
+ textmultiply\or
Ostroke\or
Ugrave\or
Uacute\or
@@ -103,7 +103,7 @@
ocircumflex\or
ohungarumlaut\or
odiaeresis\or
- \@@unknownchar\or
+ textdiv\or
ostroke\or
ugrave\or
uacute\or
@@ -176,7 +176,7 @@
\Ocircumflex \or
\Otilde \or
\Odiaeresis \or
- \unknownchar \or
+ \textmultiply \or
\Ostroke \or
\Ugrave \or
\Uacute \or
@@ -208,7 +208,7 @@
\ocircumflex \or
\ohungarumlaut \or
\odiaeresis \or
- \unknownchar \or
+ \textdiv \or
\ostroke \or
\ugrave \or
\uacute \or
diff --git a/tex/context/base/unic-001.tex b/tex/context/base/unic-001.tex
index bed946307..5a7a59fc1 100644
--- a/tex/context/base/unic-001.tex
+++ b/tex/context/base/unic-001.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-001,
+%D [ file=unic-001,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Macros,
%D subtitle=Vector 1,
diff --git a/tex/context/base/unic-002.tex b/tex/context/base/unic-002.tex
index 167419371..40475b297 100644
--- a/tex/context/base/unic-002.tex
+++ b/tex/context/base/unic-002.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-002,
+%D [ file=unic-002,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Macros,
%D subtitle=Vector 2,
diff --git a/tex/context/base/unic-032.tex b/tex/context/base/unic-032.tex
index f86e37f6e..75009566e 100644
--- a/tex/context/base/unic-032.tex
+++ b/tex/context/base/unic-032.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-032,
+%D [ file=unic-032,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Macros,
%D subtitle=Vector 32,
diff --git a/tex/context/base/unic-033.tex b/tex/context/base/unic-033.tex
index 090146d66..5ff0d2e4d 100644
--- a/tex/context/base/unic-033.tex
+++ b/tex/context/base/unic-033.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-033,
+%D [ file=unic-033,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Macros,
%D subtitle=Vector 33,
diff --git a/tex/context/base/unic-exp.tex b/tex/context/base/unic-exp.tex
index b7678ce9d..1f60cb99c 100644
--- a/tex/context/base/unic-exp.tex
+++ b/tex/context/base/unic-exp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-exp,
+%D [ file=unic-exp,
%D version=2002.12.05,
%D title=\CONTEXT\ \UNICODE\ Support,
%D subtitle=\UNICODE\ vector expansion,
diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex
index a1e33202d..3dc443ce9 100644
--- a/tex/context/base/unic-ini.tex
+++ b/tex/context/base/unic-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=unic-ini,
+%D [ file=unic-ini,
%D version=2002.12.03,
%D title=\CONTEXT\ \UNICODE\ Support,
%D subtitle=\UNICODE\ \& UTF-8 support,
diff --git a/tex/context/base/verb-eif.tex b/tex/context/base/verb-eif.tex
index af19cc9bc..16ee611e1 100644
--- a/tex/context/base/verb-eif.tex
+++ b/tex/context/base/verb-eif.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-eif,
+%D [ file=verb-eif,
%D version=2000.08.23,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty Eiffel Verbatim,
diff --git a/tex/context/base/verb-ini.tex b/tex/context/base/verb-ini.tex
index 996dc46e6..fb6a9ed6e 100644
--- a/tex/context/base/verb-ini.tex
+++ b/tex/context/base/verb-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-ini,
+%D [ file=verb-ini,
%D version=1997.12.22,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Initialization,
diff --git a/tex/context/base/verb-js.tex b/tex/context/base/verb-js.tex
index a0910ef15..e8c2e6b5d 100644
--- a/tex/context/base/verb-js.tex
+++ b/tex/context/base/verb-js.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-js,
+%D [ file=verb-js,
%D version=1998.02.07,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \JAVASCRIPT\ Verbatim,
diff --git a/tex/context/base/verb-jv.tex b/tex/context/base/verb-jv.tex
index b540931c5..d55394d2c 100644
--- a/tex/context/base/verb-jv.tex
+++ b/tex/context/base/verb-jv.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-jv,
+%D [ file=verb-jv,
%D version=2002.02.27,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \JAVA\ Verbatim,
diff --git a/tex/context/base/verb-mp.tex b/tex/context/base/verb-mp.tex
index 2d07049aa..c7ab2071f 100644
--- a/tex/context/base/verb-mp.tex
+++ b/tex/context/base/verb-mp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-mp,
+%D [ file=verb-mp,
%D version=1997.12.22,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \METAPOST\ Verbatim,
diff --git a/tex/context/base/verb-pas.tex b/tex/context/base/verb-pas.tex
index 5bb0dfe60..b7b041700 100644
--- a/tex/context/base/verb-pas.tex
+++ b/tex/context/base/verb-pas.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-pas,
+%D [ file=verb-pas,
%D version=1999.12.09,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \PASCAL\ and \MODULA\ Verbatim,
diff --git a/tex/context/base/verb-pl.tex b/tex/context/base/verb-pl.tex
index 4ef6da579..cbe82d49f 100644
--- a/tex/context/base/verb-pl.tex
+++ b/tex/context/base/verb-pl.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-pl,
+%D [ file=verb-pl,
%D version=1997.12.22,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \PERL\ Verbatim,
diff --git a/tex/context/base/verb-sql.tex b/tex/context/base/verb-sql.tex
index 2c629f301..555ba304b 100644
--- a/tex/context/base/verb-sql.tex
+++ b/tex/context/base/verb-sql.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-sql,
+%D [ file=verb-sql,
%D version=2000.05.09,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \SQL\ Verbatim,
diff --git a/tex/context/base/verb-tex.tex b/tex/context/base/verb-tex.tex
index d1e830ce7..431703c2a 100644
--- a/tex/context/base/verb-tex.tex
+++ b/tex/context/base/verb-tex.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-tex,
+%D [ file=verb-tex,
%D version=1997.12.22,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty \TEX\ verbatim,
diff --git a/tex/context/base/verb-xml.tex b/tex/context/base/verb-xml.tex
index 6738d422b..adf2f4c30 100644
--- a/tex/context/base/verb-xml.tex
+++ b/tex/context/base/verb-xml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=verb-xml,
+%D [ file=verb-xml,
%D version=2000.05.09,
%D title=\CONTEXT\ Verbatim Macros,
%D subtitle=Pretty XML verbatim,
diff --git a/tex/context/base/x-chemml.tex b/tex/context/base/x-chemml.tex
index e34248cf5..68b52cdd1 100644
--- a/tex/context/base/x-chemml.tex
+++ b/tex/context/base/x-chemml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-chemml,
+%D [ file=m-chemml,
%D version=2001.09.12,
%D title=\CONTEXT\ XML Modules,
%D subtitle=Loading CHEMML Filters,
diff --git a/tex/context/base/x-contml.tex b/tex/context/base/x-contml.tex
index b20821191..9f3fe6fd2 100644
--- a/tex/context/base/x-contml.tex
+++ b/tex/context/base/x-contml.tex
@@ -4,7 +4,7 @@
%M \definefilesynonym [context] [x-contml.xsd]
%D \module
-%D [ filefile=x-contml,
+%D [ file=x-contml,
%D version=mid 2001,
%D title=\CONTEXT\ XML Support,
%D subtitle=Basic \CONTEXT\ commands,
diff --git a/tex/context/base/x-corres.tex b/tex/context/base/x-corres.tex
index 23c1b05d4..09c7263dc 100644
--- a/tex/context/base/x-corres.tex
+++ b/tex/context/base/x-corres.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-corres,
+%D [ file=x-corres,
%D version=2003.12.15, % replaces keep-02a cum suis
%D title=\CONTEXT\ XML Modules,
%D subtitle=Handling Correspondence Base,
diff --git a/tex/context/base/x-dir-01.tex b/tex/context/base/x-dir-01.tex
index 6be410376..b1056fdd5 100644
--- a/tex/context/base/x-dir-01.tex
+++ b/tex/context/base/x-dir-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-dir-01,
+%D [ file=x-dir-01,
%D version=2003.05.10, % around that time -)
%D title=\CONTEXT\ Directory Handling,
%D subtitle=Overview (1),
diff --git a/tex/context/base/x-fe.tex b/tex/context/base/x-fe.tex
new file mode 100644
index 000000000..cc1be32c1
--- /dev/null
+++ b/tex/context/base/x-fe.tex
@@ -0,0 +1,118 @@
+%D \module
+%D [ file=x-fe,
+%D version=2004.03.12, % based on earlier experiments
+%D title=\CONTEXT\ XML Modules,
+%D subtitle=Formatting Objects Extensions,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D Extensions: fe:definecolor
+
+% menus
+% extra areas
+% protruding and hz
+% compound
+% title container
+% more float placements
+
+\unprotect
+
+% \XMLattributes{aural},
+
+\defineXMLnested
+ [fe:table-next]
+ [id=,
+ \XMLattributes{accessibility},
+ \XMLattributes{border-padding-background},
+ \XMLattributes{relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ visibility=]
+ {\bTABLEnext}
+ {\eTABLEnext}
+
+% definitions
+
+\defineXMLcommand
+ [fe:definecolor]
+ [name=,r=,g=,b=,c=,m=,y=,k=,s=,p=,a=,t=]
+ {\expanded{\definecolor[\XMLop{name}]
+ [r=\XMLop r,g=\XMLop g,b=\XMLop b,
+ c=\XMLop c,m=\XMLop m,y=\XMLop y,k=\XMLop k,
+ s=\XMLop s,p=\XMLop p,a=\XMLop a,t=\XMLop t]}}
+
+\defineXMLcommand
+ [fe:definefontsynonym]
+ [name=,file,encoding=]
+ {\doifelsenothing{\XMLop{encoding}}
+ {\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}][encoding=\XMLop{encoding}]}}
+ {\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}]}}}
+
+%D Extensions: fe:include
+
+\defineXMLsingular
+ [fe:include]
+ [url=,n=1]
+ {\doifelse{\XMLop{n}}{1}
+ {\readfile{\XMLpar{fe:include}{url}{}}{}{}}
+ {\dorecurse{\XMLop{n}}{\readfile{\XMLpar{fe:include}{url}{}}{}{}\endgraf}}}
+
+%D Extensions: fe:sample
+
+\defineXMLenvironment
+ [fe:sample]
+ [origin=unknown]
+ {\removeunwantedspaces\ignorespaces}
+ {\removeunwantedspaces}
+
+%D Extensions: fe:
+
+% \defineXMLenvironmentsave
+% [fe:loop]
+% [n=1]
+% {}
+% {\dorecurse{\XMLop{n}}{\XMLflush{fe:loop}}}
+
+\defineXMLargument
+ [fe:loop]
+ [n=1]
+ {\dorecurse{\XMLop{n}}}
+
+%D Extensions: fe:compound
+
+\defineXMLsingular
+ [fe:compound]
+ [character=-]
+ {\prewordbreak\XMLop{character}\prewordbreak}
+
+%D Extensions: fe:message
+
+\defineXMLargument
+ [fe:message]
+ {\writestatus{XML-FO}}
+
+%D Extensions:
+
+\startsetups fe:page:option:fit:start
+ \startTEXpage[margin=page]
+\stopsetups
+
+\startsetups fe:page:option:fit:stop
+ \stopTEXpage
+\stopsetups
+
+\mapXMLvalue {fe:tracing} {true} {\tracingFOtrue}
+\mapXMLvalue {fe:tracing} {false} {\tracingFOfalse}
+
+\startsetups fe:setup
+ \XMLval{fe:tracing}{\XMLop{fe:tracing}}{}
+\stopsetups
+
+\protect \endinput
diff --git a/tex/context/base/x-fig-00.tex b/tex/context/base/x-fig-00.tex
index b25eece3e..858d23bf3 100644
--- a/tex/context/base/x-fig-00.tex
+++ b/tex/context/base/x-fig-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-00,
+%D [ file=x-fig-00,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Loading,
diff --git a/tex/context/base/x-fig-01.tex b/tex/context/base/x-fig-01.tex
index 7c8c82594..5d6c0fa3f 100644
--- a/tex/context/base/x-fig-01.tex
+++ b/tex/context/base/x-fig-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-01,
+%D [ file=x-fig-01,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Generation,
diff --git a/tex/context/base/x-fig-02.tex b/tex/context/base/x-fig-02.tex
index 322f804c2..22d49d27a 100644
--- a/tex/context/base/x-fig-02.tex
+++ b/tex/context/base/x-fig-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-02,
+%D [ file=x-fig-02,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Inclusion (I),
diff --git a/tex/context/base/x-fig-03.tex b/tex/context/base/x-fig-03.tex
index 8cf5fe92a..bf5ea226c 100644
--- a/tex/context/base/x-fig-03.tex
+++ b/tex/context/base/x-fig-03.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-03,
+%D [ file=x-fig-03,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Inclusion (II),
diff --git a/tex/context/base/x-fo.tex b/tex/context/base/x-fo.tex
new file mode 100644
index 000000000..075e88de0
--- /dev/null
+++ b/tex/context/base/x-fo.tex
@@ -0,0 +1,3607 @@
+%D \module
+%D [ file=x-fo,
+%D version=2004.03.12, % based on earlier experiments
+%D title=\CONTEXT\ XML Modules,
+%D subtitle=Formatting Objects,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% todo: global assignment in order to limit restore
+% todo: combine mp graphics (see end) saves 30%
+% todo: using contants and variables (for internal use)
+
+% beware: aftergroup vs egroup/endgroup
+
+%D Most time went into figuring out the specifications, especially
+%D because there are no examples included. Samples that circulate on the
+%D web are often border cases and torture test and don't have much to do
+%D with real live. Another complication lays in the inheritance model:
+%D some of the attributes are inherited. This also leaves some room for
+%D interpretation, for instance do values that are used at a certain
+%D point migrate downwards or not.
+%D
+%D The \CONTEXT\ \XML handler can deal with attributes in several ways
+%D and for this purpose I have played with a few experimental mechanisms
+%D just to end up with the existing begin/end mechanism combined with
+%D a recursive attribute resolver which means that one has to implicitly
+%D ask for an inherited attributes. This approach is probably one of the
+%D most efficient ways of dealing with formatting objects in \CONTEXT,
+%D unless of course I start adding rather specific support to the kernel.
+%D
+%D This module is rather experimental. More information about its usage
+%D can be found in the \FOXET\ manual.
+
+%D Since we're not dealing with the fine points of typesetting here, we
+%D can safely ignore \TEX's warnings about overful or underful boxes.
+
+\dontcomplain
+
+%D We will use fonts that have the characters in the normal (ascii)
+%D slots. We will also use the stupid verbatim handler.
+
+\chardef\XMLtokensreduction = 2
+\chardef\XMLcdatamethod = 2
+
+%D For the moment we stick to utf-8.
+
+\useXMLfilter[utf]
+
+%D This will be sorted out later (esp in relation to mathml).
+
+\setupbodyfont[pos,10pt]
+
+%D There are a couple of predefined colors. Don't ask me why, but
+%D formatting objects are not a fresh start but a mix of existing
+%D technologies. Color support is poluted by cascading stylesheets.
+%D
+%D Because hexadecimal color specifications are not enabled by
+%D default, this feature has to be enables by loading the appropriate
+%D color module. Here we define colors in \RGB\ values because we
+%D don't want to loose accuracy.
+
+\setupcolors[state=start] \setupcolor[hex]
+
+\definecolor [black] [s=0] % [h=000000]
+\definecolor [gray] [s=.5] % [h=808080]
+\definecolor [silver] [s=.75] % [h=C0C0C0]
+\definecolor [white] [s=1] % [h=FFFFFF]
+\definecolor [maroon] [r=.5] % [h=800000]
+\definecolor [red] [r=1] % [h=FF0000]
+\definecolor [purple] [r=.5,b=.5] % [h=800080]
+\definecolor [fuchsia] [r=1,b=1] % [h=FF00FF]
+\definecolor [green] [g=.5] % [h=008000]
+\definecolor [lime] [g=1] % [h=00FF00]
+\definecolor [olive] [r=.5,g=.5] % [h=808000]
+\definecolor [yellow] [r=1,g=1] % [h=FFFF00]
+\definecolor [navy] [r=1,g=1] % [h=000080]
+\definecolor [blue] [b=1] % [h=0000FF]
+\definecolor [teal] [g=.5,b=.5] % [h=008080]
+\definecolor [aqua] [g=1,b=1] % [h=00FFFF]
+
+%D The layout is rather basic. Of the 25 available areas we
+%D only use the text area. Maybe some day I will plug in a
+%D more dedicated page builder.
+
+\setuplayout
+ [backspace=0pt,
+ topspace=0pt,
+ header=0pt,
+ footer=0pt,
+ width=middle,
+ height=middle,
+ % marking=on,
+ location=middle]
+
+\setuppagenumbering
+ [alternative=doublesided,
+ location=]
+
+\setuptolerance
+ [verytolerant,stretch]
+
+%D We will position the regions using layers.
+
+\definelayer[regions][width=\paperwidth,height=\paperheight]
+
+\definelayer[xsl-region-before]
+\definelayer[xsl-region-after]
+\definelayer[xsl-region-start]
+\definelayer[xsl-region-end]
+\definelayer[xsl-region-body]
+
+\setupbackgrounds[page][background=regions]
+
+%D We now enter the part of this module where the action takes
+%D place. As usual we provide some tracing options.
+
+\newif\iftracingFO \readsysfile{page-run}\donothing\donothing
+
+%D We will organize the attribute definitions in a similar fashion as in
+%D the specification. Unfortunately there are more sets defined in there
+%D than are actually used, so the definitions later on will look a bit
+%D messy.
+%D
+%D Quite some attributes can be inherited, which means that they can
+%D end up in all elements and influence those way down the tree.
+
+\defineXMLattributeset
+ [fo:inherited]
+
+%D The properties:
+
+% \defineXMLattributeset
+% [fe:tracing]
+% [tracing=]
+
+\defineXMLattributeset
+ [fo:accessibility]
+ [source-document=none,
+ role=none]
+
+\defineXMLattributeset
+ [fo:absolute-position]
+ [absolute-position=auto,
+ top=auto,
+ right=auto,
+ bottom=auto,
+ left=auto]
+
+% \defineXMLattributeset
+% [fo:aural]
+% [azitmuth=,
+% cue-after=,
+% cue-before=,
+% elevation=,
+% pause-after=,
+% pause-before=,
+% pitch=,
+% pitch-range=,
+% play-during=,
+% richness=,
+% speak=,
+% speak-header=,
+% speak-numeral=,
+% speak-punctuation=,
+% speech-rate=,
+% stress=,
+% voice-family=,
+% volume=]
+
+\defineXMLattributeset
+ [fo:border-padding-background]
+ [background-attachment=scroll,
+ background-color=transparent,
+ background-image=none,
+ background-repeat=repeat,
+ background-position-horizontal=left,
+ background-position-vertical=top,
+ border-color=transparent,
+ border-style=none,
+ border-width=medium,
+ background-position=,
+ border-top=,
+ border-bottom=,
+ border-left=,
+ border-right=,
+ border-before-color=\XMLop{border-color},
+ border-before-style=\XMLop{border-style},
+ border-before-width=\XMLop{border-width},
+ border-after-color=\XMLop{border-color},
+ border-after-style=\XMLop{border-style},
+ border-after-width=\XMLop{border-width},
+ border-start-color=\XMLop{border-color},
+ border-start-style=\XMLop{border-style},
+ border-start-width=\XMLop{border-width},
+ border-end-color=\XMLop{border-color},
+ border-end-style=\XMLop{border-style},
+ border-end-width=\XMLop{border-width},
+ border-top-color=\XMLop{border-before-color},
+ border-top-style=\XMLop{border-before-style},
+ border-top-width=\XMLop{border-before-width},
+ border-bottom-color=\XMLop{border-after-color},
+ border-bottom-style=\XMLop{border-after-style},
+ border-bottom-width=\XMLop{border-after-width},
+ border-left-color=\XMLop{border-start-color},
+ border-left-style=\XMLop{border-start-style},
+ border-left-width=\XMLop{border-start-width},
+ border-right-color=\XMLop{border-end-color},
+ border-right-style=\XMLop{border-end-style},
+ border-right-width=\XMLop{border-end-width},
+ padding=0pt,
+ padding-before=\XMLop{padding},
+ padding-after=\XMLop{padding},
+ padding-start=\XMLop{padding},
+ padding-end=\XMLop{padding},
+ padding-top=\XMLop{padding-before},
+ padding-bottom=\XMLop{padding-after},
+ padding-left=\XMLop{padding-start},
+ padding-right=\XMLop{padding-end}]
+
+\extendXMLattributeset
+ [fo:border-padding-background]
+ [fe:background-height=,
+ fe:background-width=]
+
+\defineXMLattributeset
+ [fo:font]
+ []
+
+\extendXMLattributeset
+ [fo:inherited]
+ [font=,
+ font-family=Times,
+ font-selection-strategy=,
+ font-size=12pt,
+ font-size-adjust=1,
+ font-style=normal,
+ font-variant=normal,
+ font-weight=normal]
+
+\defineXMLattributeset
+ [fo:hyphenation]
+ []
+
+\extendXMLattributeset
+ [fo:inherited]
+ [country=,
+ language=,
+ script=,
+ hyphenate=,
+ hyphenation-character=,
+ hyphenation-push-character-count=,
+ hyphenation-remain-character-count=]
+
+\defineXMLattributeset
+ [fo:margin-block]
+ [margin=0pt,
+ margin-top=\XMLop{margin},
+ margin-bottom=\XMLop{margin},
+ margin-left=\XMLop{margin},
+ margin-right=\XMLop{margin},
+ space-before=0pt,
+ space-after=0pt,
+ space-before.precedence=,
+ space-before.conditionality=,
+ space-before.minimum=,
+ space-before.optimum=,
+ space-before.maximum=,
+ space-after.precedence=,
+ space-after.conditionality=,
+ space-after.minimum=,
+ space-after.optimum=,
+ space-after.maximum=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [start-indent=,
+ end-indent=]
+
+\defineXMLattributeset
+ [fo:margin-inline]
+ [space-start=,
+ space-end=]
+
+\defineXMLattributeset
+ [fo:relative-position]
+ [relative-position=,
+ top=auto,
+ right=auto,
+ bottom=auto,
+ left=auto]
+
+\defineXMLattributeset
+ [fo:area-alignment]
+ [alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ dominant-baseline=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [display-align=,
+ relative-align=]
+
+\defineXMLattributeset
+ [fo:area-dimension]
+ [block-progression-dimension=,
+ inline-progression-dimension=,
+ content-height=,
+ content-width=,
+ height=,
+ width=,
+ max-height=,
+ max-width=,
+ min-height=,
+ min-width=,
+ scaling=,
+ scaling-method=]
+
+\defineXMLattributeset
+ [fo:block-and-line]
+ []
+
+\extendXMLattributeset
+ [fo:inherited]
+ [hyphenation-keep=,
+ hyphenation-ladder-count=,
+ last-line-end-indent=,
+ line-height=,
+ line-height-shift-adjustment=,
+ line-stacking-strategy=,
+ linefeed-treatment=,
+ white-space-treatment=,
+ text-align=,
+ text-align-last=,
+ text-indent=,
+ white-space-collapse=,
+ wrap-option=]
+
+\defineXMLattributeset
+ [fo:character]
+ [character=,
+ suppress-at-line-break=,
+ text-decoration=,
+ text-shadow=,
+ treat-as-word-space=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [letter-spacing=,
+ text-transform=,
+ word-spacing=]
+
+\defineXMLattributeset
+ [fo:color]
+ [color-profile-name=,
+ rendering-intent=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [color=]
+
+\defineXMLattributeset
+ [fo:float]
+ [clear=,
+ float=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [intrusion-displace=]
+
+\defineXMLattributeset
+ [fo:keeps-and-breaks]
+ [break-after=,
+ break-before=,
+ keep-with-next.within-line=,
+ keep-with-next.within-column=,
+ keep-with-next.within-page=,
+ keep-with-previous.within-line=,
+ keep-with-previous.within-column=,
+ keep-with-previous.within-page=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [keep-together.within-line=,
+ keep-together.within-column=,
+ keep-together.within-page=,
+ orphans=,
+ widows=]
+
+\defineXMLattributeset
+ [fo:layout]
+ [clip=,
+ overflow=
+ span=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [reference-orientation=]
+
+\defineXMLattributeset
+ [fo:leader-and-rule]
+ []
+
+\extendXMLattributeset
+ [fo:inherited]
+ [leader-alignment=,
+ leader-pattern=,
+ leader-pattern-width=,
+ leader-pattern-width=,
+ leader-length=,
+ rule-style=,
+ rule-thickness=]
+
+\defineXMLattributeset
+ [fo:dynamic-effects]
+ [active-state=,
+ case-name=,
+ case-title=,
+ destination-placement-offset=,
+ external-destination=,
+ indicate-destination=,
+ internal-destination=,
+ show-destination=,
+ starting-state=,
+ switch-to=,
+ target-presentation-context=,
+ target-processing-context=,
+ target-stylesheet=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [auto-restore=]
+
+\defineXMLattributeset
+ [fo:markers]
+ [marker-class-name=,
+ retrieve-class-name=,
+ retrieve-position=,
+ retrieve-boundary=]
+
+\defineXMLattributeset
+ [fo:number-to-string]
+ [country=,
+ language=,
+ format=,
+ grouping-separator=,
+ grouping-size=,
+ letter-value=]
+
+% \defineXMLattributeset
+% [fo:pagination-and-layout]
+% [black-or-not-blank=,
+% column-count=1,
+% column-gap=12pt,
+% extent=,
+% flow-name=,
+% force-page-count=,
+% initial-page-number=,
+% master-name=,
+% master-reference=,
+% maximum-repeats=,
+% media-usage=,
+% odd-or-even=,
+% page-height=,
+% page-position=,
+% page-width=,
+% precedence=,
+% region-name=]
+
+\defineXMLattributeset
+ [fo:table]
+ [border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ column-number=,
+ column-width=,
+ ends-row=,
+ number-columns-repeated=,
+ number-columns-spanned=,
+ number-rows-spanned=,
+ starts-row=,
+ table-layout=,
+ table-omit-footer-at-break=,
+ table-omit-header-at-break=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [border-collapse=,
+ border-separation=,
+ caption-side=,
+ empty-cells=]
+
+\defineXMLattributeset
+ [fo:writing-mode]
+ [text-altitude=,
+ text-depth=,
+ unicode-bidi=]
+
+\extendXMLattributeset
+ [fo:inherited]
+ [direction=,
+ glyph-orientation-horizontal=,
+ glyph-orientation-vertical=,
+ writing-mode=]
+
+\defineXMLattributeset
+ [fo:list-block]
+ []
+
+\extendXMLattributeset
+ [fo:inherited]
+ [provisional-label-separation=,
+ provisional-distance-between-starts=]
+
+% \starttext
+% \setuplayout[topspace=1cm,height=middle,header=0pt,footer=0pt]
+% \setupbodyfont[small,tt]
+% \expanded{\processcommalist[\XMLattributeset{fo:inherited}]}\endgraf
+% \stoptext
+
+% content-type
+% id
+
+% ref-id
+% score-spaces % inherited
+% src
+% visibility % inherited
+% z-index
+
+% shorthands:
+%
+% background
+% background-position
+% border
+% border-bottom
+% border-left
+% border-top
+% border-right
+% border-style
+% border-color
+% border-spacing % inherited
+% border-width
+% cue
+% font % inherited
+% margin
+% padding
+% page-break-after
+% page-break-before
+% page-break-inside % inherited
+% pause
+% position
+% size
+% vertical-align
+% white-space % inherited
+
+%D We will speed up the process of setting up attributes by compiling the
+%D definitions. Sometimes we need to access attributes explicitly by
+%D element (for instance when handling regions). We also need to deal
+%D with nested elements (for instance blocks) or a sequence of similar
+%D ones, while we may not always want to use grouping. As a result, the
+%D next series of definitions and macros are quite ugly. The begin|/|end
+%D is needed in order to comfortably fetch attribute values from
+%D ancestors.
+
+\startXMLcompiling
+
+%D Element: fo:root
+
+%D todo: set defaults here
+
+\defineXMLenvironment
+ [fo:root]
+ [\XMLattributeset{fo:inherited},
+leader-pattern=spaces,
+leader-pattern-width=12pt,
+ media-usage=]
+ {\directsetup{fo:root:start}}
+ {\directsetup{fo:root:stop}}
+
+\startsetups fo:root:start
+ \starttext \beginXMLelement \startXMLignore
+\stopsetups
+
+\startsetups fo:root:stop
+ \stopXMLignore \endXMLelement \stoptext
+\stopsetups
+
+%D Element: fo:declarations
+
+\defineXMLprocess
+ [fo:declarations]
+
+%D Element: fo:color-profile
+
+\defineXMLignore
+ [fo:color-profile]
+ [src=,
+ color-profile-name=,
+ rendering-intent=]
+
+%D Element: fo:page-sequence
+
+% master-name and master-reference are often mixed up in examples
+
+\defineXMLenvironment
+ [fo:page-sequence]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:number-to-string},
+ initial-page-number=auto,
+ master-reference=any,
+ force-page-count=auto]
+ {\beginXMLelement\directsetup{fo:page-sequence:start}}
+ {\directsetup{fo:page-sequence:stop}\endXMLelement}
+
+\mapXMLvalue {fo:page-initial} {auto} {\relax}
+\mapXMLvalue {fo:page-initial} {auto-odd} {\ifodd\pageno \expanded{\setuppagenumber[number=\the\dimexpr(\pageno+1)]}\fi}
+\mapXMLvalue {fo:page-initial} {auto-even} {\ifodd\pageno\else\expanded{\setuppagenumber[number=\the\dimexpr(\pageno+1)]}\fi}
+
+% todo: blokkeer left/right/etc in geval van blank
+
+\mapXMLvalue {fo:page-start} {auto} {\page}
+\mapXMLvalue {fo:page-start} {even} {\page\setuplayout[blank]\page[even]}
+\mapXMLvalue {fo:page-start} {odd} {\page\setuplayout[blank]\page[odd]}
+\mapXMLvalue {fo:page-end} {end-on-even} {\page\setuplayout[blank]\page[even]}
+\mapXMLvalue {fo:page-end} {end-on-odd} {\page\setuplayout[blank]\page[odd]}
+\mapXMLvalue {fo:page-start} {no-force} {\page}
+
+\startsetups fo:page-sequence:start
+
+ % we're still in the previous page-sequence
+
+ \XMLval{fo:page-start}{\XMLop{force-page-count}}{\page} \begingroup
+
+ \directsetup{fe:setup}
+
+ \iftracingFO \showframe[text] \fi
+
+ \xdef\SavedPageNumber{\the\realpageno}
+
+ % now we enter the new page-sequence
+
+ % todo: check on number
+
+ \doifXMLvalelse{fo:page-initial}{\XMLop{initial-page-number}}
+ {\XMLval{fo:page-initial}{\XMLop{initial-page-number}}{}}
+ {\doifnot{\XMLop{initial-page-number}}{auto}
+ {\expanded{\setuppagenumber[number=\XMLop{initial-page-number}]}}}
+
+ \doifsomething{\XMLpar{fo:page-sequence}{master-reference}{}}
+ {\doifelseXMLelement{fo:page-sequence-master:\XMLpar{fo:page-sequence}{master-reference}{}}
+ {%[starting page sequence master: \XMLpar{fo:page-sequence}{master-reference}{}]\endgraf
+ \flushXMLelement{fo:page-sequence-master:\XMLpar{fo:page-sequence}{master-reference}{}}}
+ {%[starting simple page master: \XMLpar{fo:page-sequence}{master-reference}{any}]\endgraf
+ \flushXMLelement{fo:simple-page-master:\XMLpar{fo:page-sequence}{master-reference}{any}}}}
+
+ \doif{\XMLpar{fo:simple-page-master-do}{fe:option}{}}{fit}
+ {\directsetup{fe:page:option:fit:start}}
+
+ \doifnot{\XMLpar{fo:region-body}{column-count}{1}}{1}
+ {\directsetup{fo:columns:start}}
+
+\stopsetups
+
+\startsetups fo:page-sequence:stop
+
+ \doifnot{\XMLpar{fo:region-body}{column-count}{1}}{1}
+ {\directsetup{fo:columns:stop}}
+
+ \doif{\XMLpar{fo:simple-page-master-do}{fe:option}{}}{fit}
+ {\directsetup{fe:page:option:fit:stop}}
+
+ % \XMLval{fo:page-end}{\XMLop{force-page-count}}{\page} \endgroup
+
+ \ifnum\SavedPageNumber=\realpageno
+
+ \ifdim\pagetotal<.5\textheight \null \vfill \fi % force a page with only containers
+
+ \fi
+
+ \XMLval{fo:page-end}{\XMLpar{fo:page-sequence}{force-page-count}{}}{\page} \endgroup
+
+\stopsetups
+
+\newdimen\FOcolumngap
+
+\startsetups fo:columns:start
+
+ \FOcolumngap\textwidth
+
+ \setpercentdimen\FOcolumngap{\XMLpar{fo:region-body}{column-gap}{12pt}}
+
+ \definecolumnset
+ [fo:set]
+ [n=\XMLpar{fo:region-body}{column-count}{1},
+ distance=\FOcolumngap]
+
+ \directsetup{fo:font:setup} % else problems
+
+ \startcolumnset[fo:set]
+
+ % \startcolumns[\XMLpar{fo:region-body}{column-count}{1}]
+
+\stopsetups
+
+\startsetups fo:columns:stop
+
+ % \stopcolumns
+
+ \stopcolumnset
+
+\stopsetups
+
+%D Element: fo:layout-master-set
+
+\defineXMLprocess
+ [fo:layout-master-set]
+
+%D Element: fo:page-sequence-master
+
+\defineXMLenvironmentsave
+ [fo:page-sequence-master]
+ [\XMLattributeset{fo:inherited},
+ master-name=any]
+ {}
+ {%[saved page sequence master: \XMLop{master-name}]\endgraf
+ \gsaveXMLdatainelement
+ {fo:page-sequence-master:\XMLop{master-name}}
+ {fo:page-sequence-master-do}
+ {fo:page-sequence-master}}
+
+\defineXMLprocess
+ [fo:page-sequence-master-do]
+ [\XMLattributeset{fo:inherited}]
+
+%D Element: fo:single-page-master-reference
+
+% makeup - one page
+
+\defineXMLcommand
+ [fo:single-page-master-reference]
+ [master-reference=any]
+ {\flushXMLelement{fo:simple-page-master:\XMLop{master-reference}}}
+
+%D Element: fo:repeatable-page-master-reference
+
+\defineXMLcommand
+ [fo:repeatable-page-master-reference]
+ [master-reference=any,
+ maximum-repeats=]
+ {\flushXMLelement{fo:simple-page-master:\XMLop{master-reference}}}
+
+%D Element: fo:repeatable-page-master-alternatives
+
+\defineXMLprocess
+ [fo:repeatable-page-master-alternatives]
+ [maximum-repeats=]
+
+%D Element: fo:conditional-page-master-reference
+
+% page-position : first last rest any
+% odd-or-even : odd even any
+% blank-or-not-blank : blank not-blank
+
+% The page-position default is needed (else possible loops)
+
+\defineXMLcommand
+ [fo:conditional-page-master-reference]
+ [master-reference=any,
+ page-position=\XMLpar{fo:conditional-page-master-reference}{master-reference}{any},
+ blank-or-not-blank=,
+ odd-or-even=]
+ {\flushXMLelement{fo:simple-page-master:\XMLpar{fo:conditional-page-master-reference}{master-reference}{}}}
+
+%D Element: fo:simple-page-master
+
+% first-page left-page right-page blank-page
+
+% default dimensions
+
+\defineXMLenvironmentsave
+ [fo:simple-page-master]
+ [master-name=any]
+ {}
+ {%[saved simple page master: \XMLop{master-name}]\endgraf
+ \gsaveXMLdatainelement
+ {fo:simple-page-master:\XMLop{master-name}}
+ {fo:simple-page-master-do}
+ {fo:simple-page-master}}
+
+% reference-orientation=0,
+% writing-mode=
+
+\defineXMLenvironment
+ [fo:simple-page-master-do]
+ [\XMLattributeset{fo:margin-block},
+ page-height=29.7cm,
+ page-width=21cm]
+ {\directsetup{fo:simple-page-master:start}}
+ {\directsetup{fo:simple-page-master:stop}}
+
+% not needed any more:
+
+\mapXMLvalue {fo:reference-orientation} {90} {90}
+\mapXMLvalue {fo:reference-orientation} {180} {180}
+\mapXMLvalue {fo:reference-orientation} {270} {270}
+\mapXMLvalue {fo:reference-orientation} {-90} {270}
+\mapXMLvalue {fo:reference-orientation} {-180} {180}
+\mapXMLvalue {fo:reference-orientation} {-270} {90}
+
+\startsetups fo:simple-page-master:start
+
+ % nothing
+
+\stopsetups
+
+% can be low level tex
+
+\startsetups fo:simple-page-master:stop
+
+ \writestatus{XML-FO}{defining papersize '\directsetup{fo:layout:kind}'}
+
+ \expanded
+ {\definepapersize
+ [\directsetup{fo:layout:kind}]
+ [width=\XMLop{page-width},
+ height=\XMLop{page-height}]}
+
+ \checkFOpadding {fo:region-body}
+
+ \writestatus{XML-FO}{defining layout '\directsetup{fo:layout:kind}'}
+
+ \expanded
+ {\definelayout
+ [\directsetup{fo:layout:kind}]
+ [ page={\directsetup{fo:layout:kind},\XMLval{fo:reference-orientation}{\XMLop{reference-orientation}}{}},
+ paper=\directsetup{fo:layout:kind},
+ backspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-left}{0pt}+
+ \XMLpar{fo:region-body}{padding-left}{0pt}+
+ \XMLpar{fo:region-body}{margin-left}{0pt}),
+ cutspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-right}{0pt}+
+ \XMLpar{fo:region-body}{padding-right}{0pt}+
+ \XMLpar{fo:region-body}{margin-right}{0pt}),
+ topspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-top}{0pt}+
+ \XMLpar{fo:region-body}{padding-top}{0pt}+
+ \XMLpar{fo:region-body}{margin-top} {0pt}),
+ bottomspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-top}{0pt}+
+ \XMLpar{fo:region-body}{padding-bottom}{0pt}+
+ \XMLpar{fo:region-body}{margin-bottom}{0pt})]}
+
+ \expanded{\setuplayout[\directsetup{fo:layout:kind}]}
+
+ % this is a nasty bit of code: this local setup stores some data that
+ % needs to be used later
+
+ \startexpanded
+ \noexpand \startlocalsetups[layout:\directsetup{fo:layout:kind}]
+ \noexpand \writestatus{XML-FO}{processing simple page master '\XMLpar{fo:simple-page-master-do}{master-name}{any}'}
+ \noexpand \resetsetups[fo:simple-page-master:start]
+ \noexpand \resetsetups[fo:simple-page-master:stop]
+ \noexpand \flushXMLelement{fo:simple-page-master:\XMLpar{fo:simple-page-master-do}{master-name}{any}}
+ \noexpand \stoplocalsetups
+ \stopexpanded
+
+\stopsetups
+
+% \defineXMLcommand[fo:simple-page-master-do-do]
+% {\writestatus{XML-FO}{setting up master \XMLop{master-name} in page body}}
+
+%D Element: fo:region-body
+
+% display-align=,
+% reference-orientation=,
+% writing-mode=,
+
+\defineXMLcommand % or process
+ [fo:region-body]
+ [\XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ clip=,
+ column-count=1,
+ column-gap=12pt,
+ overflow=,
+ region-name=]
+ {\directsetup{fo:region-body:process}}
+
+\startsetups fo:region-body:process
+ \writestatus{XML-FO}{refreshing region-body parameters}
+\stopsetups
+
+% todo: naar realfolio handelen ipv folio
+
+\mapXMLvalue {fo:odd-or-even} {odd} {odd}
+\mapXMLvalue {fo:odd-or-even} {even} {even}
+
+\mapXMLvalue {fo:page-position} {even} {even}
+\mapXMLvalue {fo:page-position} {odd} {odd}
+\mapXMLvalue {fo:page-position} {first} {current}
+\mapXMLvalue {fo:page-position} {blank} {blank} % todo
+\mapXMLvalue {fo:page-position} {rest} {rest} % todo
+
+% check this one esp default value
+
+\startsetups fo:layout:kind
+
+ \XMLpav
+ {fo:odd-or-even}
+ {fo:conditional-page-master-reference}
+ {odd-or-even}
+ {\XMLpav
+ {fo:page-position}
+ {fo:conditional-page-master-reference}
+ {page-position}
+% {\XMLop{master-reference}}}
+ {\XMLpar{fo:page-sequence-master}{master-reference}{any}}}
+
+\stopsetups
+
+% common border things
+
+% clip
+% display-align
+% extent
+% overflow
+% precedence
+% region-name
+% reference-orientation
+% writing-mode
+
+%D Element: fo:region-before fo:region-after fo:region-start fo:region-end
+
+% border-before-color : <color> | inherit
+% border-before-style : <border style> | inherit
+% border-before-width.length|conditional : <border width> | <length conditional> | inherit
+%
+% style: none hidden dotted dashed solid double groove ridge inset outset
+% width: thin medium thick length
+
+\mapXMLvalue {fo:display-align} {auto} {before} % todo: related to relative-align
+\mapXMLvalue {fo:display-align} {before} {high}
+\mapXMLvalue {fo:display-align} {after} {low}
+\mapXMLvalue {fo:display-align} {center} {lohi}
+
+% display-align=,
+% reference-orientation=,
+% writing-mode=,
+
+\defineXMLcommand % will become process when stable
+ [fo:region-before]
+ [\XMLattributeset{fo:border-padding-background},
+ clip=,
+ extent=,
+ overflow=,
+ precedence=,
+ region-name=]
+ {\directsetup{fo:region-before:process}}
+
+\startsetups fo:region-before:process
+ \writestatus{XML-FO}{refreshing region-before parameters}
+\stopsetups
+
+\defineXMLprocess
+ [fo:region-after]
+ [\XMLattributeset{fo:border-padding-background},
+ clip=,
+ extent=,
+ overflow=,
+ precedence=,
+ region-name=]
+
+\defineXMLprocess
+ [fo:region-start]
+ [\XMLattributeset{fo:border-padding-background},
+ clip=,
+ extent=,
+ overflow=,
+ region-name=]
+
+\defineXMLprocess
+ [fo:region-end]
+ [\XMLattributeset{fo:border-padding-background},
+ clip=,
+ extent=,
+ overflow=,
+ region-name=]
+
+\mapXMLvalue {fo:border-style} {none} {0}
+\mapXMLvalue {fo:border-style} {hidden} {1}
+\mapXMLvalue {fo:border-style} {dotted} {2}
+\mapXMLvalue {fo:border-style} {dashed} {3}
+\mapXMLvalue {fo:border-style} {solid} {4}
+\mapXMLvalue {fo:border-style} {double} {5}
+\mapXMLvalue {fo:border-style} {groove} {6}
+\mapXMLvalue {fo:border-style} {ridge} {7}
+\mapXMLvalue {fo:border-style} {inset} {8}
+\mapXMLvalue {fo:border-style} {outset} {9}
+
+\mapXMLvalue {fo:border-width} {thin} {.25pt}
+\mapXMLvalue {fo:border-width} {medium} {.5pt}
+\mapXMLvalue {fo:border-width} {thick} {1pt}
+
+\startsetups fo:regions:check
+
+ \startprocesscommalist[body,before,after,start,end]
+
+ \checkFOborder{fo:region-\currentcommalistitem}{bottom}
+ \checkFOborder{fo:region-\currentcommalistitem}{top}
+ \checkFOborder{fo:region-\currentcommalistitem}{left}
+ \checkFOborder{fo:region-\currentcommalistitem}{right}
+
+ \checkhexcolor[\XMLpar{fo:region-\currentcommalistitem}{border-bottom-color}{}]
+ \checkhexcolor[\XMLpar{fo:region-\currentcommalistitem}{border-top-color}{}]
+ \checkhexcolor[\XMLpar{fo:region-\currentcommalistitem}{border-left-color}{}]
+ \checkhexcolor[\XMLpar{fo:region-\currentcommalistitem}{border-right-color}{}]
+
+ \checkhexcolor[\XMLpar{fo:region-\currentcommalistitem}{background-color}{}]
+
+ \checkFOposition{fo:region-\currentcommalistitem}{background}
+ \checkFOpadding {fo:region-\currentcommalistitem}
+
+ \stopprocesscommalist
+
+\stopsetups
+
+%D Element: fo:flow
+
+\defineXMLenvironment
+ [fo:flow]
+ [\XMLattributeset{fo:inherited},
+ flow-name=unknown]
+ {\beginXMLelement\directsetup{fo:flow:start}}
+ {\directsetup{fo:flow:stop}\endXMLelement}
+
+\startsetups fo:flow:start
+ \begingroup
+\stopsetups
+
+\startsetups fo:flow:stop
+ \endgroup
+\stopsetups
+
+%D Element: fo:static-content
+
+% \beginXMLelement \endXMLelement - maybe save with attributes
+
+\defineXMLenvironmentsave
+ [fo:static-content]
+ [flow-name=unknown]
+ {}
+ {\directsetup{fo:static-content:process}}
+
+\startsetups fo:static-content:process
+
+ \gsaveXMLdata{fo:static-content:\XMLop{flow-name}}{fo:static-content}
+
+\stopsetups
+
+\newdimen\FOscratchML \newdimen\FOscratchMR
+\newdimen\FOscratchMT \newdimen\FOscratchMB
+\newdimen\FOscratchRB \newdimen\FOscratchRA
+\newdimen\FOscratchRS \newdimen\FOscratchRE
+
+\mapXMLvalue {fo:background-repeat} {no-repeat} {0}
+\mapXMLvalue {fo:background-repeat} {repeat} {1}
+\mapXMLvalue {fo:background-repeat} {repeat-x} {2}
+\mapXMLvalue {fo:background-repeat} {repeat-y} {3}
+
+\expanded {\mapXMLvalue {fo:background-location} {left} {0\letterpercent}}
+\expanded {\mapXMLvalue {fo:background-location} {right} {100\letterpercent}}
+\expanded {\mapXMLvalue {fo:background-location} {top} {0\letterpercent}}
+\expanded {\mapXMLvalue {fo:background-location} {bottom} {100\letterpercent}}
+\expanded {\mapXMLvalue {fo:background-location} {center} {50\letterpercent}}
+
+\newdimen\FObgpositionH
+\newdimen\FObgpositionV
+
+\def\FObackgroundimage#1#2#3%
+ {\doifnot{\XMLpar{fo:#1}{background-image}{none}}{none}
+ {\setFOimagename{\XMLpar{fo:#1}{background-image}{dummy}}%
+ \FObgpositionH#2%
+ \setpercentdimen\FObgpositionH{\XMLpav{fo:background-location}{fo:#1}{background-position-horizontal}{}}%
+ \ifpercentdimendone
+ \skip0\zeropoint plus \FObgpositionH
+ \skip2\zeropoint plus \dimexpr(#2-\FObgpositionH)%
+ \else
+ \skip0\FObgpositionH
+ \skip2\zeropoint plus 1fill\relax
+ \fi
+ \FObgpositionV#3%
+ \setpercentdimen\FObgpositionV{\XMLpav{fo:background-location}{fo:#1}{background-position-vertical}{}}%
+ \ifpercentdimendone
+ \skip4\zeropoint plus \FObgpositionV
+ \skip6\zeropoint plus \dimexpr(#3-\FObgpositionV)%
+ \else
+ \skip4\FObgpositionV
+ \skip6\zeropoint plus 1fill\relax
+ \fi
+ \vbox to #3 \bgroup
+ \vskip\skip4\relax
+ \hbox to #2 \bgroup
+ \hskip\skip0\relax
+ \backgroundimage
+ {\XMLpav{fo:background-repeat}{fo:#1}{background-repeat}{}}{#2}{#3}%
+ {\externalfigure
+ [\FOimagename]
+ [width=\XMLpar{fo:#1}{fe:background-width}{},
+ height=\XMLpar{fo:#1}{fe:background-height}{}]}%
+ \hskip\skip2\relax
+ \egroup
+ \vskip\skip6\relax
+ \egroup}}
+
+\def\checkFOclipping#1%
+ {\doifsomething{\XMLpar{#1}{clip}{}}
+ {\analyzefunction{\XMLpar{#1}{clip}{}}%
+ \doif\functionname{rect}
+ {\def\postprocessframebox##1%
+ {\edef\next{\dimen0=\the\wd##1\dimen2=\the\ht##1\dimen4=\the\dp##1}%
+ \setbox##1\hbox
+ {\clip % expanded?
+ [topoffset=-\functionA,
+ bottomoffset=-\functionC,
+ leftoffset=-\functionD,
+ rightoffset=-\functionB]
+ {\box##1}}%
+ \next}}}}
+
+\def\clipFOarea#1%
+ {\doifsomething{\XMLpar{#1}{clip}{}}%
+ {\analyzefunction{\XMLpar{#1}{clip}{}}%
+ \doif\functionname{rect}
+ {\setbox\scratchbox\hbox{\foregroundbox}%
+ \edef\next{\dimen0=\the\wd\scratchbox\dimen2=\the\ht\scratchbox\dimen4=\the\dp\scratchbox}%
+ \setbox\scratchbox\hbox
+ {\clip % expanded?
+ [topoffset=-\functionA,
+ bottomoffset=-\functionC,
+ leftoffset=-\functionD,
+ rightoffset=-\functionB]
+ {\box\scratchbox}}%
+ \next
+ \box\scratchbox}}}
+
+\defineoverlay
+ [text]
+ [\clipFOarea{fo:region-body}]
+
+\setupbackgrounds
+ [text]
+ [background=text]
+
+\def\FOregionbuilder#1#2#3#4#5#6% #1=location #2=preset #3=x #4=y #5=width #6=height
+ {\writestatus{XML-FO}{building region #1}%
+ \defineoverlay
+ [image]
+ [{\framed
+ [frame=off,
+ orientation=\XMLpav{fo:reference-orientation}{fo:#1}{reference-orientation}{0},
+ offset=overlay,
+ height=\overlayheight,
+ width=\overlaywidth]
+ {\FObackgroundimage{#1}\hsize\vsize}}]%
+ \setlayerframed
+ [regions]
+ [preset=#2,x=\dimexpr(#3),y=\dimexpr(#4)]
+ [frame=off,
+ offset=overlay,background={#1-graphic,image,xsl-#1},
+ width=\dimexpr(#5),height=\dimexpr(#6)]
+ {\lrtbbox
+ {\XMLpar{fo:#1}{padding-left}\zeropoint}%
+ {\XMLpar{fo:#1}{padding-right}\zeropoint}%
+ {\XMLpar{fo:#1}{padding-top}\zeropoint}%
+ {\XMLpar{fo:#1}{padding-bottom}\zeropoint}%
+ {\checkFOclipping{fo:#1}%
+ \framed
+ [frame=off,
+ offset=overlay,
+ orientation=\XMLpav{fo:reference-orientation}{fo:#1}{reference-orientation}{0},
+ align={\XMLpav{fo:display-align}{fo:#1}{display-align}{high},\XMLpav{fo:align-key}{fo:#1}{text-align}{normal}},
+ width=\hsize,height=\vsize]
+ {\doFObeforeskip{fo:#1}%
+ \flushXMLelement{fo:static-content:\XMLpar{fo:#1}{region-name}{xsl-#1}}}%
+ \doFOafterskip{fo:#1}}}}
+
+\startsetups fo:regions:process
+
+ \directsetup{fo:regions:check}
+
+ \FOscratchML \XMLpar{fo:simple-page-master-do}{margin-left} \zeropoint
+ \FOscratchMR \XMLpar{fo:simple-page-master-do}{margin-right} \zeropoint
+ \FOscratchMT \XMLpar{fo:simple-page-master-do}{margin-top} \zeropoint
+ \FOscratchMB \XMLpar{fo:simple-page-master-do}{margin-bottom}\zeropoint
+
+ \FOscratchRB \XMLpar{fo:region-before} {extent} \zeropoint
+ \FOscratchRA \XMLpar{fo:region-after} {extent} \zeropoint
+ \FOscratchRS \XMLpar{fo:region-start} {extent} \zeropoint
+ \FOscratchRE \XMLpar{fo:region-end} {extent} \zeropoint
+
+ \doifelse{\XMLpar{fo:region-before}{precedence}{false}}{true}
+ {\doifelse{\XMLpar{fo:region-after}{precedence}{false}}{true}
+ {\directsetup{fo:regions:process:true:true}}
+ {\directsetup{fo:regions:process:true:false}}}
+ {\doifelse{\XMLpar{fo:region-after}{precedence}{false}}{true}
+ {\directsetup{fo:regions:process:false:true}}
+ {\directsetup{fo:regions:process:false:false}}}
+
+ \FOscratchRB \XMLpar{fo:region-body}{margin-top} \zeropoint
+ \FOscratchRA \XMLpar{fo:region-body}{margin-bottom}\zeropoint
+ \FOscratchRS \XMLpar{fo:region-body}{margin-left} \zeropoint
+ \FOscratchRE \XMLpar{fo:region-body}{margin-right} \zeropoint
+
+ \FOregionbuilder
+ {region-body}
+ {lefttop}
+ {\FOscratchML+\FOscratchRS}
+ {\FOscratchMT+\FOscratchRA}
+ {\paperwidth -\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE}
+ {\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRB-\FOscratchRA}
+
+\stopsetups
+
+\startsetups fo:regions:process:true:true
+
+ \ifdim\FOscratchRB>\zeropoint \FOregionbuilder
+ {region-before}{lefttop}
+ {\FOscratchML}{\FOscratchMT}
+ {\paperwidth-\FOscratchML-\FOscratchMR}{\FOscratchRB}
+ \fi \ifdim\FOscratchRA>\zeropoint \FOregionbuilder
+ {region-after}{leftbottom}
+ {\FOscratchML}{\FOscratchMB}
+ {\paperwidth-\FOscratchML-\FOscratchMR}{\FOscratchRA}
+ \fi \ifdim\FOscratchRS>\zeropoint \FOregionbuilder
+ {region-start}{lefttop}
+ {\FOscratchML}{\FOscratchMT+\FOscratchRB}
+ {\FOscratchRS}{\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRA-\FOscratchRB}
+ \fi \ifdim\FOscratchRE>\zeropoint \FOregionbuilder
+ {region-end}{righttop}
+ {\FOscratchMR}{\FOscratchMT+\FOscratchRA}
+ {\FOscratchRE}{\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRA-\FOscratchRB}
+ \fi
+
+\stopsetups
+
+\startsetups fo:regions:process:false:true
+
+ \ifdim\FOscratchRB>\zeropoint \FOregionbuilder
+ {region-before}{lefttop}
+ {\FOscratchML+\FOscratchRS}{\FOscratchMT}
+ {\paperwidth-\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE}{\FOscratchRB}
+ \fi \ifdim\FOscratchRA>\zeropoint \FOregionbuilder
+ {region-after}{leftbottom}
+ {\FOscratchML}{\FOscratchMB}
+ {\paperwidth-\FOscratchML-\FOscratchMR}{\FOscratchRA}
+ \fi \ifdim\FOscratchRS>\zeropoint \FOregionbuilder
+ {region-start}{lefttop}
+ {\FOscratchML}{\FOscratchMT}
+ {\FOscratchRS}{\paperheight-\FOscratchMB-\FOscratchRA-\FOscratchRB}
+ \fi \ifdim\FOscratchRE>\zeropoint \FOregionbuilder
+ {region-end}{righttop}
+ {\FOscratchMR}{\FOscratchMT}
+ {\FOscratchRE}{\paperheight-\FOscratchMB-\FOscratchRA-\FOscratchRB}
+ \fi
+
+\stopsetups
+
+\startsetups fo:regions:process:true:false
+
+ \ifdim\FOscratchRB>\zeropoint \FOregionbuilder
+ {region-before}{lefttop}
+ {\FOscratchML}{\FOscratchMT}
+ {\paperwidth-\FOscratchML-\FOscratchMR}{\FOscratchRB}
+ \fi \ifdim\FOscratchRA>\zeropoint \FOregionbuilder
+ {region-after}{leftbottom}
+ {\FOscratchML+\FOscratchRS}{\FOscratchMB}
+ {\paperwidth-\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE}{\FOscratchRA}
+ \fi \ifdim\FOscratchRS>\zeropoint \FOregionbuilder
+ {region-start}{lefttop}
+ {\FOscratchML}{\FOscratchMT+\FOscratchRB}
+ {\FOscratchRS}{\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRB}
+ \fi \ifdim\FOscratchRE>\zeropoint \FOregionbuilder
+ {region-end}{righttop}
+ {\FOscratchMR}{\FOscratchMT+\FOscratchRA}
+ {\FOscratchRE}{\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRB}
+ \fi
+
+\stopsetups
+
+\startsetups fo:regions:process:false:false
+
+ \ifdim\FOscratchRB>\zeropoint \FOregionbuilder
+ {region-before}{lefttop}
+ {\FOscratchML+\FOscratchRS}{\FOscratchMT}
+ {\paperwidth-\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE}{\FOscratchRB}
+ \fi \ifdim\FOscratchRA>\zeropoint \FOregionbuilder
+ {region-after}{leftbottom}
+ {\FOscratchML+\FOscratchRS}{\FOscratchMB}
+ {\paperwidth-\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE}{\FOscratchRA}
+ \fi \ifdim\FOscratchRS>\zeropoint \FOregionbuilder
+ {region-start}{lefttop}
+ {\FOscratchML}{\FOscratchMT}
+ {\FOscratchRS}{\paperheight-\FOscratchMT-\FOscratchMB}
+ \fi \ifdim\FOscratchRE>\zeropoint \FOregionbuilder
+ {region-end}{righttop}
+ {\FOscratchMR}{\FOscratchMT}
+ {\FOscratchRE}{\paperheight-\FOscratchMT-\FOscratchMB}
+ \fi
+
+\stopsetups
+
+\startsetups fo:before:each:page
+
+ \writestatus{XML-FO}{setting up layout \currentlayout}
+ \directsetup{layout:\currentlayout}
+ \directsetup{fo:regions:process}
+
+\stopsetups
+
+\prependtoks
+ \directsetup{fo:before:each:page}%
+\to \everybeforepagebody
+
+%D Element: fo:title
+
+% \XMLattributeset{fo:aural},
+% color=,
+% line-height=,
+
+\defineXMLignore
+ [fo:title]
+ [\XMLattributeset{fo:inherited},\XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:margin-inline},
+ visibility=]
+
+%D Element: fo:block
+
+\defineXMLenvironment
+ [fo:block]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:hyphenation},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:relative-position},
+ \XMLattributeset{fo:keeps-and-breaks},
+ text-depth=,
+ text-altitude=,
+ span=,
+ visibility=]
+ {\beginXMLelement\directsetup{fo:block:start}}
+ {\directsetup{fo:block:stop}\endXMLelement}
+
+\newdimen \dFOlineheight
+
+\let\FOlineheight\empty
+
+\startsetups fo:block:start
+
+ \endgraf
+
+ \begingroup
+
+ \directsetup{fe:setup}
+
+ \directsetup{fo:break-and-space:before}
+
+ \begingroup
+
+ \setFOreference{fo:block}
+
+ \increment\FOblocklevel
+
+ \directsetup{fo:font:setup}
+
+ % \setupinterlinespace, no, interferes with columnset and lineheight
+
+ \edef\xFOlineheight{\XMLop{line-height}}
+
+ \ifx\xFOlineheight\FOlineheight \else
+
+ \let\FOlineheight\xFOlineheight
+ \dFOlineheight 2.8ex
+ \setpercentdimen\dFOlineheight\FOlineheight
+ \ifpercentdimendone
+ \expanded{\setupinterlinespace[line=\dFOlineheight]}%
+ \else\ifx\FOlineheight\empty \else
+ \doifdimensionelse\FOlineheight
+ {\expanded{\setupinterlinespace[line=\FOlineheight]}}
+ {\expanded{\setupinterlinespace[\FOlineheight]}}%
+ \fi \fi
+
+ \fi
+
+ \directsetup{fo:indent:setup}
+
+ \doifsomething{\XMLop{background-color}}
+ {\checkhexcolor[\XMLop{background-color}]
+ \doifcolorelse{\XMLop{background-color}}
+ \donothing
+ {\setXMLpar{fo:block}{background-color}{}}}
+
+ \doifsomething{\XMLop{color}}
+ {\checkhexcolor[\XMLop{color}]
+ \doifcolorelse{\XMLop{color}}
+ \donothing
+ {\setXMLpar{fo:block}{color}{}}}
+
+ \doifsomething{\XMLop{background-color}}
+ {\expanded
+ {\definetextbackground
+ [FOattribute-\FOblocklevel]
+ [location=paragraph,
+ color=\XMLop{color},
+ style=,
+ before=,
+ after=,
+ background=color,
+ backgroundcolor=\XMLop{background-color}]}}
+
+ \endgraf
+
+ \getvalue{startFOattribute-\FOblocklevel}
+
+ \directsetup{fo:hyphenation:setup}
+ \directsetup{fo:align:setup}
+
+ \doif{\XMLop{wrap-option}}{no-wrap}
+ {\obeylines}
+
+ \doif{\XMLop{white-space-collapse}}{false}
+ {\obeyspaces}
+
+ \doifsomething{\XMLop{text-indent}}
+ {\expanded{\setupindenting[\XMLop{text-indent}]}
+ \indenting[always]}
+
+\stopsetups
+
+\startsetups fo:block:stop
+
+ \endstrut \endgraf
+
+ \getvalue{stopFOattribute-\FOblocklevel}
+
+ \endgraf
+
+ \endgroup
+
+ \directsetup{fo:break-and-space:after}
+
+ \endgroup
+
+\stopsetups
+
+% todo: map
+
+\mapXMLvalue {fo:break} {column} {\column}
+\mapXMLvalue {fo:break} {page} {\page}
+\mapXMLvalue {fo:break} {even-page} {\page[even]}
+\mapXMLvalue {fo:break} {odd-page} {\page[odd]}
+
+% keep-together : either vbox or something \interlinepenalty\maxdimen ?
+%
+% nasty interference with accumulated skips
+
+\mapXMLvalue {fo:keep-next} {auto} {}
+\mapXMLvalue {fo:keep-next} {always} {\allowbreak}
+
+\mapXMLvalue {fo:keep-prev} {auto} {}
+\mapXMLvalue {fo:keep-prev} {always} {\nobreak}
+
+\mapXMLvalue {fo:keep-start} {auto} {}
+\mapXMLvalue {fo:keep-start} {always} {\interlinepenalty\maxdimen}
+
+\mapXMLvalue {fo:keep-stop} {auto} {}
+\mapXMLvalue {fo:keep-stop} {always} {}
+
+\newskip\FOsavedlastskip
+
+\startsetups fo:break-and-space:before
+
+ \XMLval{fo:break}{\XMLop{break-before}}{}
+
+% test
+%
+% \FOsavedlastskip \lastskip
+% \ifdim\FOsavedlastskip>\zeropoint \vskip-\FOsavedlastskip \fi
+
+ \XMLval{fo:keep-start}{\XMLop{keep-together}}\empty
+ \XMLval{fo:keep-start}{\XMLop{keep-together.within-column}}\empty
+ \XMLval{fo:keep-start}{\XMLop{keep-together.within-page}}\empty
+
+ \XMLval{fo:keep-prev} {\XMLop{keep-with-previous}}\empty
+ \XMLval{fo:keep-prev} {\XMLop{keep-with-previous.within-column}}\empty
+ \XMLval{fo:keep-prev} {\XMLop{keep-with-previous.within-page}}\empty
+
+% test
+%
+% \ifdim\FOsavedlastskip>\zeropoint \vskip\FOsavedlastskip \fi
+
+ \doFObeforeskip\currentXMLelement
+
+\stopsetups
+
+\startsetups fo:break-and-space:after
+
+ \doFOafterskip\currentXMLelement
+
+% \FOsavedlastskip \lastskip
+% \ifdim\FOsavedlastskip>\zeropoint \vskip-\FOsavedlastskip \fi
+
+ \XMLval{fo:keep-stop}{\XMLop{keep-together}}\empty
+ \XMLval{fo:keep-stop}{\XMLop{keep-together.within-column}}\empty
+ \XMLval{fo:keep-stop}{\XMLop{keep-together.within-page}}\empty
+
+ \XMLval{fo:keep-next}{\XMLop{keep-with-next}}\empty
+ \XMLval{fo:keep-next}{\XMLop{keep-with-next.within-column}}\empty
+ \XMLval{fo:keep-next}{\XMLop{keep-with-next.within-page}}\empty
+
+% \ifdim\FOsavedlastskip>\zeropoint \vskip\FOsavedlastskip \fi
+
+ \XMLval{fo:break}{\XMLop{break-after}}{}
+
+\stopsetups
+
+\startsetups fo:space:start
+ \doFOstartspace\currentXMLelement
+\stopsetups
+
+\startsetups fo:space:end
+ \doFOendspace\currentXMLelement
+\stopsetups
+
+\startsetups fo:indent:setup
+
+ \doifsomething{\XMLop{start-indent}}{\advance\leftskip \XMLop{start-indent}\relax}
+ \doifsomething{\XMLop{end-indent}} {\advance\rightskip\XMLop{end-indent} \relax}
+
+\stopsetups
+
+\mapXMLvalue {fo:align} {center} {\raggedcenter}
+\mapXMLvalue {fo:align} {left} {\raggedright}
+\mapXMLvalue {fo:align} {right} {\raggedleft}
+\mapXMLvalue {fo:align} {begin} {\raggedright}
+\mapXMLvalue {fo:align} {end} {\raggedleft}
+
+\mapXMLvalue {fo:align-key} {center} {middle}
+\mapXMLvalue {fo:align-key} {left} {right}
+\mapXMLvalue {fo:align-key} {right} {left}
+\mapXMLvalue {fo:align-key} {begin} {right}
+\mapXMLvalue {fo:align-key} {end} {left}
+
+\startsetups fo:align:setup
+
+ \XMLval{fo:align}{\XMLop{text-align}}{}
+
+\stopsetups
+
+% todo: font-stretch
+%
+% ultra-condensed
+% extra-condensed
+% condensed
+% semi-condensed
+% expanded
+% extra-expanded
+% ultra-expanded
+%
+% wider narrower
+
+\mapXMLvalue {fo:font-size} {xx-small} {\dFOfontsize0.58\dFOfontsize}
+\mapXMLvalue {fo:font-size} {x-small} {\dFOfontsize0.69\dFOfontsize}
+\mapXMLvalue {fo:font-size} {small} {\dFOfontsize0.83\dFOfontsize}
+\mapXMLvalue {fo:font-size} {medium} {\relax}
+\mapXMLvalue {fo:font-size} {large} {\dFOfontsize1.20\dFOfontsize}
+\mapXMLvalue {fo:font-size} {x-large} {\dFOfontsize1.44\dFOfontsize}
+\mapXMLvalue {fo:font-size} {xx-large} {\dFOfontsize1.73\dFOfontsize}
+
+\mapXMLvalue {fo:font-size} {smaller} {\dFOfontsize0.83\dFOfontsize}
+\mapXMLvalue {fo:font-size} {larger} {\dFOfontsize1.20\dFOfontsize}
+
+\newdimen\dFOfontsize
+\newdimen\dFOdepth
+\newdimen\dFOheight
+
+% evt class Times Helvetica
+
+\definefontsynonym [FO:Times] [Times-Roman]
+\definefontsynonym [FO:Times:bold] [Times-Bold]
+\definefontsynonym [FO:Times:italic] [Times-Italic]
+\definefontsynonym [FO:Times:bold:italic] [Times-BoldItalic]
+
+\definefontsynonym [FO:Helvetica] [Helvetica]
+\definefontsynonym [FO:Helvetica:bold] [Helvetica-Bold]
+\definefontsynonym [FO:Helvetica:italic] [Helvetica-Italic]
+\definefontsynonym [FO:Helvetica:bold:italic] [Helvetica-BoldItalic]
+
+\definefontsynonym [FO:Courier] [Courier]
+\definefontsynonym [FO:Courier:bold] [Courier-Bold]
+\definefontsynonym [FO:Courier:italic] [Courier-Oblique]
+\definefontsynonym [FO:Courier:bold:italic] [Courier-BoldOblique]
+
+\definefontsynonym [FO:Symbol] [ZapfDingbats]
+
+\definefontsynonym [FO:Computer-Modern-Typewriter] [ComputerModernMono]
+\definefontsynonym [FO:Computer-Modern-Typewriter:italic] [ComputerModernMono-Slanted]
+
+\definefontsynonym [*Times Roman*] [Times]
+
+% nasty: no FO prefix
+
+\definefontsynonym [*serif*] [Times]
+\definefontsynonym [*sans-serif*] [Helvetica]
+\definefontsynonym [*monospace*] [Courier]
+
+\definefontsynonym [*cursive*] [Times]
+\definefontsynonym [*fantasy*] [Helvetica]
+
+\definefontsynonym [*Arial*] [Helvetica]
+\definefontsynonym [*Times Roman*] [Times]
+\definefontsynonym [*Wingdings*] [ZapfDingbats]
+
+% \definefontsynonym [Computer-Modern-Typewriter] [ComputerModernMono]
+% \definefontsynonym [monospace] [ComputerModernMono]
+
+\startsetups fo:fonts:reset
+
+ \dFOfontsize=12pt
+
+ \def\FOfontsize {12pt}
+ \def\FOfontfamily {Times}
+ \def\FOfontweight {normal}
+ \def\FOfontstyle {normal}
+ \def\FOfontvariant {normal}
+ \def\FOfontsizeadjust{1}
+
+ \def\FOtextdepth {}
+ \def\FOtextaltitude {}
+ \def\FOlineheight {}
+
+ \def\FOfontdefinition{}
+ \def\FOfontname {}
+
+\stopsetups
+
+\directsetup{fo:fonts:reset}
+
+\def\setFOfontname
+ {\edef\xFOfontname{FO:\FOfontfamily:\FOfontweight:\FOfontstyle:\FOfontvariant}%
+ \doifelsefontsynonym\xFOfontname
+ {\let\FOfontname\xFOfontname}
+ {\edef\xFOfontname{FO:\FOfontfamily:\FOfontweight:\FOfontstyle}%
+ \doifelsefontsynonym\xFOfontname
+ {\let\FOfontname\xFOfontname}
+ {\edef\xFOfontname{FO:\FOfontfamily:\FOfontstyle}%
+ \doifelsefontsynonym\xFOfontname
+ {\let\FOfontname\xFOfontname}
+ {\edef\xFOfontname{FO:\FOfontfamily:\FOfontweight}%
+ \doifelsefontsynonym\xFOfontname
+ {\let\FOfontname\xFOfontname}
+ {\edef\xFOfontname{FO:\FOfontfamily}%
+ \doifelsefontsynonym\xFOfontname
+ {\let\FOfontname\xFOfontname}
+ {}}}}}}
+
+% \unprotected \def\doifelseFOfontsynonym#1#2#3#4#5% family weight style variant default
+% {\edef\FOfontname
+% {\ifcsname\??ff\fontclass FO:#1:#2:#3:#4\endcsname FO:#1:#2:#3:#4%
+% \else\ifcsname\??ff\fontclass FO:#1:#2:#3\endcsname FO:#1:#2:#3%
+% \else\ifcsname\??ff\fontclass FO:#1:#3\endcsname FO:#1:#3%
+% \else\ifcsname\??ff\fontclass FO:#1:#2\endcsname FO:#1:#2%
+% \else\ifcsname\??ff\fontclass FO:#1\endcsname FO:#1%
+% \else #5%
+% \fi\fi\fi\fi\fi}}
+
+\startsetups fo:font:family:check
+
+ \doifelsefontsynonym{*\FOfontfamily*}
+ {\expandfontsynonym\FOfontfamily{*\FOfontfamily*}}
+ {}
+
+\stopsetups
+
+\let\FOfont\empty
+
+\startsetups fo:font:setup
+
+ % todo: optimize, define fonts first time and do that global
+
+ \edefXMLinh\xFOfont {font}
+ \edefXMLinh\xFOfontsize {font-size}
+ \edefXMLinh\xFOfontsizeadjust{font-size-adjust}
+ \edefXMLinh\xFOfontfamily {font-family}
+ \edefXMLinh\xFOfontweight {font-weight}
+ \edefXMLinh\xFOfontstyle {font-style}
+ \edefXMLinh\xFOfontvariant {font-variant}
+
+ \donefalse
+
+ \ifx\xFOfont\empty \else
+ \let\FOfont\xFOfont
+ \checkFOfont\FOfont
+ \fi
+
+ \ifx\xFOfontsize\empty \else
+ \let\FOfontsize\xFOfontsize
+ \doifXMLvalelse{fo:font-size}\FOfontsize
+ {\XMLval{fo:font-size}\FOfontsize\empty}
+ {\setpercentdimen\dFOfontsize\FOfontsize}
+ \fi
+
+ \ifx\xFOfontsizeadjust\empty \else
+ \doifelse\xFOfontsizeadjust{none}
+ {\def\FOfontsizeadjust{1}}
+ {\let\FOfontsizeadjust\xFOfontsizeadjust}
+ \fi
+
+ \ifx\xFOfontfamily\empty \else \ifx\xFOfontfamily\FOfontfamily \else
+ \donetrue \let\FOfontfamily\xFOfontfamily \directsetup{fo:font:family:check}
+ \fi \fi
+ \ifx\xFOfontweight\empty \else \ifx\xFOfontweight\FOfontweight \else
+ \donetrue \let\FOfontweight\xFOfontweight
+ \fi \fi
+ \ifx\xFOfontstyle\empty \else \ifx\xFOfontstyle\FOfontstyle \else
+ \donetrue \let\FOfontstyle\xFOfontstyle
+ \fi \fi
+ \ifx\xFOfontvariant\empty \else \ifx\xFOfontvariant\FOfontvariant \else
+ \donetrue \let\FOfontvariant\xFOfontvariant
+ \fi \fi
+
+ \ifdone
+ \setFOfontname
+ \edef\xFOfontdefinition{\FOfontname\space at \the\dimexpr(\FOfontsizeadjust\dFOfontsize)}
+ \else
+ \edef\xFOfontdefinition{\purefontname{\font} at \the\dimexpr(\FOfontsizeadjust\dFOfontsize)}
+ \fi
+
+ \ifx\FOfontdefinition\xFOfontdefinition \else
+ \let\FOfontdefinition\xFOfontdefinition
+ \expanded{\definedfont[\FOfontdefinition]}
+ \fi
+
+ \edefXMLop\xFOtextdepth {text-depth}
+ \edefXMLop\xFOtextaltitude{text-altitude}
+ \edefXMLop\xFOlineheight {line-height}
+
+ \ifx\xFOtextdepth\empty \else \ifx\xFOtextdepth\FOtextdepth \else
+ \let\FOtextdepth\xFOtextdepth
+ \doifnot\FOtextdepth{use-font-metrics}
+ {\setstrut \dFOdepth=\strutdepth
+ \setpercentdimen\dFOdepth\FOtextdepth
+ \setupinterlinespace[mindepth=\dFOdepth]}
+ \fi \fi
+
+ \ifx\xFOtextaltitude\empty \else \ifx\xFOtextaltitude\FOtextaltitude \else
+ \let\FOtextaltitude\xFOtextaltitude
+ \doifnot\FOtextaltitude{use-font-metrics}
+ {\setstrut \dFOheight=\strutheight
+ \setpercentdimen\dFOheight\FOtextaltitude
+ \setupinterlinespace[minheight=\dFOheight]}
+ \fi \fi
+
+ \ifx\xFOlineheight\empty \else \ifx\xFOlineheight\FOlineheight \else
+ \let\FOlineheight\xFOlineheight
+ \doifnot\FOlineheight{use-font-metrics}
+ {\setstrut \dFOheight=\strutheight
+ \setpercentdimen\dFOheight\FOlineheight
+ \setupinterlinespace[line=\dFOheight]}
+ \fi \fi
+
+\stopsetups
+
+\let\orphanpenalty \clubpenalty
+\let\orphanpenalties\clubpenalties
+
+\newcount\FOwidows \FOwidows =2
+\newcount\FOorphans \FOorphans=2
+
+\mapXMLvalue {fo:hyphens} {false} {\nohyphens}
+\mapXMLvalue {fo:hyphens} {true} {\dohyphens}
+
+\startsetups fo:hyphenation:setup
+
+ \edefXMLinh\xFOhyphenate {hyphenate}
+ \edefXMLinh\xFOwidows {widows}
+ \edefXMLinh\xFOorphans {orphans}
+
+ \ifx\xFOhyphenate\empty \else
+ \XMLval{fo:hyphens}{\xFOhyphenate}\empty
+ \fi
+ \ifx\xFOwidows\empty \else \ifnum\xFOwidows=\FOwidows \else
+ \FOwidows\xFOwidows \setpenalties\widowpenalties\FOwidows\maxdimen
+ \fi \fi
+ \ifx\xFOorphans\empty \else \ifnum\xFOorphans=\FOorphans \else
+ \FOorphans\xFOorphans \setpenalties\clubpenalties\FOorphans\maxdimen
+ \fi \fi
+
+ % hyphenation-character
+
+\stopsetups
+
+%D fo:block-container
+
+% todo: potential optimization: set fonts and spacing at container level
+
+% display-align=,
+% intrusion-displace=,
+% reference-orientation=,
+% writing-mode=,
+
+\defineXMLenvironment
+ [fo:block-container]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:absolute-positioning},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:keeps-and-breaks},
+ block-progression-dimension=,
+ inline-progression-dimension=,
+ clip=,
+ height=,
+ overflow=,
+ span=,
+ width=,
+ z-index=]
+ {\beginXMLelement\directsetup{fo:block-container:start}}
+ {\directsetup{fo:block-container:stop}\endXMLelement}
+
+\mapXMLvalue {fo:block-container:start} {absolute} {\directsetup{fo:block-container:start:pos}}
+\mapXMLvalue {fo:block-container:start} {fixed} {\directsetup{fo:block-container:start:pos}}
+
+\mapXMLvalue {fo:block-container:stop} {absolute} {\directsetup{fo:block-container:stop:pos}}
+\mapXMLvalue {fo:block-container:stop} {fixed} {\directsetup{fo:block-container:stop:pos}}
+
+\startsetups fo:block-container:start
+
+ \XMLval{fo:block-container:start}{\XMLpar{fo:block-container}{absolute-position}{}}{}
+
+ \setFOreference{fo:block-container}
+
+\stopsetups
+
+\startsetups fo:block-container:stop
+
+ \XMLval{fo:block-container:stop}{\XMLpar{fo:block-container}{absolute-position}{}}{}
+
+\stopsetups
+
+% i need to figure out the details (specs are a bit fuzzy)
+
+% replaced, see position
+
+\newdimen\FOcontainerW \newdimen\FOcontainerX \newdimen\FOcontainerL \newdimen\FOcontainerR \newdimen\FOcontainerWW
+\newdimen\FOcontainerH \newdimen\FOcontainerY \newdimen\FOcontainerT \newdimen\FOcontainerB \newdimen\FOcontainerHH
+
+\startsetups fo:block-container:start:pos
+
+ % todo: textwidth -> region dimensions
+
+ \begingroup % \forgetall
+
+ \FOcontainerWW\textwidth
+ \FOcontainerHH\textheight
+ \def\FOlayername{\XMLpar{fo:flow}{flow-name}{xsl-region-body}}
+ \directsetup{fo:preset:layer}
+
+ \setlayer
+ [\XMLpar{fo:flow}{flow-name}{xsl-region-body}]
+ [width=\FOcontainerW,
+ height=\FOcontainerH]
+
+ \bgroup
+
+\stopsetups
+
+\startsetups fo:block-container:stop:pos
+
+ \egroup
+
+ \endgroup
+
+\stopsetups
+
+%D fo:bidi-override
+
+% \XMLattributeset{aural},
+% color=,
+% direction=,
+% letter-spacing=,
+% line-height=,
+% word-spacing=,
+
+\defineXMLenvironment
+ [fo:bidi-override]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:relative-position},
+ score-spaces=,
+ unicode-bidi=]
+ {\beginXMLelement}
+ {\endXMLelement}
+
+% todo
+
+%D fo:character
+
+% \XMLattributeset{fo:aural},
+% color=,
+% glyph-orientation-horizontal=,
+% glyph-orientation-vertical=,
+% line-height=,
+
+\defineXMLsingular
+ [fo:character]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:hyphenation},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ \XMLattributeset{fo:character},
+ alignment-adjust=,
+ baseline-shift=,
+ dominant-baseline=,
+ text-depth=,
+ text-altitude=,
+ keep-with-next=,
+ keep-with-previous=,
+ score-spaces=,
+ visibility=]
+ {\directsetup{fo:character:process}}
+
+\mapXMLvalue {fo:vertical-align} {baseline} {\hbox}
+\mapXMLvalue {fo:vertical-align} {sub} {\low}
+\mapXMLvalue {fo:vertical-align} {super} {\high}
+\mapXMLvalue {fo:vertical-align} {inherit} {\firstofoneargument}
+
+\startsetups fo:character:process
+
+ % border
+ % font
+ % margin
+ % positioning
+ % baseline
+ % color
+ % depth and altitude
+ % keep-with
+ % lineheight
+
+ \dontleavehmode \begingroup
+
+ \directsetup{fe:setup}
+ \directsetup{fo:font:setup}
+
+ \iftracingFO \ruledhbox \else \hbox \fi \bgroup
+
+ \doifsomethingXMLop{vertical-align}
+ {\doifXMLvalelse{fo:vertical-align}{\XMLop{vertical-align}}
+ {\XMLval{fo:vertical-align}{\XMLop{vertical-align}}{}}
+ {\wordshiftamount\lineheight
+ \setpercentdimen\wordshiftamount{\XMLop{vertical-align}}
+ \shiftedword}}
+
+ {\directsetup{fo:character:orient}}
+
+ \egroup \endgroup
+
+\stopsetups
+
+\startsetups fo:character:orient
+
+ \doifsomethingXMLop{glyph-orientation-horizontal}
+ {\rotate[rotation=-\XMLop{glyph-orientation-horizontal}]}
+
+ {\XMLop{character}}
+
+\stopsetups
+
+%D fo:initial-property-set
+
+% \XMLattributeset{fo:aural},
+% color=,
+% letter-spacing=,
+% line-height=,
+% text-transform=,
+% word-spacing=,
+
+\defineXMLprocess
+ [fo:initial-property-set]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:relative-position},
+ score-spaces=,
+ text-decoration=,
+ text-shadow=]
+
+%D fo:external-graphic
+
+\useMPlibrary[dum]
+
+% \XMLattributeset{fo:aural},
+% display-align=,
+% line-height=,
+% text-align=,
+
+\defineXMLenvironmentsave
+ [fo:external-graphic]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ block-progression-dimension=,
+ clip=,
+ content-height=,
+ content-type=,
+ content-width=,
+ dominant-baseline=,
+ height=,
+ inline-progression-dimension=,
+ keep-with-next=,
+ keep-with-previous=,
+ overflow=,
+ scaling=,
+ scaling-method=,
+ src=dummy,
+ width=]
+ {}
+ {\directsetup{fo:external-graphic:process}}
+
+\newdimen\FOgraphicwidth
+\newdimen\FOgraphicheight
+
+\mapXMLvalue {external-graphic:align} {top} {\tbox}
+\mapXMLvalue {external-graphic:align} {bottom} {\bbox}
+\mapXMLvalue {external-graphic:align} {center} {\cbox}
+
+\startsetups fo:external-graphic:process
+
+ \doifelsenothing{\XMLop{content-height}}
+ {\FOgraphicheight\zeropoint}
+ {\doifelse{\XMLop{content-height}}{auto}
+ {\FOgraphicheight\zeropoint}
+ {\FOgraphicheight\lineheight
+ \setpercentdimen\FOgraphicheight{\XMLop{content-height}}}}
+
+ \doifelsenothing{\XMLop{content-width}}
+ {\FOgraphicwidth\zeropoint}
+ {\doifelse{\XMLop{content-width}}{auto}
+ {\FOgraphicheight\zeropoint}
+ {\FOgraphicwidth1em
+ \setpercentdimen\FOgraphicwidth {\XMLop{content-width}}}}
+
+ % leeg maken vars gaat ook goed, dan een \externalfigure
+
+ \setbox\scratchbox\hbox
+ {\ifdim\FOgraphicheight>\zeropoint
+ \ifdim\FOgraphicwidth>\zeropoint
+ \externalfigure[\XMLop{src}][height=\FOgraphicheight,width=\FOgraphicwidth]
+ \else
+ \externalfigure[\XMLop{src}][height=\FOgraphicheight]
+ \fi
+ \else
+ \ifdim\FOgraphicwidth>\zeropoint
+ \externalfigure[\XMLop{src}][width=\FOgraphicwidth]
+ \else
+ \externalfigure[\XMLop{src}]
+ \fi
+ \fi}
+
+ \XMLval{external-graphic:align}{\XMLop{vertical-align}}{}{\box\scratchbox}
+
+\stopsetups
+
+%D fo:instream-foreign-object
+
+% like external-graphic, only no src
+
+% \XMLattributeset{fo:aural},
+% display-align=,
+% line-height=,
+% text-align=,
+
+\defineXMLprocess
+ [fo:instream-foreign-object]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ block-progression-dimension=,
+ clip=,
+ content-height=,
+ content-type=,
+ content-width=,
+ dominant-baseline=,
+ height=,
+ inline-progression-dimension=,
+ keep-with-next=,
+ keep-with-previous=,
+ overflow=,
+ scaling=,
+ scaling-method=,
+ width=]
+
+%D Element: fo:inline
+
+% \XMLattributeset{fo:aural},
+% line-height=,
+% wrap-option=,
+% color=,
+% keep-together=,
+
+\defineXMLnestedenvironmentsave
+ [fo:inline]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ block-progression-dimension=,
+ dominant-baseline=,
+ height=,
+ inline-progression-dimension=,
+ keep-with-next=,
+ keep-with-previous=,
+ text-decoration=,
+ visibility=,
+ width=]
+ {\beginXMLelement}
+ {\directsetup{fo:inline:process}\endXMLelement}
+
+% baseline-shift: baseline sub super % dimen inherit
+
+\chardef\isolatedwordsmode=1
+
+\newdimen\wordshiftamount
+
+\def\shiftedword{\raise\wordshiftamount\hbox}
+
+\def\shiftedwords#1{\processisolatedwords{#1}\shiftedword}
+\def\normalwords #1{\processisolatedwords{#1}\hbox}
+\def\highwords #1{\processisolatedwords{#1}\high}
+\def\lowwords #1{\processisolatedwords{#1}\low}
+
+\mapXMLvalue {fo:baseline-shift} {baseline} {\normalwords}
+\mapXMLvalue {fo:baseline-shift} {sub} {\lowwords}
+\mapXMLvalue {fo:baseline-shift} {super} {\highwords}
+\mapXMLvalue {fo:baseline-shift} {inherit} {\firstofoneargument}
+
+\startsetups fo:inline:process
+
+ \directsetup{fo:position:start}
+
+ \dontleavehmode
+
+ \begingroup
+
+ \directsetup{fe:setup}
+ \directsetup{fo:space:start}
+
+ \begingroup
+
+ \directsetup{fo:hyphenation:setup}
+ \directsetup{fo:font:setup}
+
+ \doifelsenothing{\XMLop{baseline-shift}}
+ {\XMLflushself}
+ {\doifXMLvalelse{fo:baseline-shift}{\XMLop{baseline-shift}}
+ {\XMLval{fo:baseline-shift}{\XMLop{baseline-shift}}{}{\XMLflushself}}
+ {\wordshiftamount\lineheight
+ \setpercentdimen\wordshiftamount{\XMLop{baseline-shift}}
+ \shiftedwords{\XMLflushself}}}
+
+ \endgroup
+
+ \directsetup{fo:space:end}
+
+ \endgroup
+
+ \directsetup{fo:position:stop}
+
+\stopsetups
+
+\startsetups fo:position:start
+ \begingroup
+ \directsetup{fo:position:\XMLop{position}:start}
+ \begingroup
+\stopsetups
+
+\startsetups fo:position:stop
+ \endgroup
+ \directsetup{fo:position:\XMLop{position}:stop}
+ \endgroup
+\stopsetups
+
+\startsetups fo:position:static:start
+\stopsetups
+
+\startsetups fo:position:static:stop
+\stopsetups
+
+\startsetups fo:position:fixed:start
+ \FOcontainerWW\paperwidth
+ \FOcontainerHH\paperheight
+ \def\FOlayername{regions}
+ \directsetup{fo:preset:layer}
+ \setlayer[regions]{\vbox \bgroup \setlocalhsize}
+\stopsetups
+
+\startsetups fo:position:fixed:stop
+ \egroup
+\stopsetups
+
+\positioningpartrue \positioningtrue
+
+\startsetups fo:position:absolute:start
+ \setbox\FOpositionbox\hbox\bgroup
+\stopsetups
+
+\startsetups fo:position:absolute:stop
+ \egroup
+ % evt uitstellen tot otr, zodat text/realfolio is solved
+ \edef\FOpartag{p:\parposcounter}
+ \edef\FOtxttag{text:\realfolio}
+ \FOcontainerWW\MPplus\FOpartag{1}{0pt}
+ \FOcontainerHH\zeropoint % todo: add anchors to each 'object'
+ \directsetup{fo:preset:position}
+ \setlayer
+ [xsl-region-body]
+ [preset=lefttop,
+ hoffset=\dimexpr(\MPx\FOtxttag-\MPx\FOpartag),
+ voffset=\dimexpr(\MPy\FOtxttag+\MPh\FOtxttag-\MPy\FOpartag-\MPh\FOpartag)]
+ {\iftracingFO \ruledhbox \bgroup \fi
+ \offset
+ [method=fixed,
+ leftoffset=\FOcontainerL,
+ rightoffset=\FOcontainerR,
+ topoffset=\FOcontainerT,
+ bottomoffset=\FOcontainerB]
+ {\box\FOpositionbox}
+ \iftracingFO \egroup \fi}
+\stopsetups
+
+\newbox\FOpositionbox
+
+\startsetups fo:position:relative:start
+ \setbox\FOpositionbox\hbox\bgroup
+\stopsetups
+
+\startsetups fo:position:relative:stop
+ \egroup
+ \FOcontainerWW\wd\FOpositionbox
+ \FOcontainerHH\dimexpr(\ht\FOpositionbox+\dp\FOpositionbox)
+ \directsetup{fo:preset:position}
+ \iftracingFO \ruledhbox \bgroup \fi
+ \offset
+ [method=fixed,
+ leftoffset=\FOcontainerL,
+ rightoffset=\FOcontainerR,
+ topoffset=\FOcontainerT,
+ bottomoffset=\FOcontainerB]
+ {\box\FOpositionbox}
+ \iftracingFO \egroup \fi
+\stopsetups
+
+%
+
+\startsetups fo:preset:position
+
+ \FOcontainerW\zeropoint \FOcontainerL\zeropoint \FOcontainerR\zeropoint
+ \FOcontainerH\zeropoint \FOcontainerT\zeropoint \FOcontainerB\zeropoint
+
+ \doifnot{\XMLop{left}} {auto}{\FOcontainerL\FOcontainerWW\setpercentdimen\FOcontainerL{\XMLop{left}}}
+ \doifnot{\XMLop{right}} {auto}{\FOcontainerR\FOcontainerWW\setpercentdimen\FOcontainerR{\XMLop{right}}}
+ \doifnot{\XMLop{top}} {auto}{\FOcontainerT\FOcontainerHH\setpercentdimen\FOcontainerT{\XMLop{top}}}
+ \doifnot{\XMLop{bottom}}{auto}{\FOcontainerB\FOcontainerHH\setpercentdimen\FOcontainerB{\XMLop{bottom}}}
+
+ \doifnot{\XMLop{width}} {auto}{\FOcontainerW\FOcontainerWW\setpercentdimen\FOcontainerW{\XMLop{width}}}
+ \doifnot{\XMLop{height}}{auto}{\FOcontainerH\FOcontainerHH\setpercentdimen\FOcontainerH{\XMLop{height}}}
+
+\stopsetups
+
+\startsetups fo:preset:layer
+
+ \directsetup{fo:preset:position}
+
+ \setuplayer
+ [\FOlayername]
+ [width=\FOcontainerWW,
+ height=\FOcontainerHH]
+
+ \ifzeropt\FOcontainerW
+ \FOcontainerW\dimexpr(\FOcontainerWW-\FOcontainerL-\FOcontainerR)
+ \fi
+ \ifzeropt\FOcontainerH
+ \FOcontainerH\dimexpr(\FOcontainerHH-\FOcontainerT-\FOcontainerB)
+ \fi
+
+ \ifzeropt\FOcontainerB
+ \ifzeropt\FOcontainerL
+ \setuplayer[\FOlayername][preset=righttop, x=\FOcontainerR,y=\FOcontainerT]
+ \else
+ \setuplayer[\FOlayername][preset=lefttop, x=\FOcontainerL,y=\FOcontainerT]
+ \fi
+ \else
+ \ifzeropt\FOcontainerL
+ \setuplayer[\FOlayername][preset=rightbottom,x=\FOcontainerR,y=\FOcontainerB]
+ \else
+ \setuplayer[\FOlayername][preset=leftbottom, x=\FOcontainerL,y=\FOcontainerB]
+ \fi
+ \fi
+
+\stopsetups
+
+%D Element: fo:inline-container
+
+% display-align=,
+% line-height=,
+% reference-orientation=,
+% writing-mode=,
+% keep-together=,
+
+\defineXMLenvironment
+ [fo:inline-container]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ block-progression-dimension=,
+ clip=,
+ dominant-baseline=,
+ height=,
+ inline-progression-dimension=,
+ keep-with-next=,
+ keep-with-previous=,
+ overflow=,
+ width=]
+ {\beginXMLelement\begingroup}
+ {\endgroup\endXMLelement}
+
+%D Element: fo:leader
+
+% also a kind of fake fill
+
+% \XMLattributeset{fo:aural},
+% color=,
+% line-height=,
+% word-spacing=,
+
+\defineXMLenvironmentsave
+ [fo:leader]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ \XMLattributeset{fo:leader-and-rule},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ dominant-baseline=,
+ text-depth=,
+ text-altitude=,
+ keep-with-next=,
+ keep-with-previous=,
+ letter-spacing=,
+ text-shadow=,
+ visibility=]
+ {\beginXMLelement}
+ {\directsetup{fo:leader:process}\endXMLelement}
+
+\mapXMLvalue {fo:leader-pattern} {space} {\hfill}
+\mapXMLvalue {fo:leader-pattern} {dots} {.}
+\mapXMLvalue {fo:leader-pattern} {rule} {\hrulefill}
+\mapXMLvalue {fo:leader-pattern} {use-content} {\XMLflushself}
+
+% todo: speed up
+
+\startsetups fo:leader:process
+
+ % \tracebackXMLattribute{leader-pattern-width}
+
+ \strut \leaders
+
+% \hbox to \XMLop{leader-pattern-width}
+% {\hss\XMLval{fo:leader-pattern}{\XMLop{leader-pattern}}{\hfill}\hss}
+
+ \hbox to \XMLinh{leader-pattern-width}
+ {\hss\XMLval{fo:leader-pattern}{\XMLinh{leader-pattern}}{\hfill}\hss}
+
+ \hfill \strut
+
+\stopsetups
+
+%D Element: fo:pagenumber
+
+% \XMLattributeset{fo:aural},
+% line-height=,
+% wrap-option=,
+% letter-spacing=,
+% text-transform=,
+% word-spacing=,
+
+\defineXMLsingular
+ [fo:page-number]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ dominant-baseline=,
+ keep-with-next=,
+ keep-with-previous=,
+ score-spaces=,
+ text-altitude=,
+ text-decoration=,
+ text-depth=,
+ text-shadow=,
+ visibility=]
+ {\directsetup{fo:page-number:process}}
+
+\newcount\FOpnrefcounter
+
+\startsetups fo:page-number:process
+
+ \doifelsenothing{\XMLpar{fo:page-sequence}{format}{}}
+ {\pagenumber}
+ {\ifinotr
+ \globallet\FOpnrefnumber\folio
+ \else
+ \global\advance\FOpnrefcounter\plusone
+ \pagereference[pnref:\the\FOpnrefcounter]%
+ \doifreferencefoundelse{pnref:\the\FOpnrefcounter}
+ {\globallet\FOpnrefnumber\currentfolioreference}%
+ {\globallet\FOpnrefnumber\folio}%
+ \fi
+ \expanded{\handletokens\XMLpar{fo:page-sequence}{format}{}}\with{\handleFOformat{\FOpnrefnumber}}}
+
+\stopsetups
+
+\def\handleFOformat#1#2%
+ {\convertargument#2\to\ascii
+ \doifconversiondefinedelse\ascii{\convertnumber\ascii{#1}}{#2}}
+
+%D Element: fo:pagenumber-citation
+
+% same as page-number
+
+% \XMLattributeset{fo:aural},
+% line-height=,
+% wrap-option=,
+% letter-spacing=,
+% text-transform=,
+% word-spacing=,
+
+\defineXMLsingular
+ [fo:page-number-citation]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ ref-id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:font},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ dominant-baseline=,
+ keep-with-next=,
+ keep-with-previous=,
+ score-spaces=,
+ text-altitude=,
+ text-decoration=,
+ text-depth=,
+ text-shadow=,
+ visibility=]
+ {\directsetup{fo:page-number-citation:process}}
+
+\startsetups fo:page-number-citation:process
+
+ \doifreferencefoundelse{\XMLop{ref-id}}
+ {\globallet\FOpnrefnumber\currentfolioreference
+ \globallet\FOpnrefformat\currenttextreference}
+ {\gdef\FOpnrefnumber{?}
+ \gdef\FOpnrefformat{}}
+
+ \doifelsenothing{\FOpnrefformat}
+ {\FOpnrefnumber}
+ {\expanded{\handletokens\FOpnrefformat}\with{\handleFOformat{\FOpnrefnumber}}}
+
+\stopsetups
+
+%D Element: fo:table-and-caption
+
+% \XMLattributeset{fo:aural},
+% text-align=,
+% caption-side=,
+% intrusion-displace=,
+% keep-together=,
+
+\defineXMLenvironment
+ [fo:table-and-caption]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:relative-position},
+ break-after=,
+ break-before=,
+ keep-with-next=,
+ keep-with-previous=]
+ {\beginXMLelement}
+ {\endXMLelement}
+
+%D Element: fo:table fo:table-caption fo:table-header fo:table-footer
+%D to:table-column fo:table-body fo:table-row fo:table-cell
+
+% \XMLattributeset{fo:aural},
+% border-collapse=,
+% border-separation=,
+% intrusion-displace=,
+% keep-together=,
+% writing-mode=,
+
+\defineXMLenvironment
+ [fo:table]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:relative-position},
+ block-progression-dimension=,
+ border-after-precedence=,
+ border-before-precedence=,
+ border-start-precedence=,
+ border-end-precedence=,
+ break-after=,
+ break-before=,
+ inline-progression-dimension=,
+ height=,
+ keep-with-next=,
+ keep-with-previous=,
+ table-layout=,
+ table-omit-footer-at-break=,
+ table-omit-header-at-break=,
+ width=]
+ {\beginXMLelement
+ \bTABLE % [option=stretch] %
+ \newcounter\FOtablecolumn}
+ {\eTABLE
+ \endXMLelement}
+
+\newdimen\FOtableW
+
+\defineXMLsingular
+ [fo:table-column]
+ [\XMLattributeset{fo:inherited},
+ \XMLattributeset{fo:border-padding-background}, % only background, not the rest, make subset
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ column-width=,
+ column-number=,
+ number-columns-repeated=,
+ number-columns-spanned=,
+ visibility=]
+ {\doifelsenothing{\XMLop{column-number}}
+ {\increment\FOtablecolumn}
+ {\edef\FOtablecolumn{\XMLop{column-number}}%
+ \expanded{\setupTABLE[column][\FOtablecolumn][n=\FOtablecolumn]}}%
+ \doifsomething{\XMLop{column-width}}
+ {\setlocalhsize\FOtableW\localhsize
+ \setpercentdimen\FOtableW{\XMLop{column-width}}%
+ \expanded{\setupTABLE[column][\FOtablecolumn][width=\FOtableW]}}}
+
+% \XMLattributeset{fo:aural},
+% intrusion-displace=,
+% keep-together=,
+
+\defineXMLprocess
+ [fo:table-caption]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ block-progression-dimension=,
+ height=,
+ inline-progression-dimension=,
+ width=]
+
+% \XMLattributeset{fo:aural},
+
+\defineXMLnested
+ [fo:table-header]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ visibility=]
+ {\beginXMLelement\bTABLEfoot}
+ {\eTABLEfoot\endXMLelement}
+
+% \XMLattributeset{fo:aural},
+
+\defineXMLnested
+ [fo:table-footer]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ visibility=]
+ {\beginXMLelement\bTABLEhead}
+ {\eTABLEhead\endXMLelement}
+
+% \XMLattributeset{fo:aural},
+
+\defineXMLnested
+ [fo:table-body]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ visibility=]
+ {\beginXMLelement\bTABLEbody}
+ {\eTABLEbody\endXMLelement}
+
+% TODO: when stretch and when not
+
+% \XMLattributeset{fo:aural},
+% keep-together=,
+
+\defineXMLnested
+ [fo:table-row]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ break-after=,
+ break-before=,
+ height=,
+ keep-with-next=,
+ keep-with-previous=,
+ visibility=]
+ {\beginXMLelement\bTR}
+ {\eTR\endXMLelement}
+
+% \XMLattributeset{fo:aural},
+% display-align=,
+% relative-align=,
+% empty-cells=,
+
+\defineXMLnested
+ [fo:table-cell]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:relative-position},
+ border-after-precedence=,
+ border-before-precedence=,
+ border-end-precedence=,
+ border-start-precedence=,
+ column-number=,
+ ends-row=,
+ height=,
+ inline-progression-dimension=,
+ number-columns-spanned=1,
+ number-rows-spanned=1,
+ starts-row=,
+ width=]
+ {\doif{\XMLop{starts-row}}{true}{\bTR}%
+ \doifelsenothing{\XMLop{background-color}}
+ {\let\FoTableBG\empty}
+ {\checkhexcolor[\XMLop{background-color}]%
+ \doifcolorelse{\XMLop{background-color}}
+ {\def\FoTableBG{color}}
+ {\setXMLpar{fo:table-cell}{background-color}{}%
+ \let\FoTableBG\empty}}%
+ \expanded{\bTD[nx=\XMLop{number-columns-spanned},ny=\XMLop{number-rows-spanned},%
+ offset=\XMLop{padding},n=\XMLop{column-number},
+ align={normal,lohi},background=\FoTableBG,backgroundcolor=\XMLop{background-color}]}%
+ % better as align=...
+ \setups{fo:align:setup}%
+ \ignorespaces}
+ {\removeunwantedspaces
+ \eTD
+ \doif{\XMLop{ends-row}}{true}{\eTR}}
+
+%D Element: fo:list-block fo:list-item fo:list-body fo:list-item-label
+
+% \XMLattributeset{fo:aural},
+% intrusion-displace=,
+% keep-together=,
+% provisional-distance-between-starts=24pt,
+% provisional-label-separation=6pt,
+
+\defineXMLenvironment
+ [fo:list-block]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:relative-position},
+ break-after=,
+ break-before=,
+ keep-with-next=,
+ keep-with-previous=,
+ space-between-list-rows=] % ? mentioned in bradley
+ {\beginXMLelement\directsetup{fo:list:start}}
+ {\directsetup{fo:list:stop}\endXMLelement}
+
+\startsetups fo:list:start
+ \endgraf
+ \begingroup
+ \directsetup{fe:setup}
+ \disablemode[fo:in-list]
+ % \forgetall, no!
+ \directsetup{fo:space:before}
+ \begingroup
+\stopsetups
+
+\startsetups fo:list:stop
+ \endgraf
+ \endgroup
+ \directsetup{fo:space:after}
+ \endgroup
+\stopsetups
+
+% \XMLattributeset{fo:aural},
+% relative-align=,
+% intrusion-displace=,
+% keep-together=,
+
+\defineXMLenvironment
+ [fo:list-item]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-block},
+ \XMLattributeset{fo:relative-position},
+ break-after=,
+ break-before=,
+ keep-with-next=,
+ keep-with-previous=]
+ {\beginXMLelement\directsetup{fo:list-item:start}}
+ {\directsetup{fo:list-item:stop}\endXMLelement}
+
+% check what is needed
+
+\newdimen\FOlistitemlabelhsize \newdimen\FOlistitembodyhsize
+\newdimen\FOlistitemlabelleftskip \newdimen\FOlistitembodyleftskip
+\newdimen\FOlistitemlabelrightskip \newdimen\FOlistitembodyrightskip
+
+% keep-together=,
+
+\defineXMLnestedsave
+ [fo:list-item-body]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility}]
+
+% keep-together=,
+
+\defineXMLnestedsave
+ [fo:list-item-label]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility}]
+
+\startsetups fo:list-item:start
+
+ \bgroup
+
+ \startmode[fo:in-list]
+
+ \doifsomething{\XMLpar{fo:list-block}{space-between-list-rows}{}}
+ {\vskip\XMLpar{fo:list-block}{space-between-list-rows}{}} % todo ! ! ! !
+
+ \stopmode
+
+ \enablemode[fo:in-list]
+
+\stopsetups
+
+\startsetups fo:list-item:stop
+
+ % 24 pt en 6pt in fo:root instellen
+
+ \edefXMLinh \FOprodis {provisional-distance-between-starts}
+ \edefXMLinh \FOprolab {provisional-label-separation}
+
+ \FOlistitemlabelhsize \ifx\FOprodis\empty 24pt\else \FOprodis\fi
+ \FOlistitemlabelrightskip\ifx\FOprolab\empty 6pt\else \FOprolab\fi
+
+ \edefXMLinh \FOstartindent {start-indent}
+ \edefXMLinh \FOendindent {end-indent}
+
+% \FOlistitemlabelleftskip \ifx\FOstartindent\empty 0pt\else \FOstartindent\fi
+% \FOlistitembodyrightskip \ifx\FOendindent \empty 0pt\else \FOendindent \fi
+
+ \advance\leftskip \FOlistitemlabelleftskip
+ \advance\leftskip \FOlistitemlabelhsize
+ \advance\leftskip \FOlistitemlabelrightskip
+
+ \advance\rightskip\FOlistitembodyrightskip
+
+ \setupparagraphintro[first][\directsetup{fo:list-item-label:process}]
+ \setupparagraphintro[next] [\begstrut\resetpenalties\clubpenalties]
+ \XMLflush{fo:list-item-body}\endstrut
+
+ \egroup
+
+\stopsetups
+
+\newbox\FOitembox
+
+\startsetups fo:list-item-label:process
+
+ \setbox \FOitembox \iftracingFO \ruledvtop \else \vtop \fi \bgroup
+ \forgetall
+ \postponefootnotes
+ \hsize\FOlistitemlabelhsize
+ \XMLflush{fo:list-item-label}
+ \egroup
+ \getnoflines{\dimexpr(\ht\FOitembox+\dp\FOitembox)}
+ \setpenalties\clubpenalties\noflines\maxdimen
+ \strut\llap{\box\FOitembox\hskip\FOlistitemlabelrightskip}
+
+\stopsetups
+
+% \setlocalhsize \hsize\localhsize
+
+%D Element: fo:basic-link
+
+% \XMLattributeset{fo:aural},
+% keep-together=,
+% line-height=,
+
+\defineXMLenvironmentsave
+ [fo:basic-link]
+ [\XMLattributeset{fo:inherited},
+ id=,
+ \XMLattributeset{fo:accessibility},
+ \XMLattributeset{fo:border-padding-background},
+ \XMLattributeset{fo:margin-inline},
+ \XMLattributeset{fo:relative-position},
+ alignment-adjust=,
+ alignment-baseline=,
+ baseline-shift=,
+ destination-placement-offset=,
+ dominant-baseline=,
+ external-destination=,
+ indicate-destination=,
+ internal-destination=,
+ keep-with-next=,
+ keep-with-previous=,
+ show-destination=,
+ target-processing-context=,
+ target-presentation-context=,
+ target-stylesheet=]
+ {}
+ {\directsetup{fo:basic-link}}
+
+\startsetups fo:basic-link
+
+ \goto{\XMLflushself}[unknown]
+
+\stopsetups
+
+%D Element: fo:multi-switch fo:multi-case fo:multi-toggle fo:multi-properties fo:multi-property-set
+
+\defineXMLprocess[fo:multi-switch]
+\defineXMLprocess[fo:multi-case]
+\defineXMLprocess[fo:multi-toggle]
+\defineXMLprocess[fo:multi-properties]
+\defineXMLprocess[fo:multi-property-set]
+
+%D Element: fo:float
+
+\defineXMLenvironmentsave
+ [fo:float]
+ [\XMLattributeset{fo:inherited},
+ float=before,
+ clear=]
+ {}
+ {\directsetup{fo:float:process}}
+
+% clear: start end left right both none inherit
+% float: before start end left right none
+
+\mapXMLvalue {fo:float-position} {before} {here} % todo
+\mapXMLvalue {fo:float-position} {start} {here} % todo
+\mapXMLvalue {fo:float-position} {end} {here} % todo
+\mapXMLvalue {fo:float-position} {left} {left}
+\mapXMLvalue {fo:float-position} {right} {right}
+\mapXMLvalue {fo:float-position} {none} {here} % todo
+
+\startsetups fo:float:process
+
+ \placefigure
+ [\XMLval{fo:float-position}{\XMLop{float}},none]
+ {}
+ {\XMLflushself}
+
+\stopsetups
+
+%D Element: fo:footnote fo:footnote-body
+
+% Let's assume that 'whatever' contains the number or footnote marker.
+%
+% <fo:footnote>whatever<fo:footnote-body>note</fo:footnote-body></fo:footnote>
+
+% todo xsl-footnote area
+
+\defineXMLprocess
+ [fo:footnote]
+ [\XMLattributeset{fo:accessibility}]
+
+\defineXMLargument
+ [fo:footnote-body]
+ [\XMLattributeset{fo:accessibility}]
+ {\footnote[-]}
+
+%D Element: fo:wrapper
+
+\defineXMLenvironment % todo: all inheritable
+ [fo:wrapper]
+ [\XMLattributeset{fo:inherited},\XMLattributeset{fe:tracing},
+ \XMLattributeset{fo:fonts},
+ \XMLattributeset{fo:hyphenation}]
+ {\beginXMLelement\begingroup\directsetup{fo:wrapper}}
+ {\endgroup\endXMLelement}
+
+\startsetups fo:wrapper
+
+ \directsetup{fe:setup}
+ \directsetup{fo:hyphenation:setup}
+ \directsetup{fo:font:setup}
+
+\stopsetups
+
+%D Element: fo:marker fo:retrieve-marker
+
+% In order to support 'retrieve-boundary' (page, page-sequence,
+% document) I need to extend the context mark handler.
+
+% This object will probably interfere with a too spacy layout since
+% it is unaware if its surrounding.
+
+\defineXMLenvironmentsave
+ [fo:marker]
+ [marker-class-name=unknown]
+ {}
+ {\directsetup{fo:marker:process}}
+
+\startsetups fo:marker:process
+
+ \doifmarkingelse{fo:\XMLop{marker-class-name}}
+ {} {\definerawmarking[fo:\XMLop{marker-class-name}]}
+
+ \expanded{\marking[fo:\XMLop{marker-class-name}]{\XMLflushself}}
+
+\stopsetups
+
+\defineXMLcommand
+ [fo:retrieve-marker]
+ [retrieve-class-name=unknown,
+ retrieve-position=first-starting-within-page,
+ retrieve-boundary=]
+ {\directsetup{fo:retrieve-marker:process}}
+
+\mapXMLvalue {fo:marker-position} {first-starting-within-page} {first} % first mark
+\mapXMLvalue {fo:marker-position} {first-including-carryover} {previous} % top mark
+\mapXMLvalue {fo:marker-position} {last-starting-within-page} {first} % dunno
+\mapXMLvalue {fo:marker-position} {last-ending-within-page} {last} % bot mark
+
+\startsetups fo:retrieve-marker:process
+
+ \expanded{\getmarking
+ [fo:\XMLop{retrieve-class-name}]
+ [\XMLval{fo:marker-position}{\XMLop{retrieve-position}}{first}]}
+
+\stopsetups
+
+%D Auxiliary macros
+
+\unprotect
+
+\def\noFOchecks#1\od{}
+
+\def\FOassignskip#1#2#3%
+ {\edef\!!stringa{\XMLpar{#1}{#2}\empty}%
+ \edef\!!stringb{\XMLpar{#1}{#2.optimum}\empty}%
+ \edef\!!stringc{\XMLpar{#1}{#2.minimum}\empty}%
+ \edef\!!stringd{\XMLpar{#1}{#2.maximum}\empty}%
+ \dimen0=\ifx\!!stringa\empty\zeropoint\else\!!stringa\fi
+ \dimen2=\ifx\!!stringb\empty\dimen0 \else\!!stringb\fi
+ \dimen4=\dimexpr(\ifx\!!stringd\empty\dimen0 \else\!!stringd\fi-\dimen2)\relax
+ \dimen6=\dimexpr(\ifx\!!stringc\empty\dimen0 \else\!!stringc\fi-\dimen2)\relax
+ #3=\dimen2 \ifzeropt\dimen4 \else\!!plus\dimen4 \fi\ifzeropt\dimen6 \else\!!minus\dimen6 \fi\relax}
+
+\mapXMLvalue{fo:space:conditionality} {retain} {\let\next\retainedskip }
+\mapXMLvalue{fo:space:conditionality} {discard} {\let\next\discardedskip}
+\mapXMLvalue{fo:space:conditionality} {} {\let\next\discardedskip}
+
+\mapXMLvalue{fo:space:precedence} {force} {\let\next\forcedskip}
+
+\def\FOdoskip#1#2%
+ {\begingroup
+ \iftracingFO\showskips\fi
+ \FOassignskip{#1}{#2}\scratchskip
+ \XMLval{fo:space:conditionality}{\XMLpar{#1}{#2.conditionality}\empty}\empty
+ \XMLval{fo:space:precedence}{\XMLpar{#1}{#2.precedence}\empty}\empty
+ \ifdim\scratchskip=\zeropoint
+ \ifdim\gluestretch\scratchskip=\zeropoint
+ \ifdim\glueshrink\scratchskip=\zeropoint
+ \let\next\gobbleoneargument
+ \fi
+ \fi
+ \fi
+ \next\scratchskip
+ \endgroup}
+
+\def\doFObeforeskip#1{\FOdoskip{#1}{space-before}}
+\def\doFOafterskip #1{\FOdoskip{#1}{space-after}}
+
+\def\FOassignspace#1#2#3%
+ {\edef\!!stringa{\XMLpar{#1}{#2}\empty}%
+ \ifx\!!stringa\empty
+ #3=\zeropoint
+ \else
+ #3=1em% ?
+ \setpercentdimen#3\!!stringa
+ \fi
+ \relax}
+
+\def\FOdospace#1#2%
+ {\begingroup
+ \iftracingFO\showskips\fi
+ \FOassignspace{#1}{#2}\scratchskip
+ \ifdim\scratchskip=\zeropoint \else
+ \hskip\scratchskip
+ \fi
+ \endgroup}
+
+\def\doFOstartspace#1{\FOdospace{#1}{space-start}}
+\def\doFOendspace #1{\FOdospace{#1}{space-end}}
+
+\def\checkFOborder#1#2%
+ {\edef\FOattribute{\XMLpar{#1}{border-#2}\empty}%
+ \ifx\FOattribute\empty\else
+ \edef\FOtag{#1}%
+ \edef\FOatt{border-#2}%
+ \expanded{\docheckFOborder\FOattribute\space\relax\space\relax}\od
+ \fi}
+
+\def\docheckFOborder#1#2 #3%
+ {\ifx#1\relax
+ \expandafter\noFOchecks
+ \else
+ \doifhexcolorelse{#1#2}
+ {\setXMLpar\FOtag{\FOatt-color}{#1#2}}
+ {\doifelsenothing{\XMLval{fo:border-style}{#1#2}\empty}
+ {\doifcolorelse{#1#2}
+ {\setXMLpar\FOtag{\FOatt-color}{#1#2}}
+ {\setXMLpar\FOtag{\FOatt-width}{#1#2}}}
+ {\setXMLpar\FOtag{\FOatt-style}{#1#2}}}%
+ \expandafter\docheckFOborder
+ \fi#3}
+
+\def\checkFOposition#1#2%
+ {\edef\FOattribute{\XMLpar{#1}{#2-position}\empty}%
+ \ifx\FOattribute\empty\else
+ \edef\FOtag{#1}%
+ \edef\FOatt{#2-position}%
+ \scratchcounter\zerocount
+ \expanded{\docheckFOposition\FOattribute\space\relax\space\relax}\od
+ \fi}
+
+\def\docheckFOposition#1#2 #3%
+ {\ifx#1\relax
+ \expandafter\noFOchecks
+ \else
+ \advance\scratchcounter\plusone
+ \ifcase\scratchcounter
+ \or
+ \setXMLpar\FOtag{\FOatt-vertical}{#1#2}%
+ \or
+ \setXMLpar\FOtag{\FOatt-horizontal}{#1#2}%
+ \fi
+ \expandafter\docheckFOposition
+ \fi#3}
+
+\def\checkFOpadding#1%
+ {\edef\FOattribute{\XMLpar{#1}{padding}\empty}%
+ \ifx\FOattribute\empty\else
+ \edef\FOtag{#1}%
+ \edef\FOatt{padding}%
+ \scratchcounter\zerocount
+ \expanded{\docheckFOpadding\FOattribute\space\relax\space\relax}\od
+ \fi}
+
+\def\docheckFOpadding#1#2 #3%
+ {\ifx#1\relax
+ \expandafter\noFOchecks
+ \else
+ \advance\scratchcounter\plusone
+ \ifcase\scratchcounter
+ \or
+ \setXMLpar\FOtag{\FOatt-top}{#1#2}%
+ \or
+ \setXMLpar\FOtag{\FOatt-bottom}{#1#2}%
+ \or
+ \setXMLpar\FOtag{\FOatt-left}{#1#2}%
+ \or
+ \setXMLpar\FOtag{\FOatt-right}{#1#2}%
+ \fi
+ \expandafter\docheckFOpadding
+ \fi#3}
+
+% \def\setFOimagename#1%
+% {\edef\FOimagename{#1}%
+% \aftersplitstring \FOimagename\at url('\to\xFOimagename
+% \ifx\xFOimagename\empty \else
+% \beforesplitstring\xFOimagename\at ')\to\FOimagename
+% \fi
+% \aftersplitstring \FOimagename\at url("\to\xFOimagename
+% \ifx\xFOimagename\empty \else
+% \beforesplitstring\xFOimagename\at ")\to\FOimagename
+% \fi}
+%
+% let's overkill:
+
+\def\setFOimagename#1%
+ {\analyzefunction{#1}%
+ \doifelse\functionname{url}
+ {\edef\FOimagename{\@EA\unstringed\functionA}}
+ {\ifx\functionname\empty
+ \def\FOimagename{#1}%
+ \else
+ \def\FOimagename{dummy}%
+ \fi}}
+
+% font
+
+\mapXMLvalue {fo:weight} {normal} {}
+\mapXMLvalue {fo:weight} {bold} {bold}
+\mapXMLvalue {fo:weight} {bolder} {bold}
+\mapXMLvalue {fo:weight} {lighter} {normal}
+\mapXMLvalue {fo:weight} {100} {normal}
+\mapXMLvalue {fo:weight} {200} {normal}
+\mapXMLvalue {fo:weight} {300} {normal}
+\mapXMLvalue {fo:weight} {400} {normal}
+\mapXMLvalue {fo:weight} {500} {normal}
+\mapXMLvalue {fo:weight} {600} {normal}
+\mapXMLvalue {fo:weight} {700} {normal}
+\mapXMLvalue {fo:weight} {800} {normal}
+\mapXMLvalue {fo:weight} {900} {normal}
+
+\mapXMLvalue {fo:variant} {normal} {}
+\mapXMLvalue {fo:variant} {small-caps} {small-caps}
+
+\mapXMLvalue {fo:style} {normal} {normal}
+\mapXMLvalue {fo:style} {italic} {italic}
+\mapXMLvalue {fo:style} {oblique} {oblique}
+\mapXMLvalue {fo:style} {backslant} {normal}
+
+% we can get crap like: 10pt/1.5 bold "Times Roman" ; i'm really puzzled why an
+% otherwise rather verbose coding occasionally packs attributes; a design flaw
+
+\unprotect
+
+\newtoks\FOfonttoks
+
+\def\checkFOfontSS#1'{}
+\def\checkFOfontDD#1"{}
+\def\checkFOfontII#1 {}
+
+\bgroup
+\catcode`\'=\active
+\catcode`\"=\active
+\catcode`\/=\active
+\gdef\setcheckFOfontX
+ {\catcode`\'=\active
+ \catcode`\"=\active
+ \catcode`\/=\active
+ \def'##1'{\global\FOfonttoks\expandafter{\the\FOfonttoks\def\FOfontfamily{##1}}}%
+ \def"##1"{\global\FOfonttoks\expandafter{\the\FOfonttoks\def\FOfontfamily{##1}}}%
+ \def/##1 {}}% todo linespacing
+\gdef\setcheckFOfontXX
+ {\catcode`\'=\active
+ \catcode`\"=\active
+ \catcode`\/=\active
+ \def'##1'{}%
+ \def"##1"{}%
+ \def/##1 {}}% todo linespacing
+\egroup
+
+\def\checkFOfont#1%
+ {\FOfonttoks\emptytoks
+ \bgroup
+ \catcode`\\=\@@escape
+ \catcode`\{=\@@begingroup
+ \catcode`\}=\@@endgroup
+ \setcheckFOfontX
+ \xdef\xFOattribute{#1 }%
+ \setbox\scratchbox\hbox{\scantokens\@EA{\xFOattribute}}%
+ \setcheckFOfontXX
+ \scantokens\@EA{\@EA\xdef\@EA\xFOattribute\@EA{\xFOattribute}}%
+ \egroup
+ \the\FOfonttoks
+ \ifx\xFOattribute\empty\else
+ \expanded{\docheckFOfont\xFOattribute\space\relax\space\relax}\od
+ \fi
+ \directsetup{fo:font:family:check}}
+
+\def\docheckFOfont#1#2 #3%
+ {\ifx#1\relax
+ \expandafter\noFOchecks
+ \else
+ \directsetup{fo:fonts:reset}%
+ \doifelsefontsynonym{#1#2}
+ {\def\FOfontfamily{#1#2}}
+ {\doifelsenothing{\XMLval{fo:weight}{#1#2}{}}
+ {\doifelsenothing{\XMLval{fo:variant}{#1#2}{}}
+ {\doifelsenothing{\XMLval{fo:style}{#1#2}{}}
+ {\setpercentdimen\FOfontsize{#1#2}}
+ {\edef\FOfontstyle{\XMLval{fo:style}{#1#2}{}}}}
+ {\edef\FOfontvariant{\XMLval{fo:variant}{#1#2}{}}}}
+ {\edef\FOfontweight{\XMLval{fo:weight}{#1#2}{}}}}%
+ \expandafter\docheckFOfont
+ \fi#3}
+
+\protect
+
+\newtoks\FOreferences
+
+\def\setFOreference#1%
+ {\doifsomething{\XMLpar{#1}{id}{}}
+ {\expanded{\appendtoks
+ \noexpand\reference[\XMLpar{#1}{id}{}]{\XMLpar{fo:page-sequence}{format}{}}}%
+ \to\FOreferences}}
+
+\def\flushFOreferences
+ {\the\FOreferences
+ \global\FOreferences\emptytoks}
+
+\appendtoks \flushFOreferences \to \everypar
+\appendtoks \flushFOreferences \to \neverypar % check !
+
+\protect
+
+%D Graphics: static frames
+
+% can become mp-foeg
+
+\startMPinclusions
+ FoNone := 0 ; FoHidden := 1 ; FoDotted := 2 ; FoDashed := 3 ; FoSolid := 4 ;
+ FoDouble := 5 ; FoGroove := 6 ; FoRidge := 7 ; FoInset := 8 ; FoOutset := 9 ;
+ FoAll := 0 ; FoTop := 1 ; FoBottom := 2 ; FoLeft := 3 ; FoRight := 4 ;
+ FoMedium := .5pt ; FoThin := FoMedium/2 ; FoThick := FoMedium*2 ;
+ color FoBackgroundColor, FoNoColor, FoLineColor[] ; FoNoColor := (-1,-1,-1) ;
+ numeric FoLineWidth[], FoLineStyle[] ;
+ boolean FoFrame, FoBackground, FoSplit ;
+ FoFrame := FoBackground := FoSplit := false ;
+ FoBackgroundColor := white ;
+ FoDashFactor := .5 ;
+ FoDotFactor := .375 ;
+ for i = FoAll upto FoRight :
+ FoLineColor[i] := black ;
+ FoLineWidth[i] := .5pt ;
+ FoLineStyle[i] := FoNone ;
+ endfor ;
+ def DrawFoFrame(expr n, p) =
+ drawoptions(withcolor FoLineColor[n] withpen pencircle scaled FoLineWidth[n]) ;
+ if FoLineStyle[n] = FoNone :
+ % nothing
+ elseif FoLineStyle[n] = FoHidden :
+ % nothing
+ elseif FoLineStyle[n] = FoDotted :
+ draw p dashed (withdots scaled (FoDotFactor*FoLineWidth[n])) ;
+ elseif FoLineStyle[n] = FoDashed :
+ draw p dashed (evenly scaled (FoDashFactor*FoLineWidth[n])) ;
+ elseif FoLineStyle[n] = FoSolid :
+ draw p ;
+ elseif FoLineStyle[n] = FoDouble :
+ draw p enlarged FoLineWidth[n] ; draw p enlarged -FoLineWidth[n] ;
+ elseif FoLineStyle[n] = FoGroove :
+ draw p ;
+ draw p withpen pencircle scaled .5FoLineWidth[n] withcolor (inverted FoLineColor[n] softened .5) ;
+ elseif FoLineStyle[n] = FoRidge :
+ draw p withcolor (inverted FoLineColor[n] softened .5) ;
+ draw p withpen pencircle scaled .5FoLineWidth[n] ;
+ elseif FoLineStyle[n] = FoInset :
+ draw p ; draw p inset 2.5FoLineWidth[n] ;
+ elseif FoLineStyle[n] = FoOutset :
+ draw p ; draw p outset 2.5FoLineWidth[n] ;
+ fi ;
+ enddef ;
+ primarydef p outset d =
+ ((lrcorner p -- urcorner p -- ulcorner p -- llcorner p -- cycle)
+ shifted (d*(-1,1)) cutbefore topboundary p) cutafter leftboundary p
+ enddef ;
+ primarydef p inset d =
+ ((ulcorner p -- llcorner p -- lrcorner p -- urcorner p -- cycle)
+ shifted (d*(1,-1)) cutbefore bottomboundary p) cutafter rightboundary p
+ enddef ;
+ vardef equalpaths(expr p, q) =
+ if length(p) = length(q) :
+ save ok ; boolean ok ; ok := true ;
+ for i = 0 upto length(p)-1 :
+ ok := ok and (round(point i of p) = round(point i of q)) ;
+ endfor ;
+ ok
+ else :
+ false
+ fi
+ enddef ;
+\stopMPinclusions
+
+\def\unknownMPcolor{FoNoColor}
+
+% todo: combine into one en alleen tweede run, immers toch geen invloed; is
+% aangezien de referentiepunten vast liggen
+
+\def\FoRegionWidth#1%
+ {\XMLpav
+ {fo:border-width}
+ {fo:region-\MPvar{location}}
+ {border-#1-width}
+ {FoMedium}}
+
+\def\FoRegionStyle#1%
+ {\XMLpav
+ {fo:border-style}
+ {fo:region-\MPvar{location}}
+ {border-#1-style}
+ {FoNone}}
+
+\def\FoRegionColor#1%
+ {\MPcolor{\XMLpar
+ {fo:region-\MPvar{location}}
+ {border-#1-color}
+ {black}}}
+
+\def\FoRegionBackgroundColor
+ {\MPcolor{\XMLpar
+ {fo:region-\MPvar{location}}
+ {background-color}
+ {FoNoColor}}}
+
+% todo: when connected and same color : one draw
+
+\startuseMPgraphic{region-do}
+ FoBackgroundColor := \FoRegionBackgroundColor ;
+ FoLineColor[FoTop] := \FoRegionColor{top} ;
+ FoLineColor[FoBottom] := \FoRegionColor{bottom} ;
+ FoLineColor[FoLeft] := \FoRegionColor{left} ;
+ FoLineColor[FoRight] := \FoRegionColor{right} ;
+ FoLineStyle[FoTop] := \FoRegionStyle{top} ;
+ FoLineStyle[FoBottom] := \FoRegionStyle{bottom} ;
+ FoLineStyle[FoLeft] := \FoRegionStyle{left} ;
+ FoLineStyle[FoRight] := \FoRegionStyle{right} ;
+ FoLineWidth[FoTop] := \FoRegionWidth{top} ;
+ FoLineWidth[FoBottom] := \FoRegionWidth{bottom} ;
+ FoLineWidth[FoLeft] := \FoRegionWidth{left} ;
+ FoLineWidth[FoRight] := \FoRegionWidth{right} ;
+ if FoBackgroundColor <> FoNoColor :
+ fill OverlayBox
+ withcolor FoBackgroundColor ;
+ fi ;
+ path OverlayFrameBox ;
+ interim linecap := butt ;
+ OverlayFrameBox := OverlayBox
+ topenlarged -.5FoLineWidth[FoTop]
+ bottomenlarged -.5FoLineWidth[FoBottom]
+ leftenlarged -.5FoLineWidth[FoLeft]
+ rightenlarged -.5FoLineWidth[FoRight] ;
+ DrawFoFrame(FoTop, topboundary OverlayFrameBox) ;
+ DrawFoFrame(FoBottom, bottomboundary OverlayFrameBox) ;
+ DrawFoFrame(FoLeft, leftboundary OverlayFrameBox) ;
+ DrawFoFrame(FoRight, rightboundary OverlayFrameBox) ;
+\stopuseMPgraphic
+
+\startuseMPgraphic{region-body} \includeMPgraphic{region-do} \stopuseMPgraphic
+\startuseMPgraphic{region-before} \includeMPgraphic{region-do} \stopuseMPgraphic
+\startuseMPgraphic{region-after} \includeMPgraphic{region-do} \stopuseMPgraphic
+\startuseMPgraphic{region-start} \includeMPgraphic{region-do} \stopuseMPgraphic
+\startuseMPgraphic{region-end} \includeMPgraphic{region-do} \stopuseMPgraphic
+
+\defineoverlay[region-body-graphic] [\useMPgraphic{region-body}{location=body}]
+\defineoverlay[region-before-graphic][\useMPgraphic{region-before}{location=before}]
+\defineoverlay[region-after-graphic] [\useMPgraphic{region-after}{location=after}]
+\defineoverlay[region-start-graphic] [\useMPgraphic{region-start}{location=start}]
+\defineoverlay[region-end-graphic] [\useMPgraphic{region-end}{location=end}]
+
+% more efficient: todo: relocate and move to page background
+
+% \def\FoRegionWidth#1#2%
+% {\XMLpav
+% {fo:border-width}
+% {fo:region-#2}
+% {border-#1-width}
+% {FoMedium}}
+
+% \def\FoRegionStyle#1#2%
+% {\XMLpav
+% {fo:border-style}
+% {fo:region-#2}
+% {border-#1-style}
+% {FoNone}}
+
+% \def\FoRegionColor#1#2%
+% {\MPcolor{\XMLpar
+% {fo:region-#2}
+% {border-#1-color}
+% {black}}}
+
+% \def\FoRegionBackgroundColor#1%
+% {\MPcolor{\XMLpar
+% {fo:region-#1}
+% {background-color}
+% {FoNoColor}}}
+
+% \def\combinedFOgraphic#1%
+% {FoBackgroundColor := \FoRegionBackgroundColor{#1} ;
+% FoLineColor[FoTop] := \FoRegionColor{top}{#1} ;
+% FoLineColor[FoBottom] := \FoRegionColor{bottom}{#1} ;
+% FoLineColor[FoLeft] := \FoRegionColor{left}{#1} ;
+% FoLineColor[FoRight] := \FoRegionColor{right}{#1} ;
+% FoLineStyle[FoTop] := \FoRegionStyle{top}{#1} ;
+% FoLineStyle[FoBottom] := \FoRegionStyle{bottom}{#1} ;
+% FoLineStyle[FoLeft] := \FoRegionStyle{left}{#1} ;
+% FoLineStyle[FoRight] := \FoRegionStyle{right}{#1} ;
+% FoLineWidth[FoTop] := \FoRegionWidth{top}{#1} ;
+% FoLineWidth[FoBottom] := \FoRegionWidth{bottom}{#1} ;
+% FoLineWidth[FoLeft] := \FoRegionWidth{left}{#1} ;
+% FoLineWidth[FoRight] := \FoRegionWidth{right}{#1} ;
+% if FoBackgroundColor <> FoNoColor :
+% fill OverlayBox
+% withcolor FoBackgroundColor ;
+% fi ;
+% path OverlayFrameBox ;
+% interim linecap := butt ;
+% OverlayFrameBox := OverlayBox
+% topenlarged -.5FoLineWidth[FoTop]
+% bottomenlarged -.5FoLineWidth[FoBottom]
+% leftenlarged -.5FoLineWidth[FoLeft]
+% rightenlarged -.5FoLineWidth[FoRight] ;
+% DrawFoFrame(FoTop, topboundary OverlayFrameBox) ;
+% DrawFoFrame(FoBottom, bottomboundary OverlayFrameBox) ;
+% DrawFoFrame(FoLeft, leftboundary OverlayFrameBox) ;
+% DrawFoFrame(FoRight, rightboundary OverlayFrameBox) ;}
+
+% \startuseMPgraphic{region-body}
+% \combinedFOgraphic{before}
+% \combinedFOgraphic{body}
+% \combinedFOgraphic{after}
+% \combinedFOgraphic{start}
+% \combinedFOgraphic{end}
+% \stopuseMPgraphic
+
+% \defineoverlay[region-body-graphic] [\useMPgraphic{region-body}{location=body}]
+% \defineoverlay[region-before-graphic][]
+% \defineoverlay[region-after-graphic] []
+% \defineoverlay[region-start-graphic] []
+% \defineoverlay[region-end-graphic] []
+
+\stopXMLcompiling
+
+\protect \endinput
+
+% we can follow two approaches: set the attributes global, using
+%
+% \defineXML...[tag][prefix][empty]
+%
+% in that case we trust the fo-file to be correct, i.e. the xslt style
+% sheets should not put attributes in the wrong places; however, we need
+% to do that with care, since for instance the attributes of some objects
+% (regions) are used mixed
+%
+% \defineXMLprocess [fo:root] [XMLFO] [test=unset]
+%
+% \defineXMLenvironment [fo:block-container] [XMLFO]
+% {\begingroup}
+% {\endgroup}
+%
+% \defineXMLenvironment [fo:block] [XMLFO]
+% {\begingroup\getXMLparameters[XMLFO]\begingroup}
+% {\endgroup\XMLFOtest\endgraf\endgroup}
+%
+% \startXMLdata
+% <fo:root>
+% <fo:block-container test='first'><fo:block test='second'>second:</fo:block></fo:block-container>
+% <fo:block>unset:</fo:block>
+% <fo:block test='outer'><fo:block test='nested'>nested:</fo:block>outer:</fo:block>
+% <fo:block test='last'>last:</fo:block>
+% </fo:root>
+% \stopXMLdata
+%
+% the other approach is to set the attributes explicitly for each
+% element, which is slower but more robust
+%
+% A mix is:
+%
+% \defineXMLenvironment
+% [fo:root]
+% [test=unset]
+% {\beginXMLelement}
+% {\endXMLelement}
+%
+% \defineXMLenvironment
+% [fo:block-container]
+% [test=\XMLpar\XMLpureparent{test}{}]
+% {\beginXMLelement}
+% {\endXMLelement}
+%
+% \defineXMLenvironment
+% [fo:block]
+% [test=\XMLpar\XMLpureparent{test}{}]
+% {\beginXMLelement
+% \begingroup}
+% {\endgroup
+% \XMLpar{fo:block}{test}{}
+% \endXMLelement}
+%
+% \startXMLdata
+% <fo:root>
+% <fo:block-container test='first'><fo:block test='second'>second:</fo:block></fo:block-container>
+% <fo:block>unset:</fo:block>
+% <fo:block test='outer'><fo:block test='nested'>nested:</fo:block>outer:</fo:block>
+% <fo:block test='last'>last:</fo:block>
+% </fo:root>
+% \stopXMLdata
diff --git a/tex/context/base/x-foxet.tex b/tex/context/base/x-foxet.tex
new file mode 100644
index 000000000..e58d93c60
--- /dev/null
+++ b/tex/context/base/x-foxet.tex
@@ -0,0 +1,13 @@
+%D This is just a shortcut for:
+
+% fo = basic formatting objects
+% fe = basic formatting extensions
+% fx = extra formatting objects
+% fu = user formatting objects
+% fs = setup
+
+\usemodule[fo,fe,fx,fu,fs,mathml]
+
+% \autoXMLnamespace[mml,mm,mathml]
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/x-mathml.tex b/tex/context/base/x-mathml.tex
index 54ad91edc..031be0f69 100644
--- a/tex/context/base/x-mathml.tex
+++ b/tex/context/base/x-mathml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-mathml,
+%D [ file=m-mathml,
%D version=1999.12.20,
%D title=\CONTEXT\ XML Modules,
%D subtitle=Loading \MATHML\ Filters,
diff --git a/tex/context/base/x-physml.tex b/tex/context/base/x-physml.tex
index e82801a93..7f6a94642 100644
--- a/tex/context/base/x-physml.tex
+++ b/tex/context/base/x-physml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-physml,
+%D [ file=m-physml,
%D version=2001.09.04,
%D title=\CONTEXT\ XML Modules,
%D subtitle=Loading PHYSML Filters,
diff --git a/tex/context/base/x-res-00.tex b/tex/context/base/x-res-00.tex
index be4eca9b8..46a278768 100644
--- a/tex/context/base/x-res-00.tex
+++ b/tex/context/base/x-res-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-res-00,
+%D [ file=x-res-00,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Resource Libraries,
diff --git a/tex/context/base/x-res-01.tex b/tex/context/base/x-res-01.tex
index 574196a86..181641332 100644
--- a/tex/context/base/x-res-01.tex
+++ b/tex/context/base/x-res-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-01,
+%D [ file=x-fig-01,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Generation,
diff --git a/tex/context/base/x-res-02.tex b/tex/context/base/x-res-02.tex
index 99102afb7..a29f446f3 100644
--- a/tex/context/base/x-res-02.tex
+++ b/tex/context/base/x-res-02.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-res-02,
+%D [ file=x-res-02,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Inclusion (I),
diff --git a/tex/context/base/x-res-03.tex b/tex/context/base/x-res-03.tex
index 8cf5fe92a..bf5ea226c 100644
--- a/tex/context/base/x-res-03.tex
+++ b/tex/context/base/x-res-03.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-03,
+%D [ file=x-fig-03,
%D version=2001.03.21,
%D title=\CONTEXT\ Style File,
%D subtitle=Figure Base Inclusion (II),
diff --git a/tex/context/base/x-res-04.tex b/tex/context/base/x-res-04.tex
index de7882639..0a2747a67 100644
--- a/tex/context/base/x-res-04.tex
+++ b/tex/context/base/x-res-04.tex
@@ -1,5 +1,18 @@
+%D \module
+%D [ file=x-fig-04,
+%D version=2001.03.21,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Figure Base Loading,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
% hele base laden
-
+
\setXMLfallbackmode3
% icon : preview
@@ -13,20 +26,7 @@
% applet
% application
-%D \module
-%D [ filefile=x-fig-04,
-%D version=2001.03.21,
-%D title=\CONTEXT\ Style File,
-%D subtitle=Figure Base Loading,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\usemodule[res-00] % basic element definitions
+\usemodule[res-00] % basic element definitions
%D This module implements an interface to a figure database
%D and file. The database is formatted in \XML\ conforming
@@ -111,7 +111,7 @@
\newcounter\figurefilepage
-% loading a complete figure base
+% loading a complete figure base
\startXMLmapping[rl:load]
@@ -122,7 +122,7 @@
\figbase@savedata{\XMLflush{rl:label}}\figurefilepage
\egroup}
-\stopXMLmapping
+\stopXMLmapping
\def\loadfigurebase#1%
{\doifnotflagged{rl:#1}
@@ -133,14 +133,14 @@
\doglobal\newcounter\figurefilepage
\processXMLfilegrouped{#1.xml}
\stopXMLmapping
- \doglobal\setflag{rl:#1}
+ \doglobal\setflag{rl:#1}
\stopnointerference}}
-\def\figbase@savedata#1#2%
+\def\figbase@savedata#1#2%
{%\writestatus{figbase}{data of #1 loaded}%
\doglobal\saveXMLdatastructure{rl:rl:#1}{record}{page="#2"}{}{rl:figure}{}}
-% locating and if needed loading one figure record
+% locating and if needed loading one figure record
\startXMLmapping[rl:find]
@@ -157,14 +157,14 @@
{\XMLflush{rl:figure}
\doglobal\increment\figurefilepage
\doif\askedlabel{\XMLflush{rl:label}}
- {\ifnum\figurebasemode=\plusone % load used ones
+ {\ifnum\figurebasemode=\plusone % load used ones
\figbase@savedata\askedlabel\figurefilepage
\fi
\doglobal\saveXMLdata{rl:l:manipulation}{rl:manipulation}%
\xdef\figurefilelabel {\XMLflush{rl:label}}%
\xdef\figurefilefile {\XMLflush{rl:file}}%
\xdef\figurefileoriginal{\XMLflush{rl:original}}%
- \xdef\figurefilename {\XMLflush{rl:file}}
+ \xdef\figurefilename {\XMLflush{rl:file}}
\endinput}%
\egroup}
@@ -173,7 +173,7 @@
{\xdef\figurefilename{\XMLpop{rl:file}}
\xdef\figurefilepage{\XMLop {page}}}
-\stopXMLmapping
+\stopXMLmapping
\def\getfigurefilename#1#2%
{\ifnum\figurebasemode=\plustwo \loadfigurebase{#1} \fi
@@ -191,8 +191,8 @@
\stopXMLmapping
\stopnointerference}
-% todo: niet toegekende naam doorgeven aan calculate en pad
-% in padstring
+% todo: niet toegekende naam doorgeven aan calculate en pad
+% in padstring
\def\dogetfigurefilename#1%
{\ifx\figurefilename\empty
@@ -236,7 +236,7 @@
\def\docommando##1%
{\getfigurefilename{##1}{#3}%
\ifx\figurefilename\empty\else
- \gdef\figurefilelabel{#3}%
+ \gdef\figurefilelabel{#3}%
\quitcommalist
\fi}%
\processcommacommand[\figurebaselist]\docommando
@@ -250,15 +250,15 @@
\normalcalculateexternalfigure
[#1][#2][\figurefilebase.pdf]%
[\c!pagina=\figurefilepage,#4][#5][#6]}
- {\@EA\stripspaces\@EA\from\figurefilename\to\figurefilename
+ {\@EA\stripspaces\@EA\from\figurefilename\to\figurefilename
\normalcalculateexternalfigure
[#1][#2][\figurefilename][#4][#5][#6]}%
\fi
\fi}
-% management
+% management
-% will become \useresourcelibrary
+% will become \useresourcelibrary
\def\usefigurebase[#1]%
{\doifelse{#1}\v!reset
@@ -269,11 +269,11 @@
\resetfigurefilebase
-% manipulations / todo: fixed order
+% manipulations / todo: fixed order
-\defineXMLsave [rl:manipulation]
+\defineXMLsave [rl:manipulation]
-\defineXMLsingular [rl:background] [r=0,g=0,b=0,s=0,c=0,m=0,y=0,k=0]
+\defineXMLsingular [rl:background] [r=0,g=0,b=0,s=0,c=0,m=0,y=0,k=0]
{\global\setbox\foundexternalfigure\vbox
{\definecolor
[XMLRLcolor]
@@ -286,7 +286,7 @@
\defineXMLsingular [rl:viewport] [\??cp] % []
{\global\setbox\foundexternalfigure\vbox
- {\expandXMLta \getXMLta
+ {\expandXMLta \getXMLta
\clip
[\XMLta]
{\box\foundexternalfigure}}%
diff --git a/tex/context/base/x-res-08.tex b/tex/context/base/x-res-08.tex
index 994775cc9..74f8a7068 100644
--- a/tex/context/base/x-res-08.tex
+++ b/tex/context/base/x-res-08.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-08,
+%D [ file=x-fig-08,
%D version=2002.06.27,
%D title=\CONTEXT\ Style File,
%D subtitle=Resource Reporting,
diff --git a/tex/context/base/x-res-09.tex b/tex/context/base/x-res-09.tex
index 1502effa0..608236156 100644
--- a/tex/context/base/x-res-09.tex
+++ b/tex/context/base/x-res-09.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-09,
+%D [ file=x-fig-09,
%D version=2002.06.27,
%D title=\CONTEXT\ Style File,
%D subtitle=Resource Reporting (2),
diff --git a/tex/context/base/x-res-10.tex b/tex/context/base/x-res-10.tex
index 94d3acb67..f23c50358 100644
--- a/tex/context/base/x-res-10.tex
+++ b/tex/context/base/x-res-10.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-10,
+%D [ file=x-fig-10,
%D version=2003.08.02,
%D title=\CONTEXT\ Style File,
%D subtitle=Resource Dummy Generation,
diff --git a/tex/context/base/x-res-11.tex b/tex/context/base/x-res-11.tex
index 2f0052d66..b8569d22e 100644
--- a/tex/context/base/x-res-11.tex
+++ b/tex/context/base/x-res-11.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-fig-11,
+%D [ file=x-fig-11,
%D version=2003.02.08,
%D title=\CONTEXT\ Style File,
%D subtitle=Resource Reporting (3),
diff --git a/tex/context/base/x-res-50.tex b/tex/context/base/x-res-50.tex
index 086dc0f68..382256fd4 100644
--- a/tex/context/base/x-res-50.tex
+++ b/tex/context/base/x-res-50.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-res-50,
+%D [ file=x-res-50,
%D version=2004.02.18,
%D title=\CONTEXT\ Style File,
%D subtitle=Multimedia Presentation,
diff --git a/tex/context/base/x-sch-00.tex b/tex/context/base/x-sch-00.tex
index 9504d3056..97b266d5e 100644
--- a/tex/context/base/x-sch-00.tex
+++ b/tex/context/base/x-sch-00.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-sch-00,
+%D [ file=x-sch-00,
%D version=2001.10.02,
%D title=\CONTEXT\ Style File,
%D subtitle=XML Schema Basics,
diff --git a/tex/context/base/x-sch-01.tex b/tex/context/base/x-sch-01.tex
index 22626d30f..d72cbf89c 100644
--- a/tex/context/base/x-sch-01.tex
+++ b/tex/context/base/x-sch-01.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=x-sch-01,
+%D [ file=x-sch-01,
%D version=2001.10.04,
%D title=\CONTEXT\ Style File,
%D subtitle=XML Schema Presentation,
diff --git a/tex/context/base/x-xml-01.tex b/tex/context/base/x-xml-01.tex
index b2571b266..a8259d737 100644
--- a/tex/context/base/x-xml-01.tex
+++ b/tex/context/base/x-xml-01.tex
@@ -1,7 +1,5 @@
-% output=pdftex modes=packed
-
%D \module
-%D [ filefile=x-xml-01,
+%D [ file=x-xml-01,
%D version=2001.10.10,
%D title=\CONTEXT\ XML Style File,
%D subtitle=Formatting X?? files,
diff --git a/tex/context/base/x-xml-02.tex b/tex/context/base/x-xml-02.tex
index d05314155..8411cdef5 100644
--- a/tex/context/base/x-xml-02.tex
+++ b/tex/context/base/x-xml-02.tex
@@ -1,22 +1,20 @@
-% output=pdftex modes=letter
-
%D \module
-%D [ filefile=x-xml-02,
+%D [ file=x-xml-02,
%D version=2001.10.10,
%D title=\CONTEXT\ XML Style File,
-%D subtitle=Pretty Printing,
+%D subtitle=Pretty Printing,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
% texexec --use=xml-pretty yourfile.x** [--mode=letter]
-\doifnothing {\inputfilename} {\end}
-\doiffileelse {\inputfilename} {} {\end}
+\doifnothing {\inputfilename} {\end}
+\doiffileelse {\inputfilename} {} {\end}
\startmode[letter]
\setuppapersize[letter][letter]
@@ -44,7 +42,7 @@
[10pt,tt]
\setuptolerance
- [verytolerant]
+ [verytolerant]
\setupalign
[broad,right]
@@ -57,14 +55,14 @@
\setupfootertexts
[\currentdate\space\string| \currenttime\space \string| \pagenumber]
-% let's have a look at the type of content:
+% let's have a look at the type of content:
\setupXMLfile
[level=2]
\startmode[*suffix-xml]
- % ok
-\stopmode
+ % ok
+\stopmode
\startmode[*suffix-rng]
\showXMLlin[value]
@@ -72,7 +70,7 @@
\startmode[*suffix-rlg]
\showXMLlin
- [rl:type,rl:state,rl:name,rl:suffix,rl:label,rl:file,rl:original,
+ [rl:type,rl:state,rl:name,rl:suffix,rl:label,rl:file,rl:original,
rl:width,rl:height,rl:base,rl:page]
\stopmode
@@ -89,4 +87,4 @@
\showXMLfile{\inputfilename}
-\stoptext
+\stoptext
diff --git a/tex/context/base/xtag-ent.tex b/tex/context/base/xtag-ent.tex
index 15c412390..edb437ea5 100644
--- a/tex/context/base/xtag-ent.tex
+++ b/tex/context/base/xtag-ent.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-ent,
+%D [ file=xtag-ent,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=A bunch of Entities,
diff --git a/tex/context/base/xtag-exp.tex b/tex/context/base/xtag-exp.tex
index 9efb02453..fbcaf07f4 100644
--- a/tex/context/base/xtag-exp.tex
+++ b/tex/context/base/xtag-exp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-exp,
+%D [ file=xtag-exp,
%D version=2001.08.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Expansion Related Things,
diff --git a/tex/context/base/xtag-ext.tex b/tex/context/base/xtag-ext.tex
index 242cdb721..3427efb30 100644
--- a/tex/context/base/xtag-ext.tex
+++ b/tex/context/base/xtag-ext.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-ext,
+%D [ file=xtag-ext,
%D version=2001.03.21,
%D title=\CONTEXT\ XML Support,
%D subtitle=Extra Macros,
diff --git a/tex/context/base/xtag-hyp.tex b/tex/context/base/xtag-hyp.tex
index d364b6d67..a805be9d1 100644
--- a/tex/context/base/xtag-hyp.tex
+++ b/tex/context/base/xtag-hyp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-hyp,
+%D [ file=xtag-hyp,
%D version=2003.11.24,
%D title=\CONTEXT\ XML Support,
%D subtitle=hyphenation support,
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex
index 4efbc037c..ee876b1a8 100644
--- a/tex/context/base/xtag-ini.tex
+++ b/tex/context/base/xtag-ini.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-ini,
+%D [ file=xtag-ini,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Initialization,
@@ -2456,8 +2456,8 @@
\expandafter#3\!!XMLattr#6}%
\processcommalist[#1]\dodefineXMLhandlers}
-\def\XMLpav#1#2#3#4% #4 useless
- {\XMLval{#1}{\XMLpar{#2}{#3}{}}{\XMLpar{#2}{#3}{#4}}}
+\def\XMLpav#1#2#3#4%
+ {\XMLval{#1}{\XMLpar{#2}{#3}{}}{#4}}
%D A few weird ones:
diff --git a/tex/context/base/xtag-map.tex b/tex/context/base/xtag-map.tex
index 26565996b..eeaeb27f0 100644
--- a/tex/context/base/xtag-map.tex
+++ b/tex/context/base/xtag-map.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-map,
+%D [ file=xtag-map,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Remapping,
@@ -13,8 +13,8 @@
%D There is a more versatile mapper available in \type {xtag-rem.tex}!
-%D We also need something that lets content as-is, like for
-%D instance XML embedded in a chemical caption.
+%D We also need something that lets content as-is, like for
+%D instance XML embedded in a chemical caption.
\beginTEX
\endinput
@@ -46,15 +46,15 @@
\let\normalparseXMLprocess\parseXMLprocess
\let\normaldoXMLelement \doXMLelement
-\let\normaldoXMLentity \doXMLentity
+\let\normaldoXMLentity \doXMLentity
\def\setnormalXMLhandler
{\let\doXMLelement \normaldoXMLelement
\let\parseXMLelement\normalparseXMLelement
- \let\parseXMLescape \normalparseXMLescape
+ \let\parseXMLescape \normalparseXMLescape
\let\parseXMLprocess\normalparseXMLprocess
- \let\doXMLentity \normaldoXMLentity}
-
+ \let\doXMLentity \normaldoXMLentity}
+
%D A careful reader will notice that we do a full expansion of
%D the content of the element, although commands that are
%D protected will stay untouched. In this stage we also
@@ -124,13 +124,13 @@
% \def\remapXMLunknownONE#1#2% name args
% {\ifremapXMLunknown\remapXMLone{\s!unknown}{#1 #2}\fi}
-%
+%
% \def\remapXMLunknownTWO#1#2% name args
% {\ifremapXMLunknown\remapXMLtwo{\s!unknown}{#1 #2}\fi}
-%
+%
% \def\remapXMLunknownTHREE#1#2% name args
% {\ifremapXMLunknown\remapXMLthree{\s!unknown/}{#1 #2}\fi}
-%
+%
% \long\def\remapXMLelement#1#2 #3>#4% todo: we need to get rid of the end /
% {\ifcase\findendofXMLelement#2#3>%
% \if#1/%
@@ -373,7 +373,7 @@
\def\remapXMLentity#1;#2%
{\doremapXMLentity{#1}#2}%
-\def\doremapXMLentity%
+\def\doremapXMLentity
{\xmlrent}
\unexpanded\def\xmlrent#1%
@@ -417,15 +417,15 @@
\long\def\XMLremapdata%
{\dosingleempty\doXMLremapdata}
-\long\def\doXMLremapdata[#1]#2#3#4%
+\long\def\doXMLremapdata[#1]#2#3#4%
{\bgroup
\startXMLmapping[#1]%
% enable unknown elements (should be macro)
\doifsomething{#1}
- {\doifdefinedelse{\@@XML#1:\s!unknown:M}
- {\remapXMLunknowntrue}{\remapXMLunknownfalse}}%
- %
- \pushmacro\doXMLentity % needed ?
+ {\doifdefinedelse{\@@XML#1:\s!unknown:M}
+ {\remapXMLunknowntrue}{\remapXMLunknownfalse}}%
+ %
+ \pushmacro\doXMLentity % needed ?
% this will change, proper split in element itself
\ifx\currentXMLnamespace\empty
\let\parseXMLelement\remapXMLelement
@@ -453,7 +453,7 @@
\catcode`\^^Z=\@@space
\xdef\remappedXMLdata{#4\empty}%
\let\par\endgraf
- \popmacro\doXMLentity % needed ?
+ \popmacro\doXMLentity % needed ?
\disableXMLexpansion
\catcode`\{=\@@begingroup
\catcode`\}=\@@endgroup
@@ -692,12 +692,12 @@
\gdef\unmapXMLdata#1#2% todo: singular, evt ##2 space ervoor en ##1##2
{\bgroup
\revertXMLremapping
- \expandXMLremapping % now we can roll back
- \setnormalXMLhandler % using the normal parser
+ \expandXMLremapping % now we can roll back
+ \setnormalXMLhandler % using the normal parser
\resetXMLmapping % and leaving the mapping namespace
- \xdef\unmappedXMLdata{#2}% recreate the original
- \enableXMLelements % enable normal handler
- \unmappedXMLdata % off we go ...
+ \xdef\unmappedXMLdata{#2}% recreate the original
+ \enableXMLelements % enable normal handler
+ \unmappedXMLdata % off we go ...
\egroup}
\egroup
diff --git a/tex/context/base/xtag-mmc.tex b/tex/context/base/xtag-mmc.tex
index c8623487f..7e6c1f778 100644
--- a/tex/context/base/xtag-mmc.tex
+++ b/tex/context/base/xtag-mmc.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-mmc,
+%D [ file=xtag-mmc,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Math ML,
@@ -46,8 +46,8 @@
\setupMMLappearance[polar][\c!alternative=\v!a] % a|b|c
\def\MMLcpolar#1%
- {\doifdefinedelse{MMLcdopolar\@@MMLpolarvariant}
- {\getvalue{MMLcdopolar\@@MMLpolarvariant}{#1}}
+ {\doifdefinedelse{MMLcdopolar\@@MMLpolaralternative}
+ {\getvalue{MMLcdopolar\@@MMLpolaralternative}{#1}}
{#1}}
\def\MMLcdopolara#1%
@@ -69,7 +69,7 @@
\setupMMLappearance[float][\c!symbol=\v!no] % \v!yes|dot
\def\MMLcfloat#1%
- {\doifelse\@@MMLfloatsymbool\v!no
+ {\doifelse\@@MMLfloatsymbol\v!no
{{\rm#1}} % make sure that e shows up ok
{% we should ignore \entities !
\beforesplitstring#1\at e\to\first
@@ -77,7 +77,7 @@
\ifx\first\empty #1\else
\ifx\last \empty #1\else
\first
- \doifelse\@@MMLfloatsymbool{dot}\cdot\times
+ \doifelse\@@MMLfloatsymbol{dot}\cdot\times
10^{\last}%
\fi\fi}}
@@ -86,11 +86,11 @@
\setupMMLappearance[enotation][\c!symbol=\v!no] % \v!yes|dot
\def\MMLcenotation#1%
- {\doifelse\@@MMLenotationsymbool\v!no
+ {\doifelse\@@MMLenotationsymbol\v!no
{\def\MMLcsep%
{\unskip{\rm e}\ignorespaces}}
{\def\MMLcsep##1\empty
- {\doifelse\@@MMLenotationsymbool{dot}\cdot\times10^{##1}}}%
+ {\doifelse\@@MMLenotationsymbol{dot}\cdot\times10^{##1}}}%
#1\empty}
\def\MMLcCI#1% #2% can be sped up with \doifundefined ...
@@ -161,11 +161,11 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcCNinteger#1%
{\doifXMLparelse{cn}{base}
{\def\MMLcCNbase{\XMLpar{cn}{base}{}}%
- \doifelse\@@MMLbasesymbool\v!no
+ \doifelse\@@MMLbasesymbol\v!no
{\MMLcCNbasedata{#1}}
{\MMLcCNbasedata{#1}_{\hbox{$\rm\scriptscriptstyle
\processaction
- [\@@MMLbasesymbool]
+ [\@@MMLbasesymbol]
[\v!characters=>\MMLcCNbasestring BODH,
\v!text=>\MMLcCNbasestring{BIN}{OCT}{DEC}{HEX},
\s!unknown=>\MMLcCNbase]$}}}}
@@ -349,7 +349,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\setupMMLappearance[declare][\c!state=\v!start]
\def\MMLcDECLARE#1#2%
- {\doif\@@MMLdeclarestatus\v!start
+ {\doif\@@MMLdeclarestate\v!start
{\withnextXMLRelement
{\getXMLentity{declare}\nextXMLRelement
\countXMLRchildren{#2}%
@@ -365,7 +365,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\setupMMLappearance[lambda][\c!alternative=b]
\def\MMLcLAMBDA#1#2%
- {\doifelse\@@MMLlambdavariant\v!a
+ {\doifelse\@@MMLlambdaalternative\v!a
{\encapsulateXMLR{\getXMLentity{lambda}(}{\MMLccomma}{)}{#2}}
{\countXMLRchild{bvar}{#2}%
\ifnum\nofXMLRchildren>1
@@ -415,7 +415,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcPIECEWISE#1#2%
{\cases{#2}}
-%\def\MMLcPIECE#1#2% \@@MMLpiecescheider
+%\def\MMLcPIECE#1#2% \@@MMLpieceseparator
% {\withnexttwoXMLRelements
% {\@EA\XMLRtoks\@EA{\firstXMLRelement\@col@amp@}%
% \@EA\appendtoks\@EA\mathematics\@EA{\secondXMLRelement}\to\XMLRtoks
@@ -425,7 +425,7 @@ complex-cartesian=>\let\next\MMLccartesian,
%\def\MMLcOTHERWISE#1#2%
% {#2\@col@amp@\mathematics{\getXMLentity{otherwise}}\crcr}
-\def\MMLcPIECEseparator{\doif\@@MMLpiecescheider\v!yes,}
+\def\MMLcPIECEseparator{\doif\@@MMLpieceseparator\v!yes,}
\def\MMLcPIECE#1#2%
{\withnexttwoXMLRelements
@@ -456,7 +456,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcDIVIDE#1#2%
{\withnexttwoXMLRelements
{\increment\MMLcDIVIDElevel
- \ifnum\MMLcDIVIDElevel>\@@MMLdivideniveau\space
+ \ifnum\MMLcDIVIDElevel>\@@MMLdividelevel\space
\firstXMLRelement/\secondXMLRelement
\else
\frac{\MMLcreset\firstXMLRelement}{\MMLcreset\secondXMLRelement}%
@@ -482,11 +482,11 @@ complex-cartesian=>\let\next\MMLccartesian,
\setupMMLappearance[sign][\c!reduction=\v!yes]
\def\MMLcMINUS % expandafter needed ?
- {\doifelse\@@MMLsignreductie\v!yes
+ {\doifelse\@@MMLsignreduction\v!yes
{\expandafter\MMLcMINUSyes}{\expandafter\MMLcMINUSno}}
\def\MMLcPLUS % expandafter needed ?
- {\doifelse\@@MMLsignreductie\v!yes
+ {\doifelse\@@MMLsignreduction\v!yes
{\expandafter\MMLcPLUSyes}{\expandafter\MMLcPLUSno}}
\def\MMLcMINUSno#1#2#3\empty
@@ -524,7 +524,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcPOWER#1#2%
{\withnexttwoXMLRelements
{\doifXMLRchildelse{apply}{\firstXMLRelement}
- {\doifelse\@@MMLpowerreductie\v!yes
+ {\doifelse\@@MMLpowerreduction\v!yes
{\collectXMLRchild{apply}{\firstXMLRelement}%
\@EA\doifXMLRchildelse\@EA{\MMLcfunctionlist}{\the\XMLRtoks}
{\let\MMLpowerelement\secondXMLRelement
@@ -545,9 +545,9 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcTIMES#1#2#3\empty
{\setMMLcreset{\MMLcfunctionlist,\MMLcconstructlist}%
- \doifelse\@@MMLtimessymbool\v!yes
+ \doifelse\@@MMLtimessymbol\v!yes
{\encapsulateXMLR{}{\times}{}{#3\empty}}
- {\doifelse\@@MMLtimessymbool{dot}
+ {\doifelse\@@MMLtimessymbol{dot}
{\encapsulateXMLR{}{\cdot}{}{#3\empty}}
{#3\empty}}}
@@ -564,7 +564,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcROOT#1#2#3\empty
{\doifXMLRchildelse{degree}{#3}\donetrue\donefalse
- \doif\@@MMLrootsymbool\v!no\donefalse
+ \doif\@@MMLrootsymbol\v!no\donefalse
\ifdone
\root\processXMLRchild{degree}{#3}\of
{\let\MMLcDEGREE\ignoreXMLRelement
@@ -719,7 +719,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcrelation#1#2\empty
{\MMLcreset
\processaction
- [\@@MMLrelationuitlijnen]
+ [\@@MMLrelationalign]
[\v!last=>\let\next\lastMMLcrelation ,
\v!first=>\let\next\firstMMLcrelation,
\v!yes=>\let\next\leftMMLcrelation ,
@@ -794,7 +794,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\collectXMLRchild{bvar}{#3}%
\let\MMLcDEGREE\superMMLcelement
\expanded{\processXMLRchild{degree}{\the\XMLRtoks}}%
- \doif\@@MMLdiffplaats\v!top
+ \doif\@@MMLdifflocation\v!top
{\doifXMLRchildelse{ci}{#3}
{\processXMLRchild{ci}{#3}}
{\doifMMLfunctionelse{#3}
@@ -803,7 +803,7 @@ complex-cartesian=>\let\next\MMLccartesian,
{\let\MMLcDEGREE\superMMLcelement
\begingroup\rm\getXMLentity{mathematicald}\endgroup
\processXMLRchild{bvar}{#3}}%
- \doifnot\@@MMLdiffplaats\v!top
+ \doifnot\@@MMLdifflocation\v!top
{\left(\MMLcreset\processXMLRchild{apply,ci}{#3}\right)}}
{\processXMLRchildren{#3}^\prime}%
\popmacro\xmlr}
@@ -1010,7 +1010,7 @@ complex-cartesian=>\let\next\MMLccartesian,
{\pushmacro\MMLcLOGBASE
\let\MMLcLOGBASE\secondoftwoarguments
\doifXMLRchildelse{logbase}{#3}
- {\doifelse\@@MMLlogplaats\v!left
+ {\doifelse\@@MMLloglocation\v!left
{\mathop{{}^{\processXMLRchild{logbase}{#3}}\!\getXMLentity{log}}}
{\getXMLentity{log}_{\processXMLRchild{logbase}{#3}}}}
{\getXMLentity{log}}%
@@ -1060,7 +1060,7 @@ complex-cartesian=>\let\next\MMLccartesian,
{\ifx\MMLpowerelement\empty\else
^{\MMLcreset\MMLpowerelement\empty}\!\let\MMLpowerelement\empty
\fi
- \doifelse\@@MMLfunctionreductie\v!yes
+ \doifelse\@@MMLfunctionreduction\v!yes
{\doifXMLRchildelse{apply}{#1}
{\collectXMLRchild{apply}{#1}%
\@EA\doifXMLRchildelse\@EA{\MMLcfunctionlist}{\the\XMLRtoks}
@@ -1126,7 +1126,7 @@ complex-cartesian=>\let\next\MMLccartesian,
\def\MMLcVECTOR#1#2%
{\countXMLRchildren{#2}%
\ifnum\nofXMLRchildren>1
- \doifelse\@@MMLvectorrichting\v!horizontal
+ \doifelse\@@MMLvectordirection\v!horizontal
{\encapsulateXMLR{\left(}{\MMLccomma}{\right)}{#2}}
{\collectbetweenXMLR{\crcr}{#2}%
\MMLcreset\left(\matrix{\the\XMLRtoks}\right)}%
diff --git a/tex/context/base/xtag-mml.tex b/tex/context/base/xtag-mml.tex
index 7496fd4f9..d615585be 100644
--- a/tex/context/base/xtag-mml.tex
+++ b/tex/context/base/xtag-mml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-mml,
+%D [ file=xtag-mml,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Math ML,
@@ -96,7 +96,7 @@
\bgroup \obeylines
-\gdef\defineMMLentity
+\gdef\defineMMLentity% % needed !
{\bgroup\obeylines\xdefineMMLentity}
\gdef\xdefineMMLentity #1 #2 #3 #4
@@ -104,7 +104,7 @@
\global\let\dodefineMMLentity\gobblefourarguments
-\gdef\defineMMLsynonym
+\gdef\defineMMLsynonym% % needed !
{\bgroup\obeylines\xdefineMMLsynonym}
\gdef\xdefineMMLsynonym #1 #2
@@ -124,7 +124,7 @@
\egroup}
\newbox\unknownXMLentity
-\setbox\unknownXMLentity\hbox{\inframed[strut=no,offset=1pt]{\ttx ?}}
+\setbox\unknownXMLentity\hbox{\inframed[\c!strut=\v!no,\c!offset=1pt]{\ttx ?}}
\defineXMLentity [unknown] {\copy\unknownXMLentity}
diff --git a/tex/context/base/xtag-mmp.tex b/tex/context/base/xtag-mmp.tex
index 0acef509a..84b421053 100644
--- a/tex/context/base/xtag-mmp.tex
+++ b/tex/context/base/xtag-mmp.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-mmp,
+%D [ file=xtag-mmp,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Math ML,
@@ -226,7 +226,7 @@
\def\MMLpSUBP#1#2%
{\withnexttwoXMLRelements
- {\doifelse\@@MMLscriptsvariant\v!a
+ {\doifelse\@@MMLscriptsalternative\v!a
{{\firstXMLRelement}#1{\secondXMLRelement}} % both {} essential
{\firstXMLRelement#1{\secondXMLRelement}}}%
#2}
@@ -360,7 +360,7 @@
\setupMMLappearance[mtable][\c!alternative=\v!a]
\def\MMLpTABLE
- {\doifelse\@@MMLmtablevariant\v!a
+ {\doifelse\@@MMLmtablealternative\v!a
{\expandafter\MMLpTABLEa}
{\expandafter\MMLpTABLEb}}
diff --git a/tex/context/base/xtag-pml.tex b/tex/context/base/xtag-pml.tex
index 7ad02f4f4..7371ec165 100644
--- a/tex/context/base/xtag-pml.tex
+++ b/tex/context/base/xtag-pml.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-pml,
+%D [ file=xtag-pml,
%D version=2001.09.04,
%D title=\CONTEXT\ XML Support,
%D subtitle=Physics ML,
diff --git a/tex/context/base/xtag-pmu.tex b/tex/context/base/xtag-pmu.tex
index 5198fd01a..425257b49 100644
--- a/tex/context/base/xtag-pmu.tex
+++ b/tex/context/base/xtag-pmu.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-pmu,
+%D [ file=xtag-pmu,
%D version=2001.06.10,
%D title=\CONTEXT\ XML Support,
%D subtitle=Units,
diff --git a/tex/context/base/xtag-pre.tex b/tex/context/base/xtag-pre.tex
index 5491c3e7c..feab75ee7 100644
--- a/tex/context/base/xtag-pre.tex
+++ b/tex/context/base/xtag-pre.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-pre,
+%D [ file=xtag-pre,
%D version=2000.12.20,
%D title=\CONTEXT\ XML Support,
%D subtitle=Predefined Things,
diff --git a/tex/context/base/xtag-prs.tex b/tex/context/base/xtag-prs.tex
index 71ef03cef..b3eb681fc 100644
--- a/tex/context/base/xtag-prs.tex
+++ b/tex/context/base/xtag-prs.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-prs,
+%D [ file=xtag-prs,
%D version=2004.08.18,
%D title=\CONTEXT\ XML Support,
%D subtitle=Parsing,
diff --git a/tex/context/base/xtag-raw.tex b/tex/context/base/xtag-raw.tex
index e93c8be87..8c190d943 100644
--- a/tex/context/base/xtag-raw.tex
+++ b/tex/context/base/xtag-raw.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-raw,
+%D [ file=xtag-raw,
%D version=2002.03.21,
%D title=\CONTEXT\ XML Support,
%D subtitle=reducing specials,
diff --git a/tex/context/base/xtag-rng.tex b/tex/context/base/xtag-rng.tex
index 1b8a32ab2..524bba2d1 100644
--- a/tex/context/base/xtag-rng.tex
+++ b/tex/context/base/xtag-rng.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-rng,
+%D [ file=xtag-rng,
%D version=2002.10.29,
%D title=\CONTEXT\ XML Support,
%D subtitle=Relax NG,
diff --git a/tex/context/base/xtag-run.tex b/tex/context/base/xtag-run.tex
index a990468b7..639b6df53 100644
--- a/tex/context/base/xtag-run.tex
+++ b/tex/context/base/xtag-run.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-run,
+%D [ file=xtag-run,
%D version=2001.01.10,
%D title=\CONTEXT\ XML Support,
%D subtitle=Visualization,
diff --git a/tex/context/base/xtag-utf.tex b/tex/context/base/xtag-utf.tex
index 76be30ba3..0e25bafae 100644
--- a/tex/context/base/xtag-utf.tex
+++ b/tex/context/base/xtag-utf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-utf,
+%D [ file=xtag-utf,
%D version=2002.06.24,
%D title=\CONTEXT\ XML Support,
%D subtitle=UTF-8 support,
diff --git a/tex/context/base/xtag-xsd.tex b/tex/context/base/xtag-xsd.tex
index c6875d069..96169afa2 100644
--- a/tex/context/base/xtag-xsd.tex
+++ b/tex/context/base/xtag-xsd.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-xsd,
+%D [ file=xtag-xsd,
%D version=2001.10.04,
%D title=\CONTEXT\ XML Support,
%D subtitle=Schemas,
diff --git a/tex/context/base/xtag-xsl.tex b/tex/context/base/xtag-xsl.tex
index 1c27fd447..4d844c8e1 100644
--- a/tex/context/base/xtag-xsl.tex
+++ b/tex/context/base/xtag-xsl.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=xtag-xsl,
+%D [ file=xtag-xsl,
%D version=2002.03.07,
%D title=\CONTEXT\ XML Support,
%D subtitle=XSLT processing,
diff --git a/tex/context/config/cont-usr.tex b/tex/context/config/cont-usr.tex
index 0e0f59881..1a98f77ac 100644
--- a/tex/context/config/cont-usr.tex
+++ b/tex/context/config/cont-usr.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=cont-usr,
+%D [ file=cont-usr,
%D version=1997.10.05,
%D title=\CONTEXT\ User Format Specifications,
%D subtitle=System Specific Setups,
diff --git a/tex/context/foxet/fe-bryson.xml b/tex/context/foxet/fe-bryson.xml
new file mode 100644
index 000000000..28646b65f
--- /dev/null
+++ b/tex/context/foxet/fe-bryson.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0'?>
+<fe:sample xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng' origin='Bill Bryson'>
+Imagine trying to live in a world dominated by dihydrogen oxide, a
+compound that has no taste or smell and is so viable in its properties
+that it is generally benign but at other times swiftly lethal.
+Depending on its state, it can scald you or freeze you. In the
+presence of certain organic molecules it can form carbonic acids so
+nasty that they can strip the leaves from trees and eat the faces off
+statuary. In bulk, when agitated, it can strike with a fury that no
+human edifice could withstand. Even for those who have learned to live
+with it, it is often murderous substance. We call it water.
+</fe:sample>
diff --git a/tex/context/foxet/fe-ward.xml b/tex/context/foxet/fe-ward.xml
new file mode 100644
index 000000000..05f774265
--- /dev/null
+++ b/tex/context/foxet/fe-ward.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0'?>
+<fe:sample xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng' origin='Peter Ward'>
+The Earth, as a habitat for animal life, is in old age and
+has a fatal illness. Several, in fact. It would be happening
+whether humans had ever evolved or not. But our presence is
+like the effect of an old-age patient who smokes many packs
+of cigarettes per day - and we humans are the cigarettes.
+</fe:sample>
diff --git a/tex/context/foxet/fe-zapf.xml b/tex/context/foxet/fe-zapf.xml
new file mode 100644
index 000000000..faf9a0831
--- /dev/null
+++ b/tex/context/foxet/fe-zapf.xml
@@ -0,0 +1,14 @@
+<?xml version='1.0'?>
+<fe:sample xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng' origin='Hermann Zapf'>
+Coming back to the use of typefaces in electronic
+publishing: many of the new typographers receive their
+knowledge and information about the rules of typography
+from books, from computer magazines or the instruction
+manuals which they get with the purchase of a PC or
+software. There is not so much basic instruction, as of
+now, as there was in the old days, showing the differences
+between good and bad typographic design. Many people are
+just fascinated by their PC's tricks, and think that a
+widely<fe:compound/>praised program, called up on the
+screen, will make everything automatic from now on.
+</fe:sample>
diff --git a/tex/context/foxet/fo-0101.fo b/tex/context/foxet/fo-0101.fo
new file mode 100644
index 000000000..d8f9386fb
--- /dev/null
+++ b/tex/context/foxet/fo-0101.fo
@@ -0,0 +1,8 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0102.fo b/tex/context/foxet/fo-0102.fo
new file mode 100644
index 000000000..21274c626
--- /dev/null
+++ b/tex/context/foxet/fo-0102.fo
@@ -0,0 +1,16 @@
+<?xml version='1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:declarations>
+ <fe:definecolor name='red' r='.6'/>
+ <fe:definecolor name='green' g='.6'/>
+ <fe:definecolor name='blue' b='.6'/>
+ <fe:definefontsynonym name='mono' file='lmtt10' encoding='texnansi'/>
+ </fo:declarations>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0103.fo b/tex/context/foxet/fo-0103.fo
new file mode 100644
index 000000000..5a28b4c52
--- /dev/null
+++ b/tex/context/foxet/fo-0103.fo
@@ -0,0 +1,12 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:color-profile>
+ <!-- maybe some day ... -->
+ </fo:color-profile>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0201.fo b/tex/context/foxet/fo-0201.fo
new file mode 100644
index 000000000..7c261ae59
--- /dev/null
+++ b/tex/context/foxet/fo-0201.fo
@@ -0,0 +1,22 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='1cm'>
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' line-height='18pt'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0301.fo b/tex/context/foxet/fo-0301.fo
new file mode 100644
index 000000000..057017d30
--- /dev/null
+++ b/tex/context/foxet/fo-0301.fo
@@ -0,0 +1,56 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='1cm' fe:option='fit'>
+ <fo:region-body background-color='lightgray'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container space-after.optimum='12pt' fe:tracing='true'>
+ <fo:block>
+ before<fo:character character='@'/>after
+ </fo:block>
+ <fo:block>
+ before<fo:character character='@' vertical-align='super'/>after
+ before<fo:character character='@' vertical-align='sub' />after
+ before<fo:character character='@' vertical-align='-3pt' />after
+ before<fo:character character='@' vertical-align='+3pt' />after
+ </fo:block>
+ <fo:block>
+ before<fo:character character='@' glyph-orientation-horizontal='0' />after
+ before<fo:character character='@' glyph-orientation-horizontal='90' />after
+ before<fo:character character='@' glyph-orientation-horizontal='180'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='270'/>after
+ </fo:block>
+ <fo:block>
+ before<fo:character character='@' glyph-orientation-horizontal='0' vertical-align='super'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='90' vertical-align='super'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='180' vertical-align='super'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='270' vertical-align='super'/>after
+ </fo:block>
+ <fo:block>
+ before<fo:character character='@' glyph-orientation-horizontal='0' vertical-align='3pt'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='90' vertical-align='3pt'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='180' vertical-align='3pt'/>after
+ before<fo:character character='@' glyph-orientation-horizontal='270' vertical-align='3pt'/>after
+ </fo:block>
+ <fo:block>
+ before<fo:character character='@' vertical-align='super' text-altitude='10pt'/>after
+ before<fo:character character='@' vertical-align='super' text-altitude='20pt'/>after
+ before<fo:character character='@' vertical-align='100%' text-altitude='20pt'/>after
+ before<fo:character character='@' vertical-align='sub' text-depth='10pt' />after
+ before<fo:character character='@' vertical-align='sub' text-depth='20pt' />after
+ before<fo:character character='@' vertical-align='-100%' text-depth='20pt' />after
+ </fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0601.fo b/tex/context/foxet/fo-0601.fo
new file mode 100644
index 000000000..5413752ec
--- /dev/null
+++ b/tex/context/foxet/fo-0601.fo
@@ -0,0 +1,26 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' />
+ <fo:region-after extent='1cm' background-color='green' />
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body margin='2cm' background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0602.fo b/tex/context/foxet/fo-0602.fo
new file mode 100644
index 000000000..d7c0f2647
--- /dev/null
+++ b/tex/context/foxet/fo-0602.fo
@@ -0,0 +1,27 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' precedence='true'/>
+ <fo:region-after extent='1cm' background-color='green' />
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body margin='2cm' background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0603.fo b/tex/context/foxet/fo-0603.fo
new file mode 100644
index 000000000..e128ab307
--- /dev/null
+++ b/tex/context/foxet/fo-0603.fo
@@ -0,0 +1,26 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' />
+ <fo:region-after extent='1cm' background-color='green' precedence='true'/>
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body margin='2cm' background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0604.fo b/tex/context/foxet/fo-0604.fo
new file mode 100644
index 000000000..da0e5a8f8
--- /dev/null
+++ b/tex/context/foxet/fo-0604.fo
@@ -0,0 +1,26 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' precedence='true'/>
+ <fo:region-after extent='1cm' background-color='green' precedence='true'/>
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body margin='2cm' background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0611.fo b/tex/context/foxet/fo-0611.fo
new file mode 100644
index 000000000..f349a1cbf
--- /dev/null
+++ b/tex/context/foxet/fo-0611.fo
@@ -0,0 +1,21 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml' n='15'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0612.fo b/tex/context/foxet/fo-0612.fo
new file mode 100644
index 000000000..5592cfa9d
--- /dev/null
+++ b/tex/context/foxet/fo-0612.fo
@@ -0,0 +1,21 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm' column-count='2' column-gap='24pt'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml' n='15'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0613.fo b/tex/context/foxet/fo-0613.fo
new file mode 100644
index 000000000..4c9947458
--- /dev/null
+++ b/tex/context/foxet/fo-0613.fo
@@ -0,0 +1,21 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='1.25cm'>
+ <fo:region-body margin='0cm' column-count='3' column-gap='12pt'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml' n='15'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0621.fo b/tex/context/foxet/fo-0621.fo
new file mode 100644
index 000000000..94c6cf757
--- /dev/null
+++ b/tex/context/foxet/fo-0621.fo
@@ -0,0 +1,100 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='any' margin='2cm'>
+ <fe:message>setting up simple page master 'any'</fe:message>
+ <fo:region-before background-color='darkgray' extent='1cm'/>
+ <fo:region-after background-color='darkgray' extent='1cm'/>
+ <fo:region-body background-color='darkgray' margin-top='2cm' margin-bottom='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='first-page' margin='2cm'>
+ <fe:message>setting up simple page master 'first-page'</fe:message>
+ <fo:region-before background-color='red' extent='1cm'/>
+ <fo:region-after background-color='red' extent='1cm'/>
+ <fo:region-body background-color='red' margin='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='left-page' margin='2cm'>
+ <fe:message>setting up simple page master 'left-page'</fe:message>
+ <fo:region-before background-color='green' extent='1cm'/>
+ <fo:region-after background-color='green' extent='1cm'/>
+ <fo:region-body background-color='green' margin='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='right-page' margin='2cm'>
+ <fe:message>setting up simple page master 'right-page'</fe:message>
+ <fo:region-before background-color='blue' extent='1cm'/>
+ <fo:region-after background-color='blue' extent='1cm'/>
+ <fo:region-body background-color='blue' margin='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='blank-page' margin='2cm'>
+ <fe:message>setting up simple page master 'blank-page'</fe:message>
+ <fo:region-before background-color='black' extent='1cm'/>
+ <fo:region-after background-color='black' extent='1cm'/>
+ <fo:region-body background-color='black' margin='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='odd' margin='2cm'>
+ <fe:message>setting up simple page master 'odd'</fe:message>
+ <fo:region-before background-color='cyan' extent='1cm'/>
+ <fo:region-after background-color='cyan' extent='1cm'/>
+ <fo:region-body background-color='cyan' margin='2cm' padding='.5cm' margin-right='2cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='even' margin='2cm'>
+ <fe:message>setting up simple page master 'even'</fe:message>
+ <fo:region-before background-color='magenta' extent='1cm'/>
+ <fo:region-after background-color='magenta' extent='1cm'/>
+ <fo:region-body background-color='magenta' margin='2cm' padding='.5cm' margin-left='2cm'/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name='rest' margin='2cm'>
+ <fe:message>setting up simple page master 'rest'</fe:message>
+ <fo:region-before background-color='yellow' extent='1cm'/>
+ <fo:region-after background-color='yellow' extent='1cm'/>
+ <fo:region-body background-color='yellow' margin='2cm' padding='.5cm'/>
+ </fo:simple-page-master>
+
+ <fo:page-sequence-master master-name='demo'>
+ <fe:message>setting up page sequence master 'demo'</fe:message>
+ <fo:conditional-page-master-reference page-position='first' master-reference='first-page'/>
+ <fo:conditional-page-master-reference page-position='blank' master-reference='blank-page'/>
+ <fo:conditional-page-master-reference page-position='odd' master-reference='odd'/>
+ <fo:conditional-page-master-reference page-position='even' master-reference='even'/>
+ </fo:page-sequence-master>
+ <fo:page-sequence-master master-name='omed'>
+ <fe:message>setting up page sequence master 'omed'</fe:message>
+ <fo:conditional-page-master-reference page-position='first' master-reference='first-page'/>
+ <fo:conditional-page-master-reference page-position='blank' master-reference='blank-page'/>
+ <fo:conditional-page-master-reference page-position='odd' master-reference='even'/>
+ <fo:conditional-page-master-reference page-position='even' master-reference='odd'/>
+ </fo:page-sequence-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence>
+ <fe:message>starting page sequence 'any'</fe:message>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml' n='15'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='demo' force-page-count='end-on-even'>
+ <fe:message>starting page sequence 'demo'</fe:message>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-bryson.xml' n='30'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='omed' force-page-count='end-on-even'>
+ <fe:message>starting page sequence 'omed'</fe:message>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-ward.xml' n='30'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0641.fo b/tex/context/foxet/fo-0641.fo
new file mode 100644
index 000000000..b6a611970
--- /dev/null
+++ b/tex/context/foxet/fo-0641.fo
@@ -0,0 +1,25 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-before extent='2cm' background-color='red' fe:background-height='1cm' background-image="url('hacker.jpg')" background-repeat='repeat-x' />
+ <fo:region-after extent='2cm' background-color='green' fe:background-height='2cm' background-image="url('hacker.jpg')" background-repeat='repeat-y' />
+ <fo:region-start extent='2cm' background-color='blue' fe:background-height='1cm' background-image="url('hacker.jpg')" background-repeat='no-repeat'/>
+ <fo:region-end extent='2cm' background-color='yellow' fe:background-height='2cm' background-image="url('hacker.jpg')" background-repeat='repeat' />
+ <fo:region-body margin='2cm' background-color='gray' fe:background-height='1cm' background-image="url('hacker.jpg')" clip='rect(1cm,1cm,1cm,1cm)' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0642.fo b/tex/context/foxet/fo-0642.fo
new file mode 100644
index 000000000..eb68de813
--- /dev/null
+++ b/tex/context/foxet/fo-0642.fo
@@ -0,0 +1,27 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'
+ background-color='gray'
+ background-image='hacker.jpg'
+ background-position-horizontal='10%'
+ background-position-vertical='20%'
+ background-repeat='no-repeat'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0643.fo b/tex/context/foxet/fo-0643.fo
new file mode 100644
index 000000000..2ba9fa454
--- /dev/null
+++ b/tex/context/foxet/fo-0643.fo
@@ -0,0 +1,27 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'
+ background-color='gray'
+ background-image='hacker.jpg'
+ background-position-horizontal='center'
+ background-position-vertical='center'
+ background-repeat='no-repeat'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0644.fo b/tex/context/foxet/fo-0644.fo
new file mode 100644
index 000000000..c781aeb20
--- /dev/null
+++ b/tex/context/foxet/fo-0644.fo
@@ -0,0 +1,27 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format'
+ xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'
+ background-color='gray'
+ background-image='hacker.jpg'
+ background-position-horizontal='3cm'
+ background-position-vertical='5cm'
+ background-repeat='no-repeat'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0650.fo b/tex/context/foxet/fo-0650.fo
new file mode 100644
index 000000000..126429377
--- /dev/null
+++ b/tex/context/foxet/fo-0650.fo
@@ -0,0 +1,26 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' />
+ <fo:region-after extent='1cm' background-color='green' />
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0651.fo b/tex/context/foxet/fo-0651.fo
new file mode 100644
index 000000000..d3a9bb116
--- /dev/null
+++ b/tex/context/foxet/fo-0651.fo
@@ -0,0 +1,26 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test'
+ margin-top='1cm' margin-bottom='2cm' margin-left='3cm' margin-right='4cm'>
+ <fo:region-before extent='1cm' background-color='red' />
+ <fo:region-after extent='1cm' background-color='green' />
+ <fo:region-start extent='1cm' background-color='blue' />
+ <fo:region-end extent='1cm' background-color='yellow'/>
+ <fo:region-body background-color='gray' />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block>
+ <fe:include url='zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0701.fo b/tex/context/foxet/fo-0701.fo
new file mode 100644
index 000000000..20613594e
--- /dev/null
+++ b/tex/context/foxet/fo-0701.fo
@@ -0,0 +1,39 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master margin='2cm'>
+ <fo:region-body background-color='darkgray'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container absolute-position='absolute' height='2cm' width='3cm' left='1cm' top='1cm'>
+ <fo:block>Test 1</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' height='2cm' left='1cm' top='6cm'>
+ <fo:block>Test 2</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' height='2cm' left='1cm' top='11cm' right='4cm'>
+ <fo:block>Test 3</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' height='2cm' width='3cm' right='1cm' bottom='1cm'>
+ <fo:block>Test 4</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' width='3cm' right='1cm' bottom='6cm'>
+ <fo:block>Test 5</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' width='3cm' right='1cm' bottom='11cm' top='7cm'>
+ <fo:block>Test 6</fo:block>
+ </fo:block-container>
+ <fo:block-container absolute-position='absolute' left='20%' right='20%' top='20%' bottom='20%'>
+ <fo:block>Test 7</fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0801.fo b/tex/context/foxet/fo-0801.fo
new file mode 100644
index 000000000..2279abc62
--- /dev/null
+++ b/tex/context/foxet/fo-0801.fo
@@ -0,0 +1,54 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123' format='n'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block id='format n'>digits: <fo:page-number/></fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123' format='a'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block id='format a'>characters: <fo:page-number/></fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123' format='i'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block id='format i'>romannumerals: <fo:page-number/></fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123' format='-[(n)]-'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block id='complex format'>complex format: <fo:page-number/></fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block id='no format'>no format: <fo:page-number/></fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+ <fo:page-sequence master-reference='test'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container space-after='12pt' id='y'>
+ <fo:block>digits: <fo:page-number-citation ref-id='format n'/> </fo:block>
+ <fo:block>characters: <fo:page-number-citation ref-id='format a'/> </fo:block>
+ <fo:block>romannumerals: <fo:page-number-citation ref-id='format i'/> </fo:block>
+ <fo:block>complex format: <fo:page-number-citation ref-id='complex format'/> </fo:block>
+ <fo:block>no format: <fo:page-number-citation ref-id='no format'/> </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-0901.fo b/tex/context/foxet/fo-0901.fo
new file mode 100644
index 000000000..c8b5cacc4
--- /dev/null
+++ b/tex/context/foxet/fo-0901.fo
@@ -0,0 +1,48 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container font-style='italic'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ <fo:block-container font-style='italic'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ <fo:block-container font-weight='bold'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ <fo:block-container font-style='italic'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ <fo:block-container font-style='italic' font-weight='bold' font-size='xx-large'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ <fo:block-container font-style='italic' font-weight='bold' font-size='350%'>
+ <fo:block font-family='Times'>times</fo:block>
+ <fo:block font-family='Helvetica'>helvetica</fo:block>
+ <fo:block font-family='Courier'>courier</fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-1001.fo b/tex/context/foxet/fo-1001.fo
new file mode 100644
index 000000000..4832d227c
--- /dev/null
+++ b/tex/context/foxet/fo-1001.fo
@@ -0,0 +1,63 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container fe:tracing='true'>
+ <fo:block>a test line d 10pt</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard'/>
+ <fo:block>a test line d 5pt</fo:block>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='discard'/>
+ <fo:block>a test line d 4pt</fo:block>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='discard'/>
+ <fo:block>a test line d d d</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='discard'/>
+ <fo:block>a test line r d d</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='4pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='discard'/>
+ <fo:block>a test line d r d</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='5pt' space-before.conditionality='discard'/>
+ <fo:block>a test line r r d</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='4pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='5pt' space-before.conditionality='discard'/>
+ <fo:block>a test line d d r</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='retain' />
+ <fo:block>a test line r d r</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='4pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='retain' />
+ <fo:block>a test line d r r</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard'/>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='5pt' space-before.conditionality='retain' />
+ <fo:block>a test line r r r</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='4pt' space-before.conditionality='retain' />
+ <fo:block space-before.optimum='5pt' space-before.conditionality='retain' />
+ <fo:block>a test line d r r force</fo:block>
+ <fo:block space-before.optimum='10pt' space-before.conditionality='discard' space-before.precedence='force'/>
+ <fo:block space-before.optimum='4pt' space-before.conditionality='retain' space-before.precedence='force'/>
+ <fo:block space-before.optimum='5pt' space-before.conditionality='retain' space-before.precedence='force'/>
+ <fo:block>a test line</fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-1002.fo b/tex/context/foxet/fo-1002.fo
new file mode 100644
index 000000000..a77a06be8
--- /dev/null
+++ b/tex/context/foxet/fo-1002.fo
@@ -0,0 +1,31 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block start-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fo:block start-indent='1cm' end-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ <fo:block start-indent='1cm' end-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fo:block end-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-1003.fo b/tex/context/foxet/fo-1003.fo
new file mode 100644
index 000000000..83a8da67e
--- /dev/null
+++ b/tex/context/foxet/fo-1003.fo
@@ -0,0 +1,31 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block start-indent='1cm' text-indent='3cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fo:block start-indent='1cm' end-indent='1cm' text-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ <fo:block start-indent='1cm' end-indent='1cm' text-indent='1cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ <fo:block end-indent='1cm' text-indent='3cm'>
+ <fe:include url='fe-zapf.xml'/>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-1004.fo b/tex/context/foxet/fo-1004.fo
new file mode 100644
index 000000000..84f37f0c8
--- /dev/null
+++ b/tex/context/foxet/fo-1004.fo
@@ -0,0 +1,35 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='2cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' initial-page-number='123'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block-container space-before.optimum='12pt'>
+ <fo:block>
+ before<fo:inline space-start='10pt' >inbetween</fo:inline>after
+ </fo:block>
+ <fo:block>
+ before<fo:inline space-end='10pt'>inbetween</fo:inline>after
+ </fo:block>
+ <fo:block>
+ before<fo:inline space-start='10pt' space-end='10pt'>inbetween</fo:inline>after
+ </fo:block>
+ <fo:block>
+ before<fo:inline space-start='-10pt' space-end='-10pt'>inbetween</fo:inline>after
+ </fo:block>
+ <fo:block>
+ before<fo:inline space-start='250%' space-end='250%'>inbetween</fo:inline>after
+ </fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/context/foxet/fo-1101.fo b/tex/context/foxet/fo-1101.fo
new file mode 100644
index 000000000..e4912ee08
--- /dev/null
+++ b/tex/context/foxet/fo-1101.fo
@@ -0,0 +1,68 @@
+<?xml version '1.0'?>
+
+<!-- foxet test file - Hans Hagen - PRAGMA ADE - www.pragma-ade.com -->
+
+<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' xmlns:fe='http://www.pragma-ade.com/schemas/foxet.rng'>
+
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name='test' margin='2cm'>
+ <fo:region-body margin='1cm'/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference='test' fe:tracing='true'>
+ <fo:flow flow-name='xsl-region-body'>
+ <fo:block><fe:include url='fe-zapf.xml'/></fo:block>
+ <fo:list-block
+ space-between-list-rows='6pt'
+ space-before.optimum='12pt'
+ space-after.optimum='12pt'>
+ <fo:list-item>
+ <fo:list-item-label>
+ <fo:block>[a]</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body>
+ <fo:block><fe:include url='fe-zapf.xml'/></fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label>
+ <fo:block>[b]</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body>
+ <fo:list-item>
+ <fo:list-item-label>
+ <fo:block>[bb]</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body>
+ <fo:block><fe:include url='fe-zapf.xml'/></fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block><fe:include url='fe-zapf.xml'/></fo:block>
+ <fo:block>
+ test
+ <fo:inline position='static' font-size='600%'>S</fo:inline>
+ <fo:inline position='static' font-size='400%'>S</fo:inline>
+ <fo:inline position='static' font-size='500%'>S</fo:inline>
+ <fo:inline position='fixed' right='2cm' bottom='2cm' font-size='600%'>F</fo:inline>
+ <fo:inline position='fixed' right='2cm' top='2cm' font-size='400%'>F</fo:inline>
+ <fo:inline position='fixed' left='2cm' bottom='2cm' font-size='500%'>F</fo:inline>
+ <fo:inline position='absolute' right='1cm' bottom='1cm' font-size='600%'>A</fo:inline>
+ <fo:inline position='absolute' right='1cm' top='1cm' font-size='400%'>A</fo:inline>
+ <fo:inline position='absolute' left='1cm' bottom='1cm' font-size='500%'>A</fo:inline>
+ <fo:inline position='relative' right='2mm' bottom='2mm' font-size='600%'>R</fo:inline>
+ <fo:inline position='relative' right='2mm' top='2mm' font-size='400%'>R</fo:inline>
+ <fo:inline position='relative' left='2mm' bottom='2mm' font-size='500%'>R</fo:inline>
+ test
+ <fo:inline position='static' font-size='600%'>Q</fo:inline>
+ <fo:inline position='relative' right='2mm' bottom='2mm' font-size='600%'>Q</fo:inline>
+ <fo:inline position='relative' right='2mm' top='2mm' font-size='400%'>Q</fo:inline>
+ <fo:inline position='relative' left='2mm' bottom='2mm' font-size='500%'>Q</fo:inline>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+
+</fo:root>
diff --git a/tex/generic/context/m-metapo.tex b/tex/generic/context/m-metapo.tex
index e54e14682..a71c91910 100644
--- a/tex/generic/context/m-metapo.tex
+++ b/tex/generic/context/m-metapo.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=m-metapo,
+%D [ file=m-metapo,
%D version=1999.03.26,
%D title=\LATEX\ Modules,
%D subtitle=\METAPOST\ Inclusion,
diff --git a/tex/generic/context/mptopdf.tex b/tex/generic/context/mptopdf.tex
index 424768bca..97f2890a6 100644
--- a/tex/generic/context/mptopdf.tex
+++ b/tex/generic/context/mptopdf.tex
@@ -1,5 +1,5 @@
%D \module
-%D [ filefile=mptopdf,
+%D [ file=mptopdf,
%D version=2000.03.27,
%D title=\METAPOST,
%D subtitle=conversion to \PDF,