From 9023e950440c08502abf42d7707273ee0d0de0ea Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 6 Sep 2004 00:00:00 +0200 Subject: stable 2004.09.06 --- context/data/cont-cz.xml | 10267 +++++++++++++++++++++++++++++++++++++ context/data/cont-de.xml | 10267 +++++++++++++++++++++++++++++++++++++ context/data/cont-en.xml | 10219 ++++++++++++++++++++++++++++++++++++ context/data/cont-it.xml | 10212 ++++++++++++++++++++++++++++++++++++ context/data/cont-nl.xml | 10253 ++++++++++++++++++++++++++++++++++++ context/data/cont-ro.xml | 10267 +++++++++++++++++++++++++++++++++++++ metapost/context/base/metafun.mp | 54 +- scripts/context/perl/mptopdf.pl | 28 +- scripts/context/perl/texexec.pl | 2 +- scripts/context/ruby/texsync.rb | 200 + tex/context/base/colo-ema.tex | 2 +- tex/context/base/colo-ext.tex | 2 +- tex/context/base/colo-hex.tex | 2 +- tex/context/base/colo-ini.tex | 2 +- tex/context/base/colo-pra.tex | 2 +- tex/context/base/colo-rgb.tex | 2 +- tex/context/base/colo-run.tex | 2 +- tex/context/base/colo-xwi.tex | 2 +- tex/context/base/cont-cz.tex | 2 +- tex/context/base/cont-de.tex | 2 +- tex/context/base/cont-en.tex | 2 +- tex/context/base/cont-err.tex | 2 +- tex/context/base/cont-fil.tex | 2 +- tex/context/base/cont-it.tex | 2 +- tex/context/base/cont-log.tex | 2 +- tex/context/base/cont-new.tex | 292 +- tex/context/base/cont-nl.tex | 2 +- tex/context/base/cont-old.tex | 2 +- tex/context/base/cont-ro.tex | 2 +- tex/context/base/cont-uk.tex | 2 +- tex/context/base/cont-usr.ori | 2 +- tex/context/base/context.tex | 4 +- tex/context/base/core-box.tex | 2 +- tex/context/base/core-buf.tex | 2 +- tex/context/base/core-con.tex | 134 +- tex/context/base/core-dat.tex | 2 +- tex/context/base/core-def.tex | 2 +- tex/context/base/core-des.tex | 487 +- tex/context/base/core-fig.tex | 3 +- tex/context/base/core-fil.tex | 2 +- tex/context/base/core-fld.tex | 2 +- tex/context/base/core-fnt.tex | 18 +- tex/context/base/core-gen.tex | 2 +- tex/context/base/core-grd.tex | 6 +- tex/context/base/core-hlp.tex | 2 +- tex/context/base/core-ini.tex | 2 +- tex/context/base/core-ins.tex | 2 +- tex/context/base/core-int.tex | 11 +- tex/context/base/core-itm.tex | 2 +- tex/context/base/core-job.tex | 20 +- tex/context/base/core-lnt.tex | 2 +- tex/context/base/core-lst.tex | 2 +- tex/context/base/core-ltb.tex | 2 +- tex/context/base/core-mak.tex | 2 +- tex/context/base/core-mar.tex | 2 +- tex/context/base/core-mat.tex | 8 +- tex/context/base/core-mis.tex | 4 +- tex/context/base/core-nav.tex | 2 +- tex/context/base/core-new.tex | 2 +- tex/context/base/core-not.tex | 2 +- tex/context/base/core-ntb.tex | 21 +- tex/context/base/core-num.tex | 46 +- tex/context/base/core-obj.tex | 2 +- tex/context/base/core-par.tex | 2 +- tex/context/base/core-pos.tex | 4 +- tex/context/base/core-ref.tex | 64 +- tex/context/base/core-reg.tex | 8 +- tex/context/base/core-rul.tex | 2 +- tex/context/base/core-sec.tex | 100 +- tex/context/base/core-snc.tex | 2 +- tex/context/base/core-spa.tex | 265 +- tex/context/base/core-syn.tex | 2 +- tex/context/base/core-sys.tex | 2 +- tex/context/base/core-tab.tex | 4 +- tex/context/base/core-tbl.tex | 3 +- tex/context/base/core-uti.tex | 10 +- tex/context/base/core-var.tex | 9 +- tex/context/base/core-ver.tex | 2 +- tex/context/base/core-vis.tex | 2 +- tex/context/base/enco-acc.tex | 2 +- tex/context/base/enco-ans.tex | 2 +- tex/context/base/enco-cas.tex | 2 +- tex/context/base/enco-chi.tex | 2 +- tex/context/base/enco-com.tex | 2 +- tex/context/base/enco-cyr.tex | 2 +- tex/context/base/enco-def.tex | 2 +- tex/context/base/enco-ec.tex | 2 +- tex/context/base/enco-ecm.tex | 2 +- tex/context/base/enco-fde.tex | 2 +- tex/context/base/enco-ffr.tex | 2 +- tex/context/base/enco-fpl.tex | 2 +- tex/context/base/enco-fro.tex | 2 +- tex/context/base/enco-grk.tex | 2 +- tex/context/base/enco-il2.tex | 2 +- tex/context/base/enco-ini.tex | 26 +- tex/context/base/enco-mis.tex | 2 +- tex/context/base/enco-pdf.tex | 2 +- tex/context/base/enco-pfr.tex | 2 +- tex/context/base/enco-pol.tex | 2 +- tex/context/base/enco-qx.tex | 2 +- tex/context/base/enco-run.tex | 2 +- tex/context/base/enco-tbo.tex | 2 +- tex/context/base/enco-x5.tex | 2 +- tex/context/base/filt-bas.tex | 2 +- tex/context/base/filt-ini.tex | 2 +- tex/context/base/font-arb.tex | 2 +- tex/context/base/font-bfm.tex | 4 +- tex/context/base/font-chi.tex | 2 +- tex/context/base/font-heb.tex | 2 +- tex/context/base/font-ini.tex | 16 +- tex/context/base/font-map.tex | 28 +- tex/context/base/font-run.tex | 2 +- tex/context/base/font-uni.tex | 2 +- tex/context/base/font-unk.tex | 2 +- tex/context/base/font-vnr.tex | 20 +- tex/context/base/hand-def.tex | 2 +- tex/context/base/hand-ini.tex | 2 +- tex/context/base/java-ans.tex | 2 +- tex/context/base/java-exa.tex | 2 +- tex/context/base/java-fil.tex | 2 +- tex/context/base/java-fld.tex | 2 +- tex/context/base/java-ini.tex | 2 +- tex/context/base/java-stp.tex | 2 +- tex/context/base/lang-alt.tex | 14 +- tex/context/base/lang-ana.tex | 8 +- tex/context/base/lang-art.tex | 8 +- tex/context/base/lang-bal.tex | 8 +- tex/context/base/lang-cel.tex | 8 +- tex/context/base/lang-chi.tex | 8 +- tex/context/base/lang-cyr.tex | 26 +- tex/context/base/lang-frd.tex | 2 +- tex/context/base/lang-frq.tex | 2 +- tex/context/base/lang-ger.tex | 48 +- tex/context/base/lang-grk.tex | 9 +- tex/context/base/lang-ind.tex | 10 +- tex/context/base/lang-ini.tex | 29 +- tex/context/base/lang-ita.tex | 42 +- tex/context/base/lang-lab.tex | 2 +- tex/context/base/lang-sla.tex | 36 +- tex/context/base/lang-spa.tex | 16 +- tex/context/base/lang-spe.tex | 16 +- tex/context/base/lang-ura.tex | 14 +- tex/context/base/lang-vn.tex | 8 +- tex/context/base/m-chart.tex | 2 +- tex/context/base/m-chemic.tex | 2 +- tex/context/base/m-cweb.tex | 2 +- tex/context/base/m-edtsnc.tex | 3 +- tex/context/base/m-educat.tex | 2 +- tex/context/base/m-gamma.tex | 2 +- tex/context/base/m-graph.tex | 2 +- tex/context/base/m-layout.tex | 2 +- tex/context/base/m-level.tex | 2 +- tex/context/base/m-newmat.tex | 2 +- tex/context/base/m-pdfsnc.tex | 2 +- tex/context/base/m-pictex.tex | 2 +- tex/context/base/m-plus.tex | 2 +- tex/context/base/m-pstric.tex | 2 +- tex/context/base/m-quest.tex | 2 +- tex/context/base/m-steps.tex | 2 +- tex/context/base/m-tryout.tex | 2 +- tex/context/base/m-units.tex | 2 +- tex/context/base/m-visual.tex | 2 +- tex/context/base/math-ams.tex | 2 +- tex/context/base/math-eul.tex | 2 +- tex/context/base/math-fou.tex | 2 +- tex/context/base/math-ini.tex | 2 +- tex/context/base/math-lbr.tex | 2 +- tex/context/base/math-pln.tex | 2 +- tex/context/base/math-run.tex | 2 +- tex/context/base/math-tex.tex | 2 +- tex/context/base/math-tim.tex | 2 +- tex/context/base/meta-clp.tex | 2 +- tex/context/base/meta-dum.tex | 2 +- tex/context/base/meta-fig.tex | 2 +- tex/context/base/meta-ini.tex | 2 +- tex/context/base/meta-nav.tex | 2 +- tex/context/base/meta-pag.tex | 2 +- tex/context/base/meta-pre.tex | 2 +- tex/context/base/meta-txt.tex | 2 +- tex/context/base/meta-xml.tex | 2 +- tex/context/base/mult-com.tex | 5 +- tex/context/base/mult-con.tex | 101 +- tex/context/base/mult-ini.tex | 2 +- tex/context/base/mult-sys.tex | 4 +- tex/context/base/page-app.tex | 2 +- tex/context/base/page-bck.tex | 2 +- tex/context/base/page-flt.tex | 9 +- tex/context/base/page-flw.tex | 2 +- tex/context/base/page-imp.tex | 2 +- tex/context/base/page-ini.tex | 76 +- tex/context/base/page-lay.tex | 140 +- tex/context/base/page-lin.tex | 2 +- tex/context/base/page-log.tex | 2 +- tex/context/base/page-lyr.tex | 2 +- tex/context/base/page-mak.tex | 2 +- tex/context/base/page-mar.tex | 187 +- tex/context/base/page-mul.tex | 60 +- tex/context/base/page-not.tex | 2 +- tex/context/base/page-num.tex | 10 +- tex/context/base/page-one.tex | 2 +- tex/context/base/page-run.tex | 2 +- tex/context/base/page-set.tex | 2 +- tex/context/base/page-sid.tex | 10 +- tex/context/base/page-spr.tex | 2 +- tex/context/base/page-txt.tex | 2 +- tex/context/base/pdfr-il2.tex | 2 +- tex/context/base/plus-rul.tex | 2 +- tex/context/base/ppchtex.tex | 2 +- tex/context/base/prop-ini.tex | 2 +- tex/context/base/prop-lay.tex | 2 +- tex/context/base/prop-mis.tex | 18 +- tex/context/base/prop-run.tex | 2 +- tex/context/base/regi-cyp.tex | 2 +- tex/context/base/regi-cyr.tex | 2 +- tex/context/base/regi-def.tex | 2 +- tex/context/base/regi-grk.tex | 2 +- tex/context/base/regi-ibm.tex | 2 +- tex/context/base/regi-il1.tex | 2 +- tex/context/base/regi-ini.tex | 2 +- tex/context/base/regi-lat.tex | 2 +- tex/context/base/regi-mac.tex | 2 +- tex/context/base/regi-uni.tex | 2 +- tex/context/base/regi-utf.tex | 2 +- tex/context/base/regi-win.tex | 2 +- tex/context/base/s-abr-01.tex | 2 +- tex/context/base/s-abr-02.tex | 2 +- tex/context/base/s-abr-03.tex | 8 +- tex/context/base/s-chi-00.tex | 16 +- tex/context/base/s-faq-00.tex | 2 +- tex/context/base/s-faq-01.tex | 2 +- tex/context/base/s-faq-02.tex | 2 +- tex/context/base/s-faq-03.tex | 2 +- tex/context/base/s-fnt-01.tex | 2 +- tex/context/base/s-grk-00.tex | 2 +- tex/context/base/s-mag-01.tex | 4 +- tex/context/base/s-mod-00.tex | 28 +- tex/context/base/s-mod-01.tex | 2 +- tex/context/base/s-mod-02.tex | 2 +- tex/context/base/s-pre-00.tex | 2 +- tex/context/base/s-pre-01.tex | 2 +- tex/context/base/s-pre-02.tex | 2 +- tex/context/base/s-pre-03.tex | 2 +- tex/context/base/s-pre-04.tex | 2 +- tex/context/base/s-pre-05.tex | 2 +- tex/context/base/s-pre-06.tex | 2 +- tex/context/base/s-pre-07.tex | 2 +- tex/context/base/s-pre-08.tex | 2 +- tex/context/base/s-pre-09.tex | 2 +- tex/context/base/s-pre-10.tex | 2 +- tex/context/base/s-pre-13.tex | 2 +- tex/context/base/s-pre-14.tex | 2 +- tex/context/base/s-pre-15.tex | 2 +- tex/context/base/s-pre-16.tex | 2 +- tex/context/base/s-pre-19.tex | 2 +- tex/context/base/s-pre-22.tex | 2 +- tex/context/base/s-pre-23.tex | 2 +- tex/context/base/s-pre-50.tex | 2 +- tex/context/base/s-pre-60.tex | 2 +- tex/context/base/s-pre-61.tex | 2 +- tex/context/base/setupa.tex | 2 +- tex/context/base/setupb.tex | 28 +- tex/context/base/setupd.tex | 2 +- tex/context/base/setupe.tex | 2 +- tex/context/base/spec-def.tex | 6 +- tex/context/base/spec-dpm.tex | 4 +- tex/context/base/spec-dpx.tex | 2 +- tex/context/base/spec-dvi.tex | 2 +- tex/context/base/spec-fdf.tex | 2 +- tex/context/base/spec-ini.tex | 2 +- tex/context/base/spec-mis.tex | 2 +- tex/context/base/spec-pdf.tex | 6 +- tex/context/base/spec-ps.tex | 2 +- tex/context/base/spec-tpd.tex | 2 +- tex/context/base/spec-tr.tex | 2 +- tex/context/base/spec-var.tex | 2 +- tex/context/base/spec-win.tex | 38 +- tex/context/base/spec-yy.tex | 2 +- tex/context/base/supp-ali.tex | 2 +- tex/context/base/supp-box.tex | 5 +- tex/context/base/supp-emp.tex | 2 +- tex/context/base/supp-eps.tex | 2 +- tex/context/base/supp-fil.tex | 2 +- tex/context/base/supp-fun.tex | 2 +- tex/context/base/supp-ini.tex | 2 +- tex/context/base/supp-lan.tex | 2 +- tex/context/base/supp-mat.tex | 2 +- tex/context/base/supp-mis.tex | 2 +- tex/context/base/supp-mpe.tex | 2 +- tex/context/base/supp-mps.tex | 2 +- tex/context/base/supp-mrk.tex | 2 +- tex/context/base/supp-num.tex | 2 +- tex/context/base/supp-pdf.tex | 8 +- tex/context/base/supp-ran.tex | 2 +- tex/context/base/supp-spe.tex | 2 +- tex/context/base/supp-tpi.tex | 2 +- tex/context/base/supp-vis.tex | 2 +- tex/context/base/symb-eur.tex | 2 +- tex/context/base/symb-glm.tex | 2 +- tex/context/base/symb-ini.tex | 2 +- tex/context/base/symb-mis.tex | 2 +- tex/context/base/symb-mvs.tex | 6 +- tex/context/base/symb-nav.tex | 2 +- tex/context/base/symb-run.tex | 2 +- tex/context/base/syst-con.tex | 2 +- tex/context/base/syst-etx.tex | 22 +- tex/context/base/syst-ext.tex | 63 +- tex/context/base/syst-gen.tex | 2 +- tex/context/base/syst-new.tex | 2 +- tex/context/base/syst-omg.tex | 2 +- tex/context/base/syst-pln.tex | 2 +- tex/context/base/syst-prm.tex | 2 +- tex/context/base/syst-tex.tex | 2 +- tex/context/base/typo-ini.tex | 2 +- tex/context/base/unic-000.tex | 10 +- tex/context/base/unic-001.tex | 2 +- tex/context/base/unic-002.tex | 2 +- tex/context/base/unic-032.tex | 2 +- tex/context/base/unic-033.tex | 2 +- tex/context/base/unic-exp.tex | 2 +- tex/context/base/unic-ini.tex | 2 +- tex/context/base/verb-eif.tex | 2 +- tex/context/base/verb-ini.tex | 2 +- tex/context/base/verb-js.tex | 2 +- tex/context/base/verb-jv.tex | 2 +- tex/context/base/verb-mp.tex | 2 +- tex/context/base/verb-pas.tex | 2 +- tex/context/base/verb-pl.tex | 2 +- tex/context/base/verb-sql.tex | 2 +- tex/context/base/verb-tex.tex | 2 +- tex/context/base/verb-xml.tex | 2 +- tex/context/base/x-chemml.tex | 2 +- tex/context/base/x-contml.tex | 2 +- tex/context/base/x-corres.tex | 2 +- tex/context/base/x-dir-01.tex | 2 +- tex/context/base/x-fe.tex | 118 + tex/context/base/x-fig-00.tex | 2 +- tex/context/base/x-fig-01.tex | 2 +- tex/context/base/x-fig-02.tex | 2 +- tex/context/base/x-fig-03.tex | 2 +- tex/context/base/x-fo.tex | 3607 +++++++++++++ tex/context/base/x-foxet.tex | 13 + tex/context/base/x-mathml.tex | 2 +- tex/context/base/x-physml.tex | 2 +- tex/context/base/x-res-00.tex | 2 +- tex/context/base/x-res-01.tex | 2 +- tex/context/base/x-res-02.tex | 2 +- tex/context/base/x-res-03.tex | 2 +- tex/context/base/x-res-04.tex | 66 +- tex/context/base/x-res-08.tex | 2 +- tex/context/base/x-res-09.tex | 2 +- tex/context/base/x-res-10.tex | 2 +- tex/context/base/x-res-11.tex | 2 +- tex/context/base/x-res-50.tex | 2 +- tex/context/base/x-sch-00.tex | 2 +- tex/context/base/x-sch-01.tex | 2 +- tex/context/base/x-xml-01.tex | 4 +- tex/context/base/x-xml-02.tex | 26 +- tex/context/base/xtag-ent.tex | 2 +- tex/context/base/xtag-exp.tex | 2 +- tex/context/base/xtag-ext.tex | 2 +- tex/context/base/xtag-hyp.tex | 2 +- tex/context/base/xtag-ini.tex | 6 +- tex/context/base/xtag-map.tex | 44 +- tex/context/base/xtag-mmc.tex | 52 +- tex/context/base/xtag-mml.tex | 8 +- tex/context/base/xtag-mmp.tex | 6 +- tex/context/base/xtag-pml.tex | 2 +- tex/context/base/xtag-pmu.tex | 2 +- tex/context/base/xtag-pre.tex | 2 +- tex/context/base/xtag-prs.tex | 2 +- tex/context/base/xtag-raw.tex | 2 +- tex/context/base/xtag-rng.tex | 2 +- tex/context/base/xtag-run.tex | 2 +- tex/context/base/xtag-utf.tex | 2 +- tex/context/base/xtag-xsd.tex | 2 +- tex/context/base/xtag-xsl.tex | 2 +- tex/context/config/cont-usr.tex | 2 +- tex/context/foxet/fe-bryson.xml | 12 + tex/context/foxet/fe-ward.xml | 8 + tex/context/foxet/fe-zapf.xml | 14 + tex/context/foxet/fo-0101.fo | 8 + tex/context/foxet/fo-0102.fo | 16 + tex/context/foxet/fo-0103.fo | 12 + tex/context/foxet/fo-0201.fo | 22 + tex/context/foxet/fo-0301.fo | 56 + tex/context/foxet/fo-0601.fo | 26 + tex/context/foxet/fo-0602.fo | 27 + tex/context/foxet/fo-0603.fo | 26 + tex/context/foxet/fo-0604.fo | 26 + tex/context/foxet/fo-0611.fo | 21 + tex/context/foxet/fo-0612.fo | 21 + tex/context/foxet/fo-0613.fo | 21 + tex/context/foxet/fo-0621.fo | 100 + tex/context/foxet/fo-0641.fo | 25 + tex/context/foxet/fo-0642.fo | 27 + tex/context/foxet/fo-0643.fo | 27 + tex/context/foxet/fo-0644.fo | 27 + tex/context/foxet/fo-0650.fo | 26 + tex/context/foxet/fo-0651.fo | 26 + tex/context/foxet/fo-0701.fo | 39 + tex/context/foxet/fo-0801.fo | 54 + tex/context/foxet/fo-0901.fo | 48 + tex/context/foxet/fo-1001.fo | 63 + tex/context/foxet/fo-1002.fo | 31 + tex/context/foxet/fo-1003.fo | 31 + tex/context/foxet/fo-1004.fo | 35 + tex/context/foxet/fo-1101.fo | 68 + tex/generic/context/m-metapo.tex | 2 +- tex/generic/context/mptopdf.tex | 2 +- 409 files changed, 68363 insertions(+), 1671 deletions(-) create mode 100644 context/data/cont-cz.xml create mode 100644 context/data/cont-de.xml create mode 100644 context/data/cont-en.xml create mode 100644 context/data/cont-it.xml create mode 100644 context/data/cont-nl.xml create mode 100644 context/data/cont-ro.xml create mode 100644 scripts/context/ruby/texsync.rb create mode 100644 tex/context/base/x-fe.tex create mode 100644 tex/context/base/x-fo.tex create mode 100644 tex/context/base/x-foxet.tex create mode 100644 tex/context/foxet/fe-bryson.xml create mode 100644 tex/context/foxet/fe-ward.xml create mode 100644 tex/context/foxet/fe-zapf.xml create mode 100644 tex/context/foxet/fo-0101.fo create mode 100644 tex/context/foxet/fo-0102.fo create mode 100644 tex/context/foxet/fo-0103.fo create mode 100644 tex/context/foxet/fo-0201.fo create mode 100644 tex/context/foxet/fo-0301.fo create mode 100644 tex/context/foxet/fo-0601.fo create mode 100644 tex/context/foxet/fo-0602.fo create mode 100644 tex/context/foxet/fo-0603.fo create mode 100644 tex/context/foxet/fo-0604.fo create mode 100644 tex/context/foxet/fo-0611.fo create mode 100644 tex/context/foxet/fo-0612.fo create mode 100644 tex/context/foxet/fo-0613.fo create mode 100644 tex/context/foxet/fo-0621.fo create mode 100644 tex/context/foxet/fo-0641.fo create mode 100644 tex/context/foxet/fo-0642.fo create mode 100644 tex/context/foxet/fo-0643.fo create mode 100644 tex/context/foxet/fo-0644.fo create mode 100644 tex/context/foxet/fo-0650.fo create mode 100644 tex/context/foxet/fo-0651.fo create mode 100644 tex/context/foxet/fo-0701.fo create mode 100644 tex/context/foxet/fo-0801.fo create mode 100644 tex/context/foxet/fo-0901.fo create mode 100644 tex/context/foxet/fo-1001.fo create mode 100644 tex/context/foxet/fo-1002.fo create mode 100644 tex/context/foxet/fo-1003.fo create mode 100644 tex/context/foxet/fo-1004.fo create mode 100644 tex/context/foxet/fo-1101.fo diff --git a/context/data/cont-cz.xml b/context/data/cont-cz.xml new file mode 100644 index 000000000..3340cee8b --- /dev/null +++ b/context/data/cont-cz.xml @@ -0,0 +1,10267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/context/data/cont-de.xml b/context/data/cont-de.xml new file mode 100644 index 000000000..163d9c7ad --- /dev/null +++ b/context/data/cont-de.xml @@ -0,0 +1,10267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/context/data/cont-en.xml b/context/data/cont-en.xml new file mode 100644 index 000000000..724f7cbde --- /dev/null +++ b/context/data/cont-en.xml @@ -0,0 +1,10219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/context/data/cont-it.xml b/context/data/cont-it.xml new file mode 100644 index 000000000..fe42fc756 --- /dev/null +++ b/context/data/cont-it.xml @@ -0,0 +1,10212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/context/data/cont-nl.xml b/context/data/cont-nl.xml new file mode 100644 index 000000000..720b85030 --- /dev/null +++ b/context/data/cont-nl.xml @@ -0,0 +1,10253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/context/data/cont-ro.xml b/context/data/cont-ro.xml new file mode 100644 index 000000000..98df6a49d --- /dev/null +++ b/context/data/cont-ro.xml @@ -0,0 +1,10267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metapost/context/base/metafun.mp b/metapost/context/base/metafun.mp index f8cab41bf..818653f7b 100644 --- a/metapost/context/base/metafun.mp +++ b/metapost/context/base/metafun.mp @@ -1,15 +1,15 @@ %D \module %D [ file=metafun.mp, %D version=2000.07.15, -%D title=\CONTEXT\ \METAPOST\ graphics, -%D subtitle=format generation file, +%D title=\CONTEXT\ \METAPOST\ graphics, +%D subtitle=format generation file, %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. %D When generating many graphics at runtime, it can save run %D time to use a format file. We could have named this file @@ -21,28 +21,28 @@ %D (and as a result in buggy boundingbox and special %D handling). By using the name \type {metatex} we make sure %D that we use (unless overloaded) the settings of \type -%D {mpost}. - -if unknown ahangle : - input plain.mp ; % John Hobby's file -else : - let dump = relax ; -fi ; - -input mp-tool.mp ; -input mp-spec.mp ; -input mp-core.mp ; -input mp-page.mp ; -input mp-text.mp ; -input mp-shap.mp ; -input mp-butt.mp ; -input mp-char.mp ; -input mp-step.mp ; -input mp-grph.mp ; - -% mp-form.mp ; -input mp-grid.mp ; -input mp-func.mp ; +%D {mpost}. + +if unknown ahangle : + input plain.mp ; % John Hobby's file +else : + let dump = relax ; +fi ; + +input mp-tool.mp ; +input mp-spec.mp ; +input mp-core.mp ; +input mp-page.mp ; +input mp-text.mp ; +input mp-shap.mp ; +input mp-butt.mp ; +input mp-char.mp ; +input mp-step.mp ; +input mp-grph.mp ; + +% mp-form.mp ; +input mp-grid.mp ; +input mp-func.mp ; string metafunversion ; @@ -56,7 +56,7 @@ metafunversion = "metafun" & " " & let normalend = end ; def end = - message "" ; message metafunversion ; message "" ; normalend ; + ; message "" ; message metafunversion ; message "" ; normalend ; enddef ; dump ; endinput . diff --git a/scripts/context/perl/mptopdf.pl b/scripts/context/perl/mptopdf.pl index 026d8d80b..0528a4010 100644 --- a/scripts/context/perl/mptopdf.pl +++ b/scripts/context/perl/mptopdf.pl @@ -35,16 +35,16 @@ my $PassOn = '' ; "passon" => \$PassOn, "latex" => \$Latex ) ; -my $program = "MPtoPDF 1.2" ; +my $program = "MPtoPDF 1.3" ; my $pattern = $ARGV[0] ; my $done = 0 ; my $report = '' ; -my $latexswitch = " --tex=latex --format=latex " ; +my $texlatexswitch = " --tex=latex --format=latex " ; +my $mplatexswitch = " --tex=latex " ; -## $dosish = ($Config{'osname'} =~ /dos|mswin/i) ; -my $dosish = ($Config{'osname'} =~ /^(ms)?dos|^os\/2|^(ms|cyg)win/i) ; - -my $miktex = ($ENV{"TEXSYSTEM"} =~ /miktex/io); +my $dosish = ($Config{'osname'} =~ /^(ms)?dos|^os\/2|^(ms|cyg)win/i) ; +my $miktex = ($ENV{"TEXSYSTEM"} =~ /miktex/io); +my $escapeshell = ( ($ENV{'SHELL'}) && ($ENV{'SHELL'} =~ m/sh/i )); my @files ; my $command = my $mpbin = '' ; @@ -67,12 +67,14 @@ elsif ($pattern =~ /\.mp$/io) { if (/(documentstyle|documentclass|begin\{document\})/io) { $Latex = 1 ; last } } close (INP) } - if ($Latex) - { $rest .= " $latexswitch" } if ($RawMP) - { $mpbin = 'mpost' } + { if ($Latex) + { $rest .= " $mplatexswitch" } + $mpbin = 'mpost' } else - { $mpbin = 'texexec --mptex $PassOn' } + { if ($Latex) + { $rest .= " $texlatexswitch" } + $mpbin = 'texexec --mptex $PassOn' } my $error = system ("$mpbin $rest $pattern") ; if ($error) { print "\n$program : error while processing mp file\n" ; exit } @@ -96,8 +98,10 @@ foreach my $file (@files) else { $command = "pdfetex \\&mptopdf" } } else -# { $command = "pdfetex -progname=pdfetex -efmt=mptopdf" } - { $command = "pdfetex -progname=context \&mptopdf" } + { if ($dosish) + { $command = "pdfetex -progname=context &mptopdf" } + else + { $command = "pdfetex -progname=context \\&mptopdf" } } if ($dosish) { system ("$command \\relax $file") } else diff --git a/scripts/context/perl/texexec.pl b/scripts/context/perl/texexec.pl index 01355b6a6..08d625f51 100644 --- a/scripts/context/perl/texexec.pl +++ b/scripts/context/perl/texexec.pl @@ -33,7 +33,7 @@ eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' && eval 'exec perl -w - #D everything. Well, the result is a messy script like this ... Sorry. use strict ; -use warnings ; +#~ use warnings ; # strange warnings, todo # todo: second run of checksum of mp file with --nomprun changes # todo: warning if no args diff --git a/scripts/context/ruby/texsync.rb b/scripts/context/ruby/texsync.rb new file mode 100644 index 000000000..457e13c05 --- /dev/null +++ b/scripts/context/ruby/texsync.rb @@ -0,0 +1,200 @@ +#!/usr/bin/env ruby + +# program : texsync +# copyright : PRAGMA Advanced Document Engineering +# version : 1.1 - 2003/2004 +# author : Hans Hagen + +# For the moment this script only handles the 'minimal' context +# distribution. In due time I will add a few more options, like +# synchronization of the iso image. + +banner = ['TeXSync', 'version 1.1', '2002/2004', 'PRAGMA ADE/POD'] + +unless defined? ownpath + ownpath = $0.sub(/[\\\/]\w*?\.rb/i,'') + $: << ownpath +end + +require 'xmpl/switch' +require 'exa/logger' +require 'rbconfig' + +class Commands + + include CommandBase + + @@formats = ['en','nl','de','cz','it','ro'] + @@always = ['metafun','mptopdf','en','nl'] + @@rsync = 'rsync -r -z -c --progress --stats "--exclude=*.fmt" "--exclude=*.efmt" "--exclude=*.mem"' + + @@kpsewhich = Hash.new + + @@kpsewhich['minimal'] = 'SELFAUTOPARENT' + @@kpsewhich['context'] = 'TEXMFLOCAL' + @@kpsewhich['documentation'] = 'TEXMFLOCAL' + @@kpsewhich['unknown'] = 'SELFAUTOPARENT' + + def update + + report + + return unless destination = getdestination + + texpaths = gettexpaths + address = option('address') + user = option('user') + tree = option('tree') + force = option('force') + + ok = true + begin + report("synchronizing '#{tree}' from '#{address}' to '#{destination}'") + report + if texpaths then + texpaths.each do |path| + report("synchronizing path '#{path}' of '#{tree}' from '#{address}' to '#{destination}'") + command = "#{rsync} #{user}@#{address}::#{tree}/#{path} #{destination}/{path}" + ok = ok && system(command) if force + end + else + command = "#{@@rsync} #{user}@#{address}::#{tree} #{destination}" + ok = system(command) if force + end + rescue + report("error in running rsync") + ok = false + ensure + if force then + if ok then + if option('make') then + report("generating tex and metapost formats") + report + formats.delete_if do |f| + begin + `kpsewhich cont-#{f}`.chomp.empty? + rescue + end + end + str = [@@formats,@@always].flatten.uniq.join(' ') + begin + system("texexec --make --alone #{str}") + rescue + report("unable to generate formats '#{str}'") + else + report + end + else + report("regenerate the formats files if needed") + end + else + report("error in synchronizing '#{tree}'") + end + else + report("provide --force to execute '#{command}'") unless force + end + end + + end + + def list + + report + + address = option('address') + user = option('user') + result = nil + + begin + report("fetching list of trees from '#{address}'") + command = "#{@@rsync} #{user}@#{address}::" + if option('force') then + result = `#{command}`.chomp + else + report("provide --force to execute '#{command}'") + end + rescue + result = nil + else + if result then + report("available trees:") + report + reportlines(result) + end + ensure + report("unable to fetch list") unless result + end + + end + + private + + def gettexpaths + if option('full') then + texpaths = ['texmf','texmf-local','texmf-fonts','texmf-mswin','texmf-linux','texmf-macos'] + elsif option('terse') then + texpaths = ['texmf','texmf-local','texmf-fonts'] + case Config::CONFIG['host_os'] + when /mswin/ then texpaths.push('texmf-mswin') + when /linux/ then texpaths.push('texmf-linux') + when /darwin/ then texpaths.push('texmf-macosx') + end + else + texpaths = nil + end + texpaths + end + + def getdestination + if (destination = option('destination')) && ! destination.empty? then + begin + if @@kpsewhich.key?(destination) then + destination = @@kpsewhich[option('tree')] || @@kpsewhich['unknown'] + destination = `kpsewhich --expand-var=$#{destination}`.chomp + elsif ! FileTest.directory?(destination) then + destination = nil + end + rescue + report("unable to determine destination tex root") + else + if ! destination || destination.empty? then + report("no destination is specified") + elsif not FileTest.directory?(destination) then + report("invalid destination '#{destination}'") + elsif not FileTest.writable?(destination) then + report("destination '#{destination}' is not writable") + else + report("using destination '#{destination}'") + return destination + end + end + else + report("unknown destination") + end + return nil + end + +end + +logger = EXA::ExaLogger.new(banner.shift) +commandline = CommandLine.new + +commandline.registeraction('update', 'update installed tree') +commandline.registeraction('list', 'list available trees') + +commandline.registerflag('terse', 'download as less as possible (esp binaries)') +commandline.registerflag('full', 'download everything (all binaries)') +commandline.registerflag('force', 'confirm action') +commandline.registerflag('make', 'remake formats') + +commandline.registervalue('address', 'www.pragma-ade.com', 'adress of repository (www.pragma-ade)') +commandline.registervalue('user', 'guest', 'user account (guest)') +commandline.registervalue('tree', 'tex', 'tree to synchronize (tex)') +commandline.registervalue('destination', nil, 'destination of tree (kpsewhich)') + +commandline.registeraction('help') +commandline.registeraction('version') + +commandline.expand + +Commands.new(commandline,logger,banner).send(commandline.action || 'help') \ No newline at end of file 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

..

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 : | inherit +% border-before-style : | inherit +% border-before-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. +% +% whatevernote + +% 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 +% +% second: +% unset: +% nested:outer: +% last: +% +% \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 +% +% second: +% unset: +% nested:outer: +% last: +% +% \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 @@ + + +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. + 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 @@ + + +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. + 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 @@ + + +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 +widelypraised program, called up on the +screen, will make everything automatic from now on. + 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 @@ + + + + + + + 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 @@ + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + beforeafter + + + beforeafter + beforeafter + beforeafter + beforeafter + + + beforeafter + beforeafter + beforeafter + beforeafter + + + beforeafter + beforeafter + beforeafter + beforeafter + + + beforeafter + beforeafter + beforeafter + beforeafter + + + beforeafter + beforeafter + beforeafter + beforeafter + beforeafter + beforeafter + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + setting up simple page master 'any' + + + + + + setting up simple page master 'first-page' + + + + + + setting up simple page master 'left-page' + + + + + + setting up simple page master 'right-page' + + + + + + setting up simple page master 'blank-page' + + + + + + setting up simple page master 'odd' + + + + + + setting up simple page master 'even' + + + + + + setting up simple page master 'rest' + + + + + + + setting up page sequence master 'demo' + + + + + + + setting up page sequence master 'omed' + + + + + + + + + starting page sequence 'any' + + + + + + + + + starting page sequence 'demo' + + + + + + + + + starting page sequence 'omed' + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + Test 1 + + + Test 2 + + + Test 3 + + + Test 4 + + + Test 5 + + + Test 6 + + + Test 7 + + + + + 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 @@ + + + + + + + + + + + + + + + digits: + + + + + + characters: + + + + + + romannumerals: + + + + + + complex format: + + + + + + no format: + + + + + + + digits: + characters: + romannumerals: + complex format: + no format: + + + + 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 @@ + + + + + + + + + + + + + + + + times + helvetica + courier + + + times + helvetica + courier + + + times + helvetica + courier + + + times + helvetica + courier + + + times + helvetica + courier + + + times + helvetica + courier + + + + + 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 @@ + + + + + + + + + + + + + + + + a test line d 10pt + + a test line d 5pt + + a test line d 4pt + + a test line d d d + + + + a test line r d d + + + + a test line d r d + + + + a test line r r d + + + + a test line d d r + + + + a test line r d r + + + + a test line d r r + + + + a test line r r r + + + + a test line d r r force + + + + a test line + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + beforeinbetweenafter + + + beforeinbetweenafter + + + beforeinbetweenafter + + + beforeinbetweenafter + + + beforeinbetweenafter + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + [a] + + + + + + + + [b] + + + + + [bb] + + + + + + + + + + + test + S + S + S + F + F + F + A + A + A + R + R + R + test + Q + Q + Q + Q + + + + + 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, -- cgit v1.2.3