diff options
72 files changed, 1344 insertions, 1533 deletions
diff --git a/context/data/context.properties b/context/data/context.properties index 84a526d98..d0cf29fe9 100644 --- a/context/data/context.properties +++ b/context/data/context.properties @@ -47,7 +47,7 @@ import latex-scite # Example : patterns file.patterns.xml= -file.patterns.example=*.xml;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd +file.patterns.example=*.xml;*.xsl;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd filter.example=eXaMpLe|$(file.patterns.example)| @@ -73,7 +73,7 @@ name.context.texutil=texmfstart texutil.pl name.context.examplap=texmfstart --browser --file=http://localhost:8061/exalogin name.context.showcase=texmfstart --file=showcase.pdf --program=context -name.example.xmlcheck=tidy -xml -errors +name.example.xmlcheck=tidy -quiet -utf8 -xml -errors name.example.examplez=texmfstart examplez.rb name.metafun.mptopdf=texmfstart mptopdf.pl diff --git a/scripts/context/perl/texexec.pl b/scripts/context/perl/texexec.pl index 05cd18358..1693094ea 100644 --- a/scripts/context/perl/texexec.pl +++ b/scripts/context/perl/texexec.pl @@ -1306,6 +1306,7 @@ sub ScanContent { my ($ConTeXtInput) = @_; open( TEX, $ConTeXtInput ); while (<TEX>) { + next if (/^\%/) ; if ( /\\(starttekst|stoptekst|startonderdeel|startdocument|startoverzicht)/ ) @@ -1692,6 +1693,8 @@ if ($JobSuffix =~ /\_fo$/i) { if ($class eq 'job') { if ($key eq 'stylefile') { print TMP "\\environment $value\n" ; + } elsif ($key eq 'module') { + print TMP "\\usemodule[$value]\n" ; } elsif ($key eq 'interface') { $ConTeXtInterface = $value ; } @@ -1834,9 +1837,9 @@ if ($JobSuffix =~ /\_fo$/i) { } if (($dosish) && (!$Problems) && ($PdfOpen)) { if ($Result ne '') { - system("pdfopen --file $Result.pdf") + system("pdfopen --file $Result.pdf") if -f "$Result.pdf" } else { - system("pdfopen --file $JobName.pdf") + system("pdfopen --file $JobName.pdf") if -f "$JobName.pdf" } } } @@ -2218,7 +2221,7 @@ sub RunOneFormat { } if ($Problems) { $Problems = 0; - if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|pdfxtex|xpdfetex|eomega|aleph/io ) { + if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|pdfxtex|xpdfetex|eomega|aleph|xetex/io ) { $TeXPrefix = "*"; } my $CurrentPath = cwd(); diff --git a/scripts/context/ruby/textools.rb b/scripts/context/ruby/textools.rb index 1c7e4c926..d8928099c 100644 --- a/scripts/context/ruby/textools.rb +++ b/scripts/context/ruby/textools.rb @@ -121,13 +121,14 @@ class Commands report used = kpsefile(filename) || pathfile(filename) if paths = texmfroots then - found = false + found, prefered = false, false paths.each do |p| if files = texmffiles(p,filename) then found = true files.each do |f| # unreadable: report("#{if f == used then '>' else '.' end} #{f}") if f == used then + prefered = true report("> #{f}") else report(". #{f}") @@ -135,7 +136,11 @@ class Commands end end end - report("! #{used}") unless found + if prefered then + report("! #{used}") unless found + else + report("> #{used}") + end elsif used then report("? #{used}") else @@ -457,8 +462,79 @@ class Commands return used end + def touchcontextfile + maincontextfile = 'context.tex' + unless FileTest.file?(maincontextfile) then + begin + maincontextfile = `kpsewhich -progname=context #{maincontextfile}`.chomp + rescue + maincontextfile = '' + end + end + touchfile(maincontextfile) unless maincontextfile.empty? + end + + def downcasefilenames + if @commandline.option('recurse') then + files = Dir.glob('**/*') + else + files = Dir.glob('*') + end + if files && files.length>0 then + files.each do |oldname| + if FileTest.file?(oldname) then + newname = oldname.downcase + if oldname != newname then + begin + File.rename(oldname,newname) + rescue + report("#{oldname} == #{oldname}\n") + else + report("#{oldname} => #{newname}\n") + end + end + end + end + end + end + private # specific + def touchfile(filename) + + if FileTest.file?(filename) then + if data = IO.read(filename) then + timestamp = Time.now.strftime('%Y.%m.%d') + begin + data.gsub!(/\\contextversion\{(\d+)\.(\d+)\.(\d+)\}/) do + "\\contextversion{#{timestamp}}" + end + rescue + else + begin + File.delete(filename+'.old') + rescue + end + begin + File.copy(filename,filename+'.old') + rescue + end + begin + if f = File.open(filename,'w') then + f.puts(data) + f.close + end + rescue + end + end + report("#{filename} is touched as #{timestamp}") + end + else + report("#{filename} is not found") + end + + end + def movefiles(from_path,to_path,suffix,&block) obsolete = 'obsolete' force = @commandline.option('force') @@ -566,16 +642,19 @@ end logger = EXA::ExaLogger.new(banner.shift) commandline = CommandLine.new -commandline.registeraction('removemapnames' , '[pattern] [--recurse]') -commandline.registeraction('restoremapnames', '[pattern] [--recurse]') -commandline.registeraction('hidemapnames' , '[pattern] [--recurse]') -commandline.registeraction('videmapnames' , '[pattern] [--recurse]') -commandline.registeraction('findfile' , 'filename [--recurse]') -commandline.registeraction('unzipfiles' , '[pattern] [--recurse]') -commandline.registeraction('fixafmfiles' , '[pattern] [--recurse]') -commandline.registeraction('mactodos' , '[pattern] [--recurse]') -commandline.registeraction('fixtexmftrees' , '[texmfroot] [--force]') -commandline.registeraction('replace' , 'filename [--force]') +commandline.registeraction('touchcontextfile', '') # private +commandline.registeraction('downcasefilenames', '') # private + +commandline.registeraction('removemapnames' , '[pattern] [--recurse]') +commandline.registeraction('restoremapnames' , '[pattern] [--recurse]') +commandline.registeraction('hidemapnames' , '[pattern] [--recurse]') +commandline.registeraction('videmapnames' , '[pattern] [--recurse]') +commandline.registeraction('findfile' , 'filename [--recurse]') +commandline.registeraction('unzipfiles' , '[pattern] [--recurse]') +commandline.registeraction('fixafmfiles' , '[pattern] [--recurse]') +commandline.registeraction('mactodos' , '[pattern] [--recurse]') +commandline.registeraction('fixtexmftrees' , '[texmfroot] [--force]') +commandline.registeraction('replace' , 'filename [--force]') commandline.registeraction('help') commandline.registeraction('version') diff --git a/scripts/context/ruby/xmltools.rb b/scripts/context/ruby/xmltools.rb index 05dd93ba3..b92f159e3 100644 --- a/scripts/context/ruby/xmltools.rb +++ b/scripts/context/ruby/xmltools.rb @@ -91,8 +91,13 @@ class Commands output.xputs("<file name='#{bn}'>\n", 4) end output.xputs("<base>#{bn.sub(/\..*$/,'')}</base>\n", 6) - output.xputs("<type>#{bn.sub(/^.*\./,'')}</type>\n", 6) - output.xputs("<size>#{File.stat(f).size}</size>\n", 6) + if File.stat(f).file? then + bt = bn.sub(/^.*\./,'') + if bt != bn then + output.xputs("<type>#{bt}</type>\n", 6) + end + output.xputs("<size>#{File.stat(f).size}</size>\n", 6) + end output.xputs("<date>#{File.stat(f).mtime.strftime("%Y-%m-%d %H:%M")}</date>\n", 6) output.xputs("</file>\n", 4) end diff --git a/scripts/context/ruby/xmpl/switch.rb b/scripts/context/ruby/xmpl/switch.rb index 9c38cdbdd..c0fd1d624 100644 --- a/scripts/context/ruby/xmpl/switch.rb +++ b/scripts/context/ruby/xmpl/switch.rb @@ -115,7 +115,14 @@ module CommandBase files = Array.new pattern.split(' ').each do |p| - p = '**/' + p if recurse + if recurse then + if p =~ /^(.*)(\/.*?)$/i then + p = $1 + '/**' + $2 + else + p = '**/' + p + end + p.gsub!(/[\\\/]+/, '/') + end files.push(Dir.glob(p)) end files.flatten.sort do |a,b| @@ -463,4 +470,4 @@ end # end # # c.showhelp("you can provide:\n\n") -# c.showmandate("you also need to provide:\n\n")
\ No newline at end of file +# c.showmandate("you also need to provide:\n\n") diff --git a/tex/context/base/colo-hex.tex b/tex/context/base/colo-hex.tex index 565203191..b493b8c6b 100644 --- a/tex/context/base/colo-hex.tex +++ b/tex/context/base/colo-hex.tex @@ -93,4 +93,25 @@ {\setxvalue{\??cr#5}{\hexcolorpattern{#6}}} {\dodododefinecolor#1#2#3#4[#5][#6]}} +%D For Adam Lindsay and his XeTeX special driver: + +% because we intercept the zero condition, the .23pt in 1.23pt will disappear in the +% ifcase zero part branch + +\def\colorhexcomponent#1% + {\ifdim#1\points<.005\points + 00\else\lchexnumbers{\the\dimexpr(255\dimexpr(#1\points)\relax+.5\points)\relax}% + \fi} + +% the faster one + +\newdimen\hex@color@a \hex@color@a=.005pt +\newdimen\hex@color@b \hex@color@b=.5pt +\chardef \hex@color@c =255 + +\def\colorhexcomponent#1% + {\ifdim#1\points<\hex@color@a + 00\else\lchexnumbers{\the\dimexpr(#1\points*\hex@color@c+\hex@color@b)\relax}% + \fi} + \protect \endinput diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex index 153e09ca0..6c39a2c4d 100644 --- a/tex/context/base/cont-fil.tex +++ b/tex/context/base/cont-fil.tex @@ -37,6 +37,8 @@ \definefilesynonym [fig-fake] [fig-02] \definefilesynonym [fig-missing] [fig-06] +\definefilesynonym [exi-interface] [exi-21] + \definefilesynonym [res-make] [res-01] \definefilesynonym [res-base] [res-04] \definefilesynonym [res-crop] [res-07] diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 502c3cfe0..966740bd3 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -23,6 +23,51 @@ \ifx\normalcompound\undefined \let\normalcompound=| \fi +% in xtag-ini: + +\def\doexecuteXMLhexcharacter#1\relax{\getXMLcharacter{"#1}} + +% in xtag-map: + +\unexpanded\def\xmlrent#1{\doXMLentity#1;} + +% In 2005 we will abandon support for font encodings that don't have +% the ascii characters { } $ etc in their normal slot, i.e. latin modern +% instead of computer modern. Then we can also clean up some of the ugly +% xml internals that are a result from the need to deal with funny +% encodings. +% +% a solution: +% +% \defineXMLargument[ctx:c]{\getXMLcharacter} +% \defineXMLargument[ctx:e]{\getXMLentity } +% \defineXMLargument[ctx:u]{\unicodechar } +% +% \bgroup \catcode`\<=\active \catcode`\&=\active +% +% \gdef\dontexpandutf +% {\def\getXMLcharacter##1{<ctx:c>##1</ctx:c>}% +% \def\getXMLentity ##1{<ctx:e>##1</ctx:e>}% +% \def\unicodechar ##1{<ctx:u>##1</ctx:u>}} +% +% \egroup +% +% more generic + +\def\XMLexpanded#1% + {\bgroup + \honorunexpanded +% \dontexpandencoding +% \dontexpandutf + \let\dohandleactivecharacter\donthandleactivecharacter + \xdef\@@globalexpanded{#1}% + \egroup + \@@globalexpanded} + +\def\setXMLexpandedmark#1#2% using a tok prevents unwanted expansion in mark + {\XMLexpanded{\scratchtoks{\enableXML#2}}% + \expanded{\normalsetnormalmark{#1}{\the\scratchtoks}}} + \def\checksoundtrack#1% {\iflocation \doifdefined{\??sd:#1}{\doifvaluesomething{\??sd:#1} @@ -570,7 +615,7 @@ % \dontshowcomposition % \inleftmargin{\vsmash % {\switchtobodyfont[7pt,tt]% -% \framed[\c!uitlijnen=\v!rechts]{\thepardata}}}% +% \framed[\c!align=\v!right]{\thepardata}}}% % \endgroup} % % \def\startshowpardata @@ -702,8 +747,8 @@ % {\begingroup % \def\currentlayer{#1}% todo: left/right % \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox -% \hsize\layerparameter\c!breedte % \overlaywidth = \hsize -% \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize +% \hsize\layerparameter\c!width % \overlaywidth = \hsize +% \vsize\layerparameter\c!height % \overlaywheight = \vsize % \hbox to \hsize{\composedlayer{#1}}% % \endgroup} @@ -746,8 +791,8 @@ % {\doifvalue{##1\c!variant}\v!verborgen{\let\next\phantom}}% % \next % {\localframed[##1] -% [\c!kaderkleur=rollover,\c!achtergrondkleur=rollover,\c!kleur=rollover]% -% {\dolocationattributes{##1}\c!letter\c!kleur{#3}}}}% +% [\c!framecolor=rollover,\c!backgroundcolor=rollover,\c!color=rollover]% +% {\dolocationattributes{##1}\c!style\c!color{#3}}}}% % \iffirstargument % \ifsecondargument % \def\setlocationbox##1{\dosetlocationbox[\??am#1]{##1}[#2]}% @@ -766,7 +811,7 @@ % \nextsystemfield % \setupfield % [rollbutton] -% [\c!kader=\v!uit,\c!offset=\v!overlay,\c!klikuit={#4}]% +% [\c!frame=\v!off,\c!offset=\v!overlay,\c!klickoff={#4}]% % \definefield % [\currentsystemfield][push][rollbutton] % [rsym:\nofrollovers:n,% diff --git a/tex/context/base/cont-usr.ori b/tex/context/base/cont-usr.ori index 1a98f77ac..50556c463 100644 --- a/tex/context/base/cont-usr.ori +++ b/tex/context/base/cont-usr.ori @@ -26,6 +26,7 @@ %D Thomas Esser's \TETEX\ distribution.) This list will be %D adapted to the actual situation. +\definefilesynonym [lang-ca.pat] [cahyph.tex] \definefilesynonym [lang-da.pat] [dkhyph.tex] \definefilesynonym [lang-de.pat] [dehyphn.tex] \definefilesynonym [lang-es.pat] [eshyph.tex] @@ -107,6 +108,7 @@ %D --all}. % \installlanguage [\s!af] [\c!state=\v!start] % afrikaans +% \installlanguage [\s!ca] [\c!state=\v!start] % catalan % \installlanguage [\s!cz] [\c!state=\v!start] % czech % \installlanguage [\s!da] [\c!state=\v!start] % danish % \installlanguage [\s!de] [\c!state=\v!start] % german @@ -138,6 +140,7 @@ %D used at startup time. % \setupcurrentlanguage[\s!af] +% \setupcurrentlanguage[\s!ca] % \setupcurrentlanguage[\s!cz] % \setupcurrentlanguage[\s!da] % \setupcurrentlanguage[\s!de] diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index f87d35d3a..dee6cd6e3 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -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.9.17} +\def\contextversion{2004.10.07} %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 03dea26f7..c1bfaefc6 100644 --- a/tex/context/base/core-box.tex +++ b/tex/context/base/core-box.tex @@ -900,7 +900,7 @@ \box\scratchbox \egroup} -% \backgroundimage{\hsize}{\vsize}{1}{\externalfigure[cow][\c!breedte=3cm]} +% \backgroundimage{\hsize}{\vsize}{1}{\externalfigure[cow][\c!width=3cm]} \def\backgroundimage#1#2#3% repeat hsize vsize {\bgroup diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex index 742c4272a..3c107b6ff 100644 --- a/tex/context/base/core-des.tex +++ b/tex/context/base/core-des.tex @@ -364,11 +364,6 @@ \def\showdnpuretext#1% {\strut\getvalue{\??dd#1\c!text}} % geen spatie -% \def\showdntext#1% -% {\doifelsevaluenothing{\??dd#1\c!tekst} -% {\ignorespaces} -% {\strut\getvalue{\??dd#1\c!tekst}\fixedspace}} - \def\showdntext#1% {\doifelsevaluenothing{\??dd#1\c!text} {\ignorespaces} @@ -376,31 +371,26 @@ \getvalue{\??dd#1\c!text}% \removeunwantedspaces\fixedspace}} -% \def\showdnnummer#1% -% {\voorafgaandenummer -% \convertednumber[\getvalue{\??dd#1\??dd\c!nummer}]} - -\def\showdnnummer#1% - {%\preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber - \preparednumber +\def\showdnnumber#1% + {\preparednumber \convertednumber[\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubnummer#1% - {\showdnnummer{#1}% +\def\showdnsubnumber#1% + {\showdnnumber{#1}% \getvalue{\??dd#1\c!separator}% \convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubsubnummer#1% - {\showdnsubnummer{#1}% +\def\showdnsubsubnumber#1% + {\showdnsubnumber{#1}% \getvalue{\??dd#1\c!separator}% \convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubsubsubnummer#1% - {\showdnsubsubnummer{#1}% +\def\showdnsubsubsubnumber#1% + {\showdnsubsubnumber{#1}% \getvalue{\??dd#1\c!separator}% \convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\domakednnummer#1#2#3% +\def\domakednnumber#1#2#3% {\getvalue{\??dd#2#1\c!left}% \strut#3{#1}% \getvalue{\??dd#2#1\c!stopper}% @@ -450,7 +440,7 @@ {\??dd#1}\c!headstyle\c!headcolor {\getvalue{\??dd#1\c!command}% hook for taco {\showdntext{#2#1}% - \domakednnummer{#1}{#2}{#3}}}% + \domakednnumber{#1}{#2}{#3}}}% \iflocation\ifcase\descriptioncoupling \else \edef\localconnection{\getvalue{\??dd#1\c!coupling}:\@@internalenumber}% \doifreferencefoundelse\localconnection @@ -464,57 +454,57 @@ \doifnot{#5}{-}{\rawreference\s!num{#5}{}}% \fi} -\def\@@ddsetsubsubsubnummer#1% +\setvalue{\??dd\s!set\v!sub\s!sub\s!sub\c!number}#1% {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% \setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddsetsubsubnummer#1% - {\@@ddresetsubsubsubnummer{#1}% +\setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1% + {\@@ddresetsubsubsubnumber{#1}% \setnumber[\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddsetsubnummer#1% - {\@@ddresetsubsubnummer{#1}% +\setvalue{\??dd\s!set\v!sub\c!number}#1% + {\@@ddresetsubsubnumber{#1}% \setnumber[\v!sub\@@descriptionnumber]} -\def\@@ddsetnummer#1% - {\@@ddresetsubnummer{#1}% +\setvalue{\??dd\s!set\c!number}#1% + {\@@ddresetsubnumber{#1}% \setnumber[\@@descriptionnumber]} -\def\@@ddresetsubsubsubnummer#1% +\setvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}#1% {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% \resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddresetsubsubnummer#1% - {\@@ddresetsubsubsubnummer{#1}% +\setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1% + {\@@ddresetsubsubsubnumber{#1}% \resetnumber[\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddresetsubnummer#1% - {\@@ddresetsubsubnummer{#1}% +\setvalue{\??dd\s!reset\v!sub\c!number}#1% + {\@@ddresetsubsubnumber{#1}% \resetnumber[\v!sub\@@descriptionnumber]} -\def\@@ddresetnumber#1% - {\@@ddresetsubnummer{#1}% +\setvalue{\??dd\s!reset\c!number}#1% + {\@@ddresetsubnumber{#1}% \resetnumber[\@@descriptionnumber]} -\def\@@ddvolgendesubsubsubnummer#1[#2]% +\setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}#1[#2]% {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubsubsubnummer{\@@descriptionnumber}}}% + \rawreference\s!num{#2}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% -\def\@@ddvolgendesubsubnummer#1[#2]% - {\@@ddresetsubsubsubnummer{#1}% +\setvalue{\??dd\e!next\v!sub\v!sub\c!number}#1[#2]% + {\@@ddresetsubsubsubnumber{#1}% \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubsubnummer{\@@descriptionnumber}}} + \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}} -\def\@@ddvolgendesubnummer#1[#2]% - {\@@ddresetsubsubnummer{#1}% +\setvalue{\??dd\e!next\v!sub\c!number}#1[#2]% + {\@@ddresetsubsubnumber{#1}% \incrementnumber[\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubnummer{\@@descriptionnumber}}} + \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}} -\def\@@ddvolgendenummer#1[#2]% - {\@@ddresetsubnummer{#1}% +\setvalue{\??dd\e!next\c!number}#1[#2]% + {\@@ddresetsubnumber{#1}% \incrementnumber[\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnnummer{\@@descriptionnumber}}} + \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}} \def\dodosetupenumerations[#1][#2]% {\getparameters[\??dd#1][#2]% @@ -566,9 +556,9 @@ \c!blockway=\getvalue{\??dd#1\c!blockway}, \c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]% \doifvalue{\??dd#1\c!levels}{#2}% % for - {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old + {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old {\setupnumber[#3#1] % times - [\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake + [\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake \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]}} @@ -581,15 +571,15 @@ \def\donextenumerationnumber[#1][#2]% {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking - \getvalue{\??dd\c!next#2\c!number}{#1}}% + \getvalue{\??dd\e!next#2\c!number}{#1}}% \def\dodefineenumeration[#1][#2][#3]% - {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnummer - \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnummer - \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnummer - \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnummer} + {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnumber + \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnumber + \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnumber + \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnumber} -\def\defineenumeration% +\def\defineenumeration {\dotripleemptywithset\dodefineenumeration} % Het default-mechanisme kan mooier: leegtest, enz. @@ -689,7 +679,7 @@ \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]}} + \setvalue{\c!current #1}{\currentnumber[#1]}} % todo \def\do@@label[#1][#2]% {\getvalue{\??lb#1\c!before}% diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex index d008e472d..fa47c0639 100644 --- a/tex/context/base/core-fig.tex +++ b/tex/context/base/core-fig.tex @@ -1901,15 +1901,6 @@ \vtop{\vskip12pt\box2\vskip6pt}}% \endgroup} -% \def\dodostartfigure[#1][#2][#3]#4\stopfigure -% {\doifelse\v!test\@@exoptie -% {\teststartfigure[#1][#2][#3]#4\teststopfigure -% \let\@@exhokjes\v!aan} -% {\let\@@exhokjes\v!uit}% -% \setvalue{\??ef\??ef#1}% -% {\dosingleempty{\placestartfigure[#1][#2][#3]#4\placestopfigure}}% -% \doifundefined{#1}{\setvalue{#1}{\getexternalfigure{#1}}}} - \def\dodostartfigure[#1][#2][#3]#4\stopfigure {\doifelse\v!test\@@exoption {\teststartfigure[#1][#2][#3]#4\teststopfigure diff --git a/tex/context/base/core-gen.tex b/tex/context/base/core-gen.tex index 8b5fc5eac..1b7133280 100644 --- a/tex/context/base/core-gen.tex +++ b/tex/context/base/core-gen.tex @@ -107,50 +107,31 @@ %D %D Let's give this a try: -\let\nopv!geen \v!none -\let\posv!groot \v!big -\let\posv!middel \v!medium -\let\posv!klein \v!small -\edef\negv!groot {-\v!big } -\edef\negv!middel{-\v!medium} -\edef\negv!klein {-\v!small } - -%\def\assigndimension#1#2#3#4#5% -% {\edef\!!stringa{#1}% -% \ifx\!!stringa\nopv!geen #2=\zeropoint\else -% \ifx\!!stringa\posv!groot #2=#5\else -% \ifx\!!stringa\posv!middel#2=#4\else -% \ifx\!!stringa\posv!klein #2=#3\else -% \ifx\!!stringa\negv!groot #2=-#5\else -% \ifx\!!stringa\negv!middel#2=-#4\else -% \ifx\!!stringa\negv!klein #2=-#3\else -% #2=#1\fi\fi\fi\fi\fi\fi\fi} -% -%\def\assignalfadimension#1#2#3#4#5% -% {\edef\!!stringa{#1}% -% \ifx\!!stringa\posv!groot \edef#2{#5}\else -% \ifx\!!stringa\posv!middel\edef#2{#4}\else -% \ifx\!!stringa\posv!klein \edef#2{#3}\else -% \ifx\!!stringa\nopv!geen \edef#2{0}\else -% \edef#2{#1}\fi\fi\fi\fi} +\let\nopv!none \v!none +\let\posv!big \v!big +\let\posv!middle \v!medium +\let\posv!small \v!small +\edef\negv!big {-\v!big} +\edef\negv!middle{-\v!medium} +\edef\negv!small {-\v!small} \def\assigndimension#1#2#3#4#5% {\edef\!!stringa{#1}% - #2=\ifx\!!stringa\nopv!geen \zeropoint\else - \ifx\!!stringa\posv!groot #5\else - \ifx\!!stringa\posv!middel #4\else - \ifx\!!stringa\posv!klein #3\else - \ifx\!!stringa\negv!groot -#5\else - \ifx\!!stringa\negv!middel-#4\else - \ifx\!!stringa\negv!klein -#3\else + #2=\ifx\!!stringa\nopv!none \zeropoint\else + \ifx\!!stringa\posv!big #5\else + \ifx\!!stringa\posv!middle #4\else + \ifx\!!stringa\posv!small #3\else + \ifx\!!stringa\negv!big -#5\else + \ifx\!!stringa\negv!middle-#4\else + \ifx\!!stringa\negv!small -#3\else #1\fi\fi\fi\fi\fi\fi\fi} \def\assignalfadimension#1#2#3#4#5% {\edef\!!stringa{#1}% - \edef#2{\ifx\!!stringa\posv!groot #5\else - \ifx\!!stringa\posv!middel#4\else - \ifx\!!stringa\posv!klein #3\else - \ifx\!!stringa\nopv!geen 0\else + \edef#2{\ifx\!!stringa\posv!big #5\else + \ifx\!!stringa\posv!middle#4\else + \ifx\!!stringa\posv!small #3\else + \ifx\!!stringa\nopv!none 0\else #1\fi\fi\fi\fi}} %D \macros @@ -186,23 +167,16 @@ [#1] [ \v!small=>\edef#2{#3}, \v!medium=>\edef#2{#4}, - \v!big=>\edef#2{#5}, + \v!big=>\edef#2{#5}, \s!unknown=>\edef#2{#1}]} %D Or faster: -%\def\assignvalue#1#2#3#4#5% -% {\edef\!!stringa{#1}% -% \ifx\!!stringa\posv!groot \edef#2{#5}\else -% \ifx\!!stringa\posv!middel\edef#2{#4}\else -% \ifx\!!stringa\posv!klein \edef#2{#3}\else -% \edef#2{#1}\fi\fi\fi} - \def\assignvalue#1#2#3#4#5% {\edef\!!stringa{#1}% - \edef#2{\ifx\!!stringa\posv!groot #5\else - \ifx\!!stringa\posv!middel#4\else - \ifx\!!stringa\posv!klein #3\else + \edef#2{\ifx\!!stringa\posv!big #5\else + \ifx\!!stringa\posv!middle#4\else + \ifx\!!stringa\posv!small #3\else #1\fi\fi\fi}} %D \macros diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex index 29da77566..230f833b5 100644 --- a/tex/context/base/core-int.tex +++ b/tex/context/base/core-int.tex @@ -713,8 +713,8 @@ % \!!doneafalse % \fi % \if!!donea -% \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax -% \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname +% \ifcase\csname\??am\??am\csname#1\c!samepage\endcsname\endcsname\relax +% \copycsname#1\c!color\endcsname\csname#1\c!contrastkleur\endcsname % \@EAEAEA\dosetlocationboxyes % \or % \@EAEAEA\dosetlocationboxempty @@ -729,7 +729,7 @@ % % \def\setlocationboxnop#1% % {\locationclickfalse -% \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax +% \ifcase\csname\??am\??am\csname#1\c!unknownreference\endcsname\endcsname\relax % \@EA\dosetlocationboxyes % \or % \@EA\dosetlocationboxempty @@ -741,14 +741,14 @@ % % \def\setlocationbox#1[#2]#3[#4]% % {\bgroup % really needed ! -% \edef\permittedreferences{\csname#1\c!blokkade\endcsname}% +% \edef\permittedreferences{\csname#1\c!obstruction\endcsname}% % \doifreferencepermittedelse{#4} % {\setlocationboxyes{#1}[#2]{#3}[#4]} % {\setlocationboxnop{#1}[#2]{#3}[#4]}% % \egroup} % % \def\setlocationboxraw#1[#2]#3[#4]% -% {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}} +% {\localframed[#1][#2]{\dolocationattributes{#1}\c!style\c!color{#3}}} \def\setlocationboxyes#1[#2]#3[#4]% {\locationclicktrue @@ -2243,45 +2243,45 @@ \struttedbox{\tbox{\dodocomment{#3}}\hss}}}% \ignorespaces} -% \startcommentaar +% \startcomment % hello beautiful\\world -% \stopcommentaar +% \stopcomment % -% \startcommentaar[hallo] +% \startcomment[hello] % hello << \'e\'erste >> % beautiful % world -% \stopcommentaar +% \stopcomment % -% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm] +% \startcomment[hello][color=green,width=4cm,height=3cm] % hello \leftguillemot\ \'e\'erste \rightguillemot\ % beautiful % world % \stopcommentaar % -% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm] +% \startcomment[hello][color=green,width=4cm,height=3cm] % hello \leftguillemot\ \'e\'erste \rightguillemot\ test % % beautiful % % world -% \stopcommentaar +% \stopcomment % -% \startcommentaar[symbool=Balloon] +% \startcomment[symbol=Balloon] % Do we want this kind of rubish? And, why isn't this and % some more features related to text annotations so poorly % (actually not) documented? Anyhow, by providing this % functionality we demonstrate that \pdfTeX\ can do it. By % the way, it's funny that when in Acrobat we scale up the % text, the symbols scale down. -% \stopcommentaar +% \stopcomment -% \definesymbol [comment-normal][{\externalfigure[koe.pdf]}] -% \definesymbol [comment-down] [{\externalfigure[koe.pdf]}] +% \definesymbol [comment-normal][{\externalfigure[cow.pdf]}] +% \definesymbol [comment-down] [{\externalfigure[cow.pdf]}] % % \def\CowSymbol#1#2% % {\scale -% [\c!hoogte=#1] +% [\c!height=#1] % {\startMPcode % loadfigure "koe.mp" number 1 ; % refill currentpicture withcolor #2 ; @@ -2294,8 +2294,8 @@ % [\CowSymbol{4ex}{green}] % % \setupcomment -% [\c!symbool={comment-normal,comment-down}, -% \c!optie=\v!buffer] +% [\c!symbol={comment-normal,comment-down}, +% \c!option=\v!buffer] % % \setupfootertexts[\placecomments] diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex index 417e5411a..a248b1077 100644 --- a/tex/context/base/core-itm.tex +++ b/tex/context/base/core-itm.tex @@ -366,112 +366,6 @@ {\dodostartitemgroup[#2][]}% \fi} -% \def\dodostartitemgroup[#1][#2]% -% {\setfalse\inlinelistitem % new, no indent (leftskip) -% \setfalse\concatnextitem % new, concat -% \ifhmode -% \ifconditional\autoconcatnextitem % new, concat -% \ifdim\lastskip=\itemsignal % new, concat -% \settrue\concatnextitem % new, concat -% \fi % new, concat -% \fi % new, concat -% \iftextitems\else\doifnotinset\v!tekst{#1}\par\fi % suboptimal -% \fi -% \ifnum\itemlevel=\maxitemlevel\relax -% \showmessage\m!layouts9\maxitemlevel -% \def\itemincrement{0}% -% \else -% \def\itemincrement{1}% -% \fi -% \doglobal\increment(\itemlevel,\itemincrement)% -% \initializeitemgrouplevel\itemlevel % safeguard -% \begingroup -% \ifnum\itemlevel=\plusone % NIEUW -% \doadaptleftskip{\getitemparameter1\c!marge}% -% \fi -% \dosetraggedcommand{\getitemparameter\itemlevel\c!uitlijnen}\raggedcommand -% \doifsomething{\getitemparameter\itemlevel\c!inspringen} -% {\expanded{\setupindenting[\getitemparameter\itemlevel\c!inspringen]}}% -% \doifinset\v!kolommen{#1}% -% {\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount -% \globallet\itemcolumndepth\itemlevel -% \getitemparameter\itemlevel\c!voor -% \processfirstactioninset -% [#1] -% [ \v!een=>\!!counta1\relax, -% \v!twee=>\!!counta2\relax, -% \v!drie=>\!!counta3\relax, -% \v!vier=>\!!counta4\relax, -% \v!vijf=>\!!counta5\relax, -% \s!unknown=>\@EA\!!counta\getitemparameter\itemlevel\c!n]% -% % new -% \edef\columneditemleftskip{\the\leftskip}% -% \def\postprocesscolumnbox##1% -% {\scratchdimen\columneditemleftskip -% \divide\scratchdimen \nofcolumns -% \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}% -% \scratchdimen-\columneditemleftskip -% \multiply\scratchdimen \nofcolumns -% \advance\scratchdimen \columneditemleftskip -% \advance\scratchdimen \hsize -% \edef\columntextwidth{\the\scratchdimen}% -% \leftskip\zeropoint -% % so far -% \startcolumns -% [\c!n=\!!counta, % netter \??op\itemlevel\c!n -% \c!hoogte=, -% \c!lijn=\v!uit, -% \c!balanceren=\v!ja, -% \c!uitlijnen=\v!nee]% -% \fi\fi}% -% \doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse -% \doglobal\increment\noflists -% \let\currentlist\noflists -% \newcounter\noflistelements -% \headitemfalse -% \subitemfalse -% \symbolitemfalse -% \let\marsymbol\relax -% \globallet\somdestination\empty -% \let\symsymbol\empty -% \the\itemgroupcommands -% \setitemlevel{#1}% -% \getitemparameter\itemlevel\empty -% \doifelsenothing{#1} % iffirstargument -% {\edef\@@opsymbool{\getitemparameter\itemlevel\c!symbool}% -% \letgvalueempty{\@@globalitemsymbol\itemlevel}% -% \global\letitemparameter\itemlevel\v!verder\empty -% \setitemmark\@@opsymbool -% \dosetupitemgroupvariable[\itemlevel][#2]} -% {\dosetupitemgroupconstant[\itemlevel][#1]% -% \dosetupitemgroupvariable[\itemlevel][#2]% -% \doifinsetelse\v!verder{#1}% \noexpand, else problems in non-etex with chinese -% {\edef\@@opsymbool{\noexpand\getvalue{\@@globalitemsymbol\itemlevel}}% -% \getitemparameter\itemlevel\v!verder} -% {\edef\@@opsymbool{\noexpand\getitemparameter{\itemlevel}{\c!symbool}}% -% \global\setitemparameter\itemlevel\v!verder -% {\dosetupitemgroupconstant[\itemlevel][#1]% -% \dosetupitemgroupvariable[\itemlevel][#2]}}% -% \def\docommando##1% \setitemmark resets \docommando -% {\doifnot{##1}{0}{\setitemmark{##1}}}% -% \processcommalist[#1,\@@opsymbool]\docommando}% -% \ifautoitemintro\ifnum\prevgraf<3 -% \itemintrotrue -% \fi\fi -% \ifparagraphitems -% \ifnum\itemlevel>\plusone -% \letitemparameter\itemlevel\c!tussen\empty -% \fi -% \else\ifpackeditems -% \letitemparameter\itemlevel\c!tussen\empty -% \fi\fi -% \calculatelistwidth\itemlevel{\dimen0}% -% \ifdim\dimen0>\zeropoint\relax -% \ifconditional\inlinelistitem\else -% \advance\leftskip \dimen0\relax -% \fi -% \fi} - \def\dodostartitemgroup[#1]% [#2]% {\relax % prevents lookahead \ifnum\itemlevel=\maxitemlevel\relax @@ -490,105 +384,6 @@ \fi \expanded{\redostartitemgroup[\itemgroupoptions]}}% [#2] -% \def\redostartitemgroup[#1][#2]% -% {\setfalse\inlinelistitem % new, no indent (leftskip) -% \setfalse\concatnextitem % new, concat -% \ifhmode -% \ifconditional\autoconcatnextitem % new, concat -% \ifdim\lastskip=\itemsignal % new, concat -% \settrue\concatnextitem % new, concat -% \fi % new, concat -% \fi % new, concat -% \iftextitems\else\doifnotinset\v!tekst{#1}\par\fi % suboptimal -% \fi -% \begingroup -% \ifnum\itemlevel=\plusone % NIEUW -% \doadaptleftskip{\getitemparameter1\c!marge}% -% \fi -% \dosetraggedcommand{\getitemparameter\itemlevel\c!uitlijnen}\raggedcommand -% \doifsomething{\getitemparameter\itemlevel\c!inspringen} -% {% is \expanded needed? -% \expanded{\setupindenting[\getitemparameter\itemlevel\c!inspringen]}}% -% \doifinset\v!kolommen{#1}% -% {\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount -% \globallet\itemcolumndepth\itemlevel -% \getitemparameter\itemlevel\c!voor -% \processfirstactioninset -% [#1] -% [ \v!een=>\!!counta1\relax, -% \v!twee=>\!!counta2\relax, -% \v!drie=>\!!counta3\relax, -% \v!vier=>\!!counta4\relax, -% \v!vijf=>\!!counta5\relax, -% \s!unknown=>\@EA\!!counta\getitemparameter\itemlevel\c!n]% -% % new -% \edef\columneditemleftskip{\the\leftskip}% -% \def\postprocesscolumnbox##1% -% {\scratchdimen\columneditemleftskip -% \divide\scratchdimen \nofcolumns -% \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}% -% \scratchdimen-\columneditemleftskip -% \multiply\scratchdimen \nofcolumns -% \advance\scratchdimen \columneditemleftskip -% \advance\scratchdimen \hsize -% \edef\columntextwidth{\the\scratchdimen}% -% \leftskip\zeropoint -% % so far -% \startcolumns -% [\c!n=\!!counta, % netter \??op\itemlevel\c!n -% \c!hoogte=, -% \c!lijn=\v!uit, -% \c!balanceren=\v!ja, -% \c!uitlijnen=\v!nee]% -% \fi\fi}% -% \doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse -% \doglobal\increment\noflists -% \let\currentlist\noflists -% \newcounter\noflistelements -% \headitemfalse -% \subitemfalse -% \symbolitemfalse -% \let\marsymbol\relax -% \globallet\somdestination\empty -% \let\symsymbol\empty -% \the\itemgroupcommands -% \setitemlevel{#1}% -% %\getitemparameter\itemlevel\empty -% \doifelsenothing{#1} % iffirstargument -% {\edef\@@opsymbool{\getitemparameter\itemlevel\c!symbool}% -% \letgvalueempty{\@@globalitemsymbol\itemlevel}% -% \global\letitemparameter\itemlevel\v!verder\empty -% \setitemmark\@@opsymbool -% \dosetupitemgroupvariable[\itemlevel][#2]} -% {\dosetupitemgroupconstant[\itemlevel][#1]% -% \dosetupitemgroupvariable[\itemlevel][#2]% -% \doifinsetelse\v!verder{#1}% \noexpand, else problems in non-etex with chinese -% {\edef\@@opsymbool{\noexpand\getvalue{\@@globalitemsymbol\itemlevel}}% -% \getitemparameter\itemlevel\v!verder} -% {\edef\@@opsymbool{\noexpand\getitemparameter{\itemlevel}{\c!symbool}}% -% \global\setitemparameter\itemlevel\v!verder -% {\dosetupitemgroupconstant[\itemlevel][#1]% -% \dosetupitemgroupvariable[\itemlevel][#2]}}% -% \def\docommando##1% \setitemmark resets \docommando -% {\doifnot{##1}{0}{\setitemmark{##1}}}% -% \processcommalist[#1,\@@opsymbool]\docommando}% -% \ifautoitemintro\ifnum\prevgraf<3 -% \itemintrotrue -% \fi\fi -% \ifparagraphitems -% \ifnum\itemlevel>\plusone -% \letitemparameter\itemlevel\c!tussen\empty -% \fi -% \else\ifpackeditems -% \letitemparameter\itemlevel\c!tussen\empty -% \fi\fi -% \calculatelistwidth\itemlevel{\dimen0}% -% \ifdim\dimen0>\zeropoint\relax -% \ifconditional\inlinelistitem\else -% \advance\leftskip \dimen0\relax -% \fi -% \fi} - \def\redostartitemgroup[#1][#2]% {\setfalse\inlinelistitem % new, no indent (leftskip) \setfalse\concatnextitem % new, concat diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex index 854fb2052..0d5b0f0de 100644 --- a/tex/context/base/core-lst.tex +++ b/tex/context/base/core-lst.tex @@ -349,45 +349,6 @@ \def\dohandlelistnumber#1{\separatednumber{#1}} -% \let\currentlistsymbol\empty -% -% the big original one: -% -% \def\listsymbol[#1]#2% -% {{\dosetlistsymbol{#1}{#2}\currentlistsymbol}} -% -% \def\dosetlistsymbol#1#2% kan sneller, default case afvangen -% {\processaction -% [\getvalue{\??li#1\c!symbool}] -% [ \v!geen=>\def\currentlistsymbol% -% {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% -% \hbox to \dimen0{}}, -% 1=>\def\currentlistsymbol% -% {\strut$\bullet$}, -% 2=>\def\currentlistsymbol% -% {\vrule\!!width1em\!!height1ex\!!depth\zeropoint}, -% 3=>\def\currentlistsymbol% very slow -% {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% -% \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}% -% \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}% -% \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}}, -% \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}}, -% \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste -% {\edef\splitlistsymbol{\removefirstprefix{#2}}} -% {\doifelsevalue{\??li#1\c!prefix}\v!geen -% {\edef\splitlistsymbol{\removeallprefixes{#2}}}% -% {\def\splitlistsymbol{#2}}}% geen \edef ivm enz -% \def\currentlistsymbol% kan iets efficienter met \ifdone -% {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}% -% \strut -% \def\numberseparator{\getvalue{\??li#1\c!scheider}}% -% \@EA\dohandlelistnumber\@EA{\splitlistsymbol}% -% \getvalue{\??li#1\c!afsluiter}% -% \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]} -% -% This may be fragile ! test for a long time ; it is a -% prelude to an definable symbol handler. - \let\currentlistsymbol\empty \def\listsymbol[#1]#2% diff --git a/tex/context/base/core-ltb.tex b/tex/context/base/core-ltb.tex index bf8f4ff4e..ba0ba862d 100644 --- a/tex/context/base/core-ltb.tex +++ b/tex/context/base/core-ltb.tex @@ -61,8 +61,8 @@ \unprotect -\chardef\linetablesplitstatus\zerocount -\chardef\linetableheadstatus \zerocount +\chardef\linetablesplitstate\zerocount +\chardef\linetableheadstate \zerocount \edef\??ler{\??le:r:} \edef\??lec{\??le:c:} @@ -315,7 +315,7 @@ \else % after, later \fi - \chardef\linetableheadstatus\plusthree + \chardef\linetableheadstate\plusthree \global\setbox\tablebox\zerocount\emptybox % here \fi % reset \linetablerow will be an option, currently @@ -378,7 +378,7 @@ \relax %\message{\the\linetablecolumn,\the\linetablesubcol}\wait % from now on the column counter is already incremented - \ifcase\linetablesplitstatus + \ifcase\linetablesplitstate \iflinetablepreroll \else \box\linetablecell % the columncounter is one ahead ! @@ -485,7 +485,7 @@ [\v!no=>{\setuplinetable[\c!stretch=\maxdimen]},% no stretch \v!yes=>{\setuplinetable[\c!stretch=\zeropoint]}]% max stretch \chardef\linetablerepeat\linetableparameter\c!nleft - \chardef\linetablesplitstatus % = + \chardef\linetablesplitstate % = \ifdim\linetableparameter\c!maxwidth>\zeropoint \zerocount \else \plusone \fi @@ -530,7 +530,7 @@ \def\stoplinetablerun {\globallet\linetableline\!!maxcard - \chardef\linetableheadstatus\zerocount % blocked + \chardef\linetableheadstate\zerocount % blocked \flushlinetableparts \iflinetablepreroll \else \linetableparameter\c!after @@ -579,19 +579,19 @@ {\dosingleempty\dolinetableBR} \def\dolinetableBR[#1]% #1 not yet implemented - {\ifnum\linetableheadstatus=1\else + {\ifnum\linetableheadstate=1\else \doglobal\increment\linetablerow \doglobal\increment\linetablerows \fi \global\linetablecolumn\plusone \global\linetablesubcol\plusone -% \linetableheight\linetablerparameter\c!hoogte +% \linetableheight\linetablerparameter\c!height % % \ifx\linetableheight\empty % % nothing -% \else\ifx\linetableheight\v!passend +% \else\ifx\linetableheight\v!fit % % keep it simple -% \else\ifx\linetableheight\v!regel +% \else\ifx\linetableheight\v!line % \chardef\linetablemode\plusone % \else % \!!heighta\linetableheight @@ -651,7 +651,7 @@ \fi \fi} \def\flushlinetablehead - {\ifcase\linetableheadstatus + {\ifcase\linetableheadstate % 0 blocked \or % 1 doing head @@ -659,9 +659,9 @@ % 2 head done \or % 3 trigger flush - \chardef\linetableheadstatus\plusone + \chardef\linetableheadstate\plusone \the\@@linetablehead\relax - \chardef\linetableheadstatus\plustwo + \chardef\linetableheadstate\plustwo \fi} \def\linetableNC % first time special treatment @@ -706,7 +706,7 @@ {\ifinlinetable \@@linetablehead\emptytoks \fi - \chardef\linetableheadstatus3 % full + \chardef\linetableheadstate3 % full \@@linetablehead{#1}% \ifinlinetable \flushlinetablehead diff --git a/tex/context/base/core-mar.tex b/tex/context/base/core-mar.tex index d415e5d24..cdc09838e 100644 --- a/tex/context/base/core-mar.tex +++ b/tex/context/base/core-mar.tex @@ -79,10 +79,10 @@ % betere protectie -\letvalue{\??mk\??mk \v!previous}\gettopmark -\letvalue{\??mk\??mk \v!first}\getfirstmark -\letvalue{\??mk\??mk\v!last}\getbotmark -\letvalue{\??mk\??mk\v!current}\getcurrentmark +\letvalue{\??mk\??mk\v!previous}\gettopmark +\letvalue{\??mk\??mk\v!first }\getfirstmark +\letvalue{\??mk\??mk\v!last }\getbotmark +\letvalue{\??mk\??mk\v!current }\getcurrentmark % todo: make it work in balancing % @@ -98,8 +98,8 @@ % \stopcolumns % \stoptext -\letvalue{\??mk\??mk\v!column:\v!first }\getsplitfirstmark -\letvalue{\??mk\??mk\v!column:\v!last}\getsplitbottommark +\letvalue{\??mk\??mk\v!column:\v!first}\getsplitfirstmark +\letvalue{\??mk\??mk\v!column:\v!last }\getsplitbottommark \ifx\decouplemarking\undefined \def\decouplemarking[#1]{} \fi @@ -108,7 +108,7 @@ [\c!expansion=\v!no, % saves a macro \c!separator={ --- }, % watch the spaces \c!limittext=\@@kolimittext, - \c!state=\v!start]% + \c!state=\v!start]% \decouplemarking[#1]% % no coupling with sections \setevalue{\??mk#1\c!coupling}{#2}% \expandafter\newmark\csname\??mk#2\endcsname @@ -185,8 +185,8 @@ \setfullsectionnumber{\??mk#1}% \processaction % slow [#2] - [ \v!both=>{\fetchtwomarks[#1]}, - \v!all=>{\fetchallmarks[#1]}, + [ \v!both=>{\fetchtwomarks[#1]}, + \v!all=>{\fetchallmarks[#1]}, \s!default=>{\fetchmark [#1][\v!first]}, \s!unknown=>{\fetchmark [#1][#2]}]% \egroup}} diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index 7712f8606..d157a7ee4 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -280,19 +280,7 @@ \c!distance=\getvalue{\??al#1\c!distance}]}% \setupparagraphs[#1][1][\c!distance=0em]} -% nog monster -% -%\assignwidth -% {\!!widtha} -% {\getvalue{\??dd#1\c!breedte}} -% {\doifelsevaluenothing{\??dd#1\c!monster} -% {\hskip -% {\doattributes -% {\??al#1}\c!letter\c!kleur -% {\getvalue{\??dd#1\c!monster}}}} -% {0pt} - -\def\defineparagraphs% +\def\defineparagraphs {\dodoubleargument\dodefineparagraphs} \def\dosetupparagraphs[#1][#2][#3]% @@ -1900,19 +1888,19 @@ % % \def\dodocombination % {\vbox -% {\forgetall % \setupwhitespace[\v!geen]% +% {\forgetall % \setupwhitespace[\v!none]% % \let\next\vbox % \ExpandFirstAfter\processallactionsinset -% [\combinationparameter\c!plaats] -% [ \v!boven=>\let\next\tbox, -% \v!midden=>\let\next\halfwaybox]% +% [\combinationparameter\c!location] +% [ \v!top=>\let\next\tbox, +% \v!middle=>\let\next\halfwaybox]% % \next{\copy0}% % \ifdim\ht2>\zeropoint % beter dan \wd2, nu \strut mogelijk -% \@@cotussen +% \combinationparameter\c!inbetween % %\vtop % wrong code % % {\nointerlineskip % recently added % % \hsize\wd0 -% % \setupalign[\combinationparameter\c!uitlijnen]% % \raggedcenter +% % \setupalign[\combinationparameter\c!align]% % \raggedcenter % % \begstrut\unhbox2\endstrut}% % \box2 % \fi}% @@ -1924,15 +1912,15 @@ % {\cr\noalign % {\forgetall % \setupwhitespace[\v!geen]% no % \nointerlineskip -% \combinationparameter\c!na -% \combinationparameter\c!voor +% \combinationparameter\c!before +% \combinationparameter\c!after % \vss % \nointerlineskip}% % \global\horcombination\maxhorcombination\relax % \docombination}% % \else % \def\next -% {&&&\hskip\combinationparameter\c!afstand&\docombination}% +% {&&&\hskip\combinationparameter\c!distance&\docombination}% % \fi % \else % \def\next @@ -1942,12 +1930,12 @@ % \def\dodocombination % {\vbox -% {\forgetall % \setupwhitespace[\v!geen]% +% {\forgetall % \setupwhitespace[\v!none]% % \let\next\vbox % \ExpandFirstAfter\processallactionsinset % [\combinationparameter\c!plaats] -% [ \v!boven=>\let\next\tbox, -% \v!midden=>\let\next\halfwaybox]% +% [ \v!top=>\let\next\tbox, +% \v!middle=>\let\next\halfwaybox]% % \next{\copy0}% % % we need to save the caption for a next alignment line % \saveoncombinationstack2}% @@ -1959,18 +1947,18 @@ % {\cr % \flushcombinationstack % \noalign -% {\forgetall % \setupwhitespace[\v!geen]% no +% {\forgetall % \setupwhitespace[\v!none]% no % \global\setbox\combinationstack\emptybox % \nointerlineskip -% \combinationparameter\c!na -% \combinationparameter\c!voor +% \combinationparameter\c!after +% \combinationparameter\c!before % \vss % \nointerlineskip}% % \global\horcombination\maxhorcombination\relax % \docombination}% % \else % \def\next -% {&&&\hskip\combinationparameter\c!afstand&\docombination}% +% {&&&\hskip\combinationparameter\c!distance&\docombination}% % \fi % \else % \def\next @@ -2185,7 +2173,7 @@ % {\bgroup % \hbox\bgroup % compatibility hack % \dowithnextbox -% {\edef\@@rorotatie{#1}% +% {\edef\@@rorotation{#1}% % \setbox\nextbox\vbox{\flushnextbox}% % \dostoprotate % \egroup}} @@ -2193,16 +2181,16 @@ % \def\dodostoprotate#1#2#3#4#5#6% % {\dontshowcomposition % \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp -% \doif\@@roplaats\v!hoog +% \doif\@@rolocation\v!high % {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}% % \setbox\nextbox\vbox to #1 % {#2\relax % \hbox to #4 % {#5\relax % \number removes leading spaces too -% \edef\@@rorotatie{\number\@@rorotatie}% -% \doifelsenothing\@@rorotatie +% \edef\@@rorotation{\number\@@rorotation}% +% \doifelsenothing\@@rorotation % {\dostartrotation{90}} -% {\dostartrotation{\@@rorotatie}}% +% {\dostartrotation{\@@rorotation}}% % \nextboxwd\zeropoint % \nextboxht\zeropoint % %\nextboxdp\zeropoint @@ -2215,7 +2203,7 @@ % \egroup} % % \def\dostoprotate -% {\!!counta\@@rorotatie +% {\!!counta\@@rorotation % \divide\!!counta 90 % \ifcase\!!counta % \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill @@ -2230,7 +2218,7 @@ % \or % \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill % \else -% \def\@@rotatie{90}% +% \def\@@rotation{90}% % \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill % \fi} % @@ -2244,11 +2232,11 @@ % {\bgroup\complexorsimpleempty\rotate} % % \setuprotate -% [\c!rotatie=90, -% \c!breedte=\v!passend, -% \c!hoogte=\v!passend, +% [\c!rotation=90, +% \c!width=\v!fir, +% \c!height=\v!fit, % \c!offset=\v!overlay, -% \c!kader=\v!uit] +% \c!frame=\v!off] % The previous implementation is replaced by one that supports % rotation over arbitrary angles. @@ -2449,61 +2437,7 @@ % \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=high] {\ruledhbox{\bfb (high)}}}}} % \stoplinecorrection} -% schaal - -% \def\doscalelikeafigure -% {\doifsomething{\@@xyfactor\@@xyhfactor\@@xybfactor\@@xyschaal -% \@@xybreedte\@@xyhoogte\@@xyregels} -% {\let \@@efschaal \@@xyschaal -% \let \@@effactor \@@xyfactor -% \let \@@efbfactor\@@xybfactor -% \let \@@efhfactor\@@xyhfactor -% \let \@@efbreedte\@@xybreedte -% \let \@@efhoogte \@@xyhoogte -% \let \@@efregels \@@xyregels -% \let \@@epx \!!zeropoint -% \let \@@epy \!!zeropoint -% \edef\@@epw {\the\nextboxwd}% -% \edef\@@eph {\the\nextboxht}% -% \checkfiguresettings -% \setfactorfiguresize -% \setscalefiguresize -% \setdimensionfiguresize -% \convertfigureinsertscale\@@epx\figx\figxsca\scax -% \convertfigureinsertscale\@@epy\figy\figysca\scay -% \scratchdimen\scax\points\divide\scratchdimen 100 -% \edef\@@xysx{\withoutpt\the\scratchdimen}% -% \scratchdimen\scay\points\divide\scratchdimen 100 -% \edef\@@xysy{\withoutpt\the\scratchdimen}}} - -% \def\doschaal[#1]% -% {\bgroup -% \forgetall -% \getparameters -% [\??xy] -% [\c!schaal=,\c!breedte=,\c!hoogte=,\c!regels=, -% \c!factor=,\c!hfactor=,\c!bfactor=, -% \c!sx=1,\c!sy=1,#1]% -% \dowithnextbox -% {\dontshowcomposition -% \ifdim\nextboxht>\zeropoint \ifdim\nextboxwd>\zeropoint -% \doscalelikeafigure -% \dimen0=\@@xysy\nextboxht -% \dimen2=\@@xysy\nextboxdp -% \dimen4=\@@xysx\nextboxwd -% \dimen6=\dimen0\advance\dimen6 \dimen2 -% \setbox\nextbox\vbox to \dimen6 -% {\nextboxht\zeropoint -% \nextboxdp\zeropoint -% \vfill % erbij -% \dostartscaling\@@xysx\@@xysy\flushnextbox\dostopscaling}% -% \nextboxht\dimen0 -% \nextboxdp\dimen2 -% \nextboxwd\dimen4 -% \fi \fi -% \flushnextbox -% \egroup} -% \hbox} +% scale \def\doscalelikeafigure % quite dirty and potential interference possible {\doifsomething{\@@xyfactor\@@xyhfactor\@@xywfactor\@@xyscale diff --git a/tex/context/base/core-new.tex b/tex/context/base/core-new.tex index 0b2447c11..9c5ec0578 100644 --- a/tex/context/base/core-new.tex +++ b/tex/context/base/core-new.tex @@ -279,11 +279,8 @@ \letvalue{\e!stop\v!setups}\relax -\unexpanded \def\setups % {..} or [..] - {\doifnextcharelse\bgroup\dosetupsA\dosetupsB} - -\unexpanded \def\setup % {..} or [..] - {\doifnextcharelse\bgroup\dosetups\dosetupsC} +\unexpanded \def\setups{\doifnextcharelse\bgroup\dosetupsA\dosetupsB} % {..} or [..] +\unexpanded \def\setup {\doifnextcharelse\bgroup\dosetups \dosetupsC} % {..} or [..] \def\dosetupsA #1{\processcommacommand[#1]\dosetups} % {..} \def\dosetupsB[#1]{\processcommacommand[#1]\dosetups} % [..] @@ -297,35 +294,28 @@ \def\doifsetupselse#1% to be done: grid {\doifdefinedelse{\??su:#1}} -\def\startsetups % for international purposes - {\bgroup\doifnextcharelse[{\startsetupsA\stopsetups}{\startsetupsB\stopsetups}} +\chardef\setupseolmode\plusone -\def\startlocalsetups % for nested purposes - {\bgroup\doifnextcharelse[{\startsetupsA\stoplocalsetups}{\startsetupsB\stoplocalsetups}} +\def\startsetups {\xxstartsetups\plusone \stopsetups } \let\stopsetups \relax +\def\startlocalsetups{\xxstartsetups\plusone \stoplocalsetups} \let\stoplocalsetups\relax +\def\startrawsetups {\xxstartsetups\zerocount\stoprawsetups } \let\stoprawsetups \relax -\let\stopsetups \relax -\let\stoplocalsetups\relax +\def\xxstartsetups#1#2% + {\bgroup\chardef\setupseolmode#1\doifnextcharelse[{\startsetupsA#2}{\startsetupsB#2}} -\def\startsetupsA#1% - {\catcode`\^^M\@@ignore +\def\startsetupsA#1% [ ] delimited + {\ifcase\setupseolmode\or\catcode`\^^M\@@ignore\fi \dotripleempty\dostartsetups[#1]} -\def\startsetupsB#1#2 % space delimited / kind of obsolete - {\catcode`\^^M\@@ignore +\def\startsetupsB#1#2 % space delimited + {\ifcase\setupseolmode\or\catcode`\^^M\@@ignore\fi \dodostartsetups#1\empty{#2}} -\def\dostartsetups - {\ifthirdargument - \@EA\startsetupsC - \else - \@EA\startsetupsD - \fi} - -\def\startsetupsC[#1][#2][#3]% [..] [..] - {\dodostartsetups#1{#2}{#3}} +\def\startsetupsC[#1][#2][#3]{\dodostartsetups#1{#2}{#3}} % [..] [..] +\def\startsetupsD[#1][#2][#3]{\dodostartsetups#1\empty{#2}} % [..] -\def\startsetupsD[#1][#2][#3]% [..] - {\dodostartsetups#1\empty{#2}} +\def\dostartsetups + {\ifthirdargument\@EA\startsetupsC\else\@EA\startsetupsD\fi} \long\def\dodostartsetups#1#2#3% watch out: not \grabuntil {\dograbuntil#1{\egroup\long\setvalue{\??su#2:#3}}} @@ -363,7 +353,7 @@ % {\ifsecondargument % \catcode`\<=\@@active % \def<{\ifmmode\expandafter\normalless\else\expandafter\doshortcut\fi}% -% \getparameters[\??te#1][\c!commandos=,\c!commando=,\c!letter=,\c!kleur=,#2]% +% \getparameters[\??te#1][\c!commands=,\c!command=,\c!style=,\c!color=,#2]% % \else % \defineshortcut[][#1]% % \fi} @@ -381,17 +371,17 @@ % % \def\dododoshortcut#1:#2\end % {\doifelsenothing{#2} -% {\doifundefinedelse{\??te\c!commandos} +% {\doifundefinedelse{\??te\c!commands} % {\shortcut} % {\@EA\dodododoshortcut\@EA\??te\@EA:\shortcut:\end}} -% {\doifundefinedelse{\??te#1\c!commandos} +% {\doifundefinedelse{\??te#1\c!commands} % {\shortcut} % {\dodododoshortcut\??te#1:#2\end}}% % \egroup} % % \def\dodododoshortcut#1:#2:\end -% {\getvalue{#1\c!commandos}% -% \doattributes{#1}\c!letter\c!kleur{\getvalue{#1\c!commando}{#2}}} +% {\getvalue{#1\c!commands}% +% \doattributes{#1}\c!style\c!color{\getvalue{#1\c!command}{#2}}} \def\defineshortcut {\dotripleargument\dodefineshortcut} diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex index e6b2e1baa..6f8bfdcc8 100644 --- a/tex/context/base/core-not.tex +++ b/tex/context/base/core-not.tex @@ -256,29 +256,29 @@ % \footnoteparameter and not \noteparameter (**) \setnotedistance \count\currentnoteins\plusthousand - \ExpandBothAfter\doifcommonelse{\v!columns,\v!lastcolumn}{\footnoteparameter\c!location} % ** - {\chardef\clevernotes\plustwo} - {\ExpandBothAfter\doifinsetelse{\v!firstcolumn}{\footnoteparameter\c!location} % ** - {\chardef\clevernotes\plusone} - {\chardef\clevernotes\zerocount}}% - \ifcase\clevernotes\relax - % notes not in column areas - \ifnum\noteparameter\c!n=\zerocount - \settextnotes - \scratchcounter\plusone - \else - \setcolumnnotes - \scratchcounter\noteparameter\c!n\relax - \divide\count\currentnoteins \scratchcounter - \fi - \ExpandBothAfter\doifinsetelse\v!page{\footnoteparameter\c!location} % ** - {\global\endnotesfalse - \ExpandBothAfter\doifinsetelse\v!high{\footnoteparameter\c!location} % ** - {\global\bottomnotesfalse} - {\global\bottomnotestrue}} - {\global\endnotestrue - \global\bottomnotestrue - \postponenotes}% + \expanded{\doifcommonelse{\v!columns,\v!lastcolumn}{\footnoteparameter\c!location}}% ** + {\chardef\clevernotes\plustwo} + {\expanded{\doifinsetelse{\v!firstcolumn}{\footnoteparameter\c!location}}% ** + {\chardef\clevernotes\plusone}% + {\chardef\clevernotes\zerocount}}% + \ifcase\clevernotes\relax + % notes not in column areas + \ifnum\noteparameter\c!n=\zerocount + \settextnotes + \scratchcounter\plusone + \else + \setcolumnnotes + \scratchcounter\noteparameter\c!n\relax + \divide\count\currentnoteins \scratchcounter + \fi + \ExpandBothAfter\doifinsetelse\v!page{\footnoteparameter\c!location} % ** + {\global\endnotesfalse + \ExpandBothAfter\doifinsetelse\v!high{\footnoteparameter\c!location} % ** + {\global\bottomnotesfalse} + {\global\bottomnotestrue}} + {\global\endnotestrue + \global\bottomnotestrue + \postponenotes}% \else % notes in column areas \ifnum\@@kln=\zerocount % brrr dependency on \??kl @@ -1032,48 +1032,44 @@ %D {fakenotes} \def\fakenotes - {\ifhmode - \endgraf - \fi - \ifvmode + {\ifhmode\endgraf\fi\ifvmode \calculatetotalclevernoteheight \ifdim\totalnoteheight>\zeropoint \kern\totalnoteheight \fi \fi} +\def\fakepagenotes + {\ifhmode\endgraf\fi\ifvmode + \calculatetotalpagenoteheight + \ifdim\totalnoteheight>\zeropoint \kern\totalnoteheight \fi + \fi} + \newdimen\totalnoteheight -\def\docalculatetotalnoteheight - {\ifdim\ht\currentnoteins>\zeropoint - \ifcase\clevernotes % tricky here ! ! ! to be sorted out ! ! ! - \ifdim\ht\currentnoteins>\zeropoint - \advance\totalnoteheight\ht \currentnoteins - \advance\totalnoteheight\skip\currentnoteins - \fi - \else - \ifdim\ht\currentbackupnoteins>\zeropoint - \advance\totalnoteheight\ht \currentbackupnoteins - \advance\totalnoteheight\skip\currentbackupnoteins - \fi - \fi + +\def\doaddtototalnoteheight#1% + {\ifdim\ht#1>\zeropoint + \advance\totalnoteheight\ht #1% + \advance\totalnoteheight\skip#1% \fi} -\def\calculatetotalnoteheight - {\totalnoteheight\zeropoint - \processnotes\docalculatetotalnoteheight} +\def\docalculatetotalnoteheight + {\ifcase\clevernotes % tricky here ! ! ! to be sorted out ! ! ! + \doaddtototalnoteheight\currentnoteins + \else + \doaddtototalnoteheight\currentbackupnoteins + \fi} \def\docalculatetotalclevernoteheight - {\ifdim\ht\currentnoteins>\zeropoint - \ifcase\clevernotes\else % tricky here ! ! ! to be sorted out ! ! ! - \ifdim\ht\currentnoteins>\zeropoint - \advance\totalnoteheight\ht \currentnoteins - \advance\totalnoteheight\skip\currentnoteins - \fi - \fi + {\ifcase\clevernotes \else % tricky here ! ! ! to be sorted out ! ! ! + \doaddtototalnoteheight\currentnoteins \fi} -\def\calculatetotalclevernoteheight - {\totalnoteheight\zeropoint - \processnotes\docalculatetotalclevernoteheight} +\def\docalculatetotalpagenoteheight + {\doaddtototalnoteheight\currentnoteins} + +\def\calculatetotalnoteheight {\totalnoteheight\zeropoint\processnotes\docalculatetotalnoteheight} +\def\calculatetotalclevernoteheight{\totalnoteheight\zeropoint\processnotes\docalculatetotalclevernoteheight} +\def\calculatetotalpagenoteheight {\totalnoteheight\zeropoint\processnotes\docalculatetotalpagenoteheight} \newif\ifnotespresent diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex index 3eac578ea..65a9a92be 100644 --- a/tex/context/base/core-ntb.tex +++ b/tex/context/base/core-ntb.tex @@ -316,9 +316,7 @@ {\@EA\handleTBLcell\celltag[#1]{#3}}} \long\def\parseTH[#1]#2\eTH - {\parseTD - [#1,\c!color=\tbltblheadcolor,\c!style=\tbltblheadstyle,% - \c!aligncharacter=\v!no]#2\eTD} + {\parseTD[#1,\c!color=\tbltblheadcolor,\c!style=\tbltblheadstyle,\c!aligncharacter=\v!no]#2\eTD} %D new @@ -337,17 +335,10 @@ \long\def\bTABLEbody{\dosingleempty\doTABLEbody} \long\def\bTABLEfoot{\dosingleempty\doTABLEfoot} -\long\def\doTABLEhead[#1]#2\eTABLEhead - {\appendtoks\doTABLEsection[#1]{#2}\to\TBLhead} - -\long\def\doTABLEnext[#1]#2\eTABLEnext - {\appendtoks\doTABLEsection[#1]{#2}\to\TBLnext} - -\long\def\doTABLEbody[#1]#2\eTABLEbody - {\appendtoks\doTABLEsection[#1]{#2}\to\TBLbody} - -\long\def\doTABLEfoot[#1]#2\eTABLEfoot - {\appendtoks\doTABLEsection[#1]{#2}\to\TBLfoot} +\long\def\doTABLEhead[#1]#2\eTABLEhead{\appendtoks\doTABLEsection[#1]{#2}\to\TBLhead} +\long\def\doTABLEnext[#1]#2\eTABLEnext{\appendtoks\doTABLEsection[#1]{#2}\to\TBLnext} +\long\def\doTABLEbody[#1]#2\eTABLEbody{\appendtoks\doTABLEsection[#1]{#2}\to\TBLbody} +\long\def\doTABLEfoot[#1]#2\eTABLEfoot{\appendtoks\doTABLEsection[#1]{#2}\to\TBLfoot} \long\def\doTABLEsection[#1]#2% {\def\setupTBLsection{\getparameters[\@@tbl\@@tbl][#1]}% @@ -1129,8 +1120,7 @@ \bgroup \localframed [\@@tbl\@@tbl] - [#3,\c!width=\widthTBL, - \c!background=,\c!frame=\v!off]% 25% faster + [#3,\c!width=\widthTBL,\c!background=,\c!frame=\v!off]% 25% faster {\bTBLCELL\TBLcharalign{#2}{#4}\eTBLCELL}% \egroup} diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex index be1176752..9022fa131 100644 --- a/tex/context/base/core-pos.tex +++ b/tex/context/base/core-pos.tex @@ -1863,32 +1863,32 @@ % % \def\dostarttextbackgroundpar % {\endgraf % new -% \getvalue{\??td\currenttextbackground\c!voor}% +% \getvalue{\??td\currenttextbackground\c!before}% % \noindent\fpos\currentparbackground\ignorespaces % \bgroup % \nobreak \vskip-\lineheight \nobreak -% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!bovenoffset}\to\scratchskip +% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!topoffset}\to\scratchskip % \kern\scratchskip\nobreak -% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!linkeroffset}}% +% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!leftoffset}}% % \advance\leftskip\leftskipadaption -% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!rechteroffset}}% +% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!rightoffset}}% % \advance\rightskip\leftskipadaption -% \dostartattributes{\??td\currenttextbackground}\c!letter\c!kleur{}% -% \geenwitruimte +% \dostartattributes{\??td\currenttextbackground}\c!style\c!color{}% +% \nowhitespace % \seteffectivehsize % \par} % % \def\dostoptextbackgroundpar % {\par % \dostopattributes -% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!onderoffset}\to\scratchskip +% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!bottomoffset}\to\scratchskip % \kern\scratchskip\nobreak % \nobreak \vskip-\lineheight \nobreak -% \geenwitruimte +% \nowhitespace % \egroup % \nobreak \noindent \strut \hfill \kern\zeropoint \tpos\currentparbackground % \endgraf % new -% \getvalue{\??td\currenttextbackground\c!na}} +% \getvalue{\??td\currenttextbackground\c!after}} \def\dostarttextbackgroundpar {\endgraf % new diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex index b102d7378..75ff24a6d 100644 --- a/tex/context/base/core-ref.tex +++ b/tex/context/base/core-ref.tex @@ -3605,12 +3605,6 @@ \def\simpleoverlaybutton#1% {\complexoverlaybutton[#1]} -% \def\complexoverlaybutton% no text, next argument is [reference] -% {\button -% [\c!kader=\v!uit,\c!achtergrond=, -% \c!breedte=\overlaywidth,\c!hoogte=\overlayheight]% -% {}} - \def\complexoverlaybutton[#1]% {\iflocation \doifreferencefoundelse{#1} diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex index 9574f0f9c..6a45e1294 100644 --- a/tex/context/base/core-rul.tex +++ b/tex/context/base/core-rul.tex @@ -577,7 +577,7 @@ %D {\ovalbox}. \def\dostrokedroundbox\width#1\height#2\depth#3\radius#4\toggle#5\left#6\\% - {\doif{#5}{\v!on}{\ovalbox{#1}{#2}{#3}{\ruledlinewidth}{#4}{\v!on}{\v!off}}} + {\doif{#5}\v!on{\ovalbox{#1}{#2}{#3}{\ruledlinewidth}{#4}\v!on\v!off}} %D The next few macros are probably the most misused ones in %D \CONTEXT. They deal with putting rules around boxes, provide @@ -1538,40 +1538,40 @@ %D \dontcomplain %D \startlinecorrection %D \halign{#\enskip&#\enskip&#\enskip&#\enskip&#\enskip&#\cr -%D \framed[width=.2\hsize, height=.2\hsize, align=] {a\par b\par c}& -%D \framed[width=.2\hsize, height=broad, align=] {a\par b\par c}& -%D \framed[width=.2\hsize, height=fit, align=] {a\par b\par c}& -%D \framed[width=fit, height=.2\hsize, align=] {a\par b\par c}& -%D \framed[width=fit, height=broad, align=] {a\par b\par c}& -%D \framed[width=fit, height=fit, align=] {a\par b\par c}\cr +%D \framed[width=.2\hsize, height=.2\hsize, align=] {a\par b\par c}& +%D \framed[width=.2\hsize, height=broad, align=] {a\par b\par c}& +%D \framed[width=.2\hsize, height=fit, align=] {a\par b\par c}& +%D \framed[width=fit, height=.2\hsize, align=] {a\par b\par c}& +%D \framed[width=fit, height=broad, align=] {a\par b\par c}& +%D \framed[width=fit, height=fit, align=] {a\par b\par c}\cr %D \noalign{\vskip1em} -%D \framed[width=.2\hsize, height=.2\hsize, align=yes] {a\par b\par c}& -%D \framed[width=.2\hsize, height=broad, align=yes] {a\par b\par c}& -%D \framed[width=.2\hsize, height=fit, align=yes] {a\par b\par c}& -%D \framed[width=fit, height=.2\hsize, align=yes] {a\par b\par c}& -%D \framed[width=fit, height=broad, align=yes] {a\par b\par c}& -%D \framed[width=fit, height=fit, align=yes] {a\par b\par c}\cr +%D \framed[width=.2\hsize, height=.2\hsize, align=yes] {a\par b\par c}& +%D \framed[width=.2\hsize, height=broad, align=yes] {a\par b\par c}& +%D \framed[width=.2\hsize, height=fit, align=yes] {a\par b\par c}& +%D \framed[width=fit, height=.2\hsize, align=yes] {a\par b\par c}& +%D \framed[width=fit, height=broad, align=yes] {a\par b\par c}& +%D \framed[width=fit, height=fit, align=yes] {a\par b\par c}\cr %D \noalign{\vskip1em} %D \framed[width=.2\hsize, height=.2\hsize, align=right] {a\par b\par c}& -%D \framed[width=.2\hsize, height=broad, align=right] {a\par b\par c}& -%D \framed[width=.2\hsize, height=fit, align=right] {a\par b\par c}& -%D \framed[width=fit, height=.2\hsize, align=right] {a\par b\par c}& -%D \framed[width=fit, height=broad, align=right] {a\par b\par c}& -%D \framed[width=fit, height=fit, align=right] {a\par b\par c}\cr +%D \framed[width=.2\hsize, height=broad, align=right] {a\par b\par c}& +%D \framed[width=.2\hsize, height=fit, align=right] {a\par b\par c}& +%D \framed[width=fit, height=.2\hsize, align=right] {a\par b\par c}& +%D \framed[width=fit, height=broad, align=right] {a\par b\par c}& +%D \framed[width=fit, height=fit, align=right] {a\par b\par c}\cr %D \noalign{\vskip1em} %D \framed[width=.2\hsize, height=.2\hsize, align=left] {a\par b\par c}& -%D \framed[width=.2\hsize, height=broad, align=left] {a\par b\par c}& -%D \framed[width=.2\hsize, height=fit, align=left] {a\par b\par c}& -%D \framed[width=fit, height=.2\hsize, align=left] {a\par b\par c}& -%D \framed[width=fit, height=broad, align=left] {a\par b\par c}& -%D \framed[width=fit, height=fit, align=left] {a\par b\par c}\cr +%D \framed[width=.2\hsize, height=broad, align=left] {a\par b\par c}& +%D \framed[width=.2\hsize, height=fit, align=left] {a\par b\par c}& +%D \framed[width=fit, height=.2\hsize, align=left] {a\par b\par c}& +%D \framed[width=fit, height=broad, align=left] {a\par b\par c}& +%D \framed[width=fit, height=fit, align=left] {a\par b\par c}\cr %D \noalign{\vskip1em} %D \framed[width=.2\hsize, height=.2\hsize, align=middle] {a\par b\par c}& -%D \framed[width=.2\hsize, height=broad, align=middle] {a\par b\par c}& -%D \framed[width=.2\hsize, height=fit, align=middle] {a\par b\par c}& -%D \framed[width=fit, height=.2\hsize, align=middle] {a\par b\par c}& -%D \framed[width=fit, height=broad, align=middle] {a\par b\par c}& -%D \framed[width=fit, height=fit, align=middle] {a\par b\par c}\cr} +%D \framed[width=.2\hsize, height=broad, align=middle] {a\par b\par c}& +%D \framed[width=.2\hsize, height=fit, align=middle] {a\par b\par c}& +%D \framed[width=fit, height=.2\hsize, align=middle] {a\par b\par c}& +%D \framed[width=fit, height=broad, align=middle] {a\par b\par c}& +%D \framed[width=fit, height=fit, align=middle] {a\par b\par c}\cr} %D \stoplinecorrection %D \blank[2*groot] %D \egroup @@ -2487,7 +2487,6 @@ % \setlocalhsize % can have framed texts alongside sidefloats \checksidefloat \setlocalhsize - \advance\localhsize-\hangindent \else \localhsize\hsize \fi\fi} diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index d3c743106..4d4f3248e 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -1089,14 +1089,6 @@ {\xdef\@@kolevel{\getvalue{\??se\@@sectie\c!level}}% \nobreak} -%\def\dolocalheadsetup#1% koppeling met standaard kopcommando / engels -% {\forgetall -% \doifvaluesomething{\??ko#1\c!uitlijnen} -% {\ExpandFirstAfter\setupalign[\getvalue{\??ko#1\c!uitlijnen}]}% -% \doifvaluesomething{\??ko#1\c!tolerantie} -% {\ExpandFirstAfter\setuptolerance[\getvalue{\??ko#1\c!tolerantie}]}% -% \def\\{\crlf\strut\ignorespaces}} - \def\dolocalheadsetup#1% koppeling met standaard kopcommando / engels {\forgetall % traag dus ... \doifvaluesomething{\??ko#1\c!align} % wordt al expanded in spa diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index e8b745008..416071374 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -1081,7 +1081,7 @@ \defineblank [\s!default] [\v!white] \defineblank [\v!height] [\strutheight] -\defineblank [\v!depth] [\strutdepth] +\defineblank [\v!depth] [\strutdepth] \let\currentindentation=\empty @@ -2347,14 +2347,14 @@ \def\dosetraggedhbox#1% {\processaction % slow [#1] - [ \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!flushleft=>\def\raggedbox{\doregelplaats\v!right }, - \v!flushright=>\def\raggedbox{\doregelplaats\v!left }, - \v!center=>\def\raggedbox{\doregelplaats\v!middle}, + [ \v!left=>\def\raggedbox{\doalignedline\v!left }, + \v!right=>\def\raggedbox{\doalignedline\v!right }, + \v!middle=>\def\raggedbox{\doalignedline\v!middle}, + \v!inner=>\def\raggedbox{\doalignedline\v!inner }, + \v!outer=>\def\raggedbox{\doalignedline\v!outer }, + \v!flushleft=>\def\raggedbox{\doalignedline\v!right }, + \v!flushright=>\def\raggedbox{\doalignedline\v!left }, + \v!center=>\def\raggedbox{\doalignedline\v!middle}, \v!normal=>\let\raggedbox\hbox, \s!default=>\let\raggedbox\hbox, \s!unknown=>\let\raggedbox\hbox]} @@ -2363,8 +2363,8 @@ {\expanded{\dodosetraggedcommand{#1}}} \def\dodosetraggedcommand#1% beware: #1=empty is ignored, keep that! - {\let\raggedcommand\relax - \let\raggedtopcommand\empty + {\let\raggedcommand \relax + \let\raggedtopcommand \empty \let\raggedbottomcommand\empty \chardef\raggedoneliner\zerocount \doifsomething{#1} @@ -3495,7 +3495,7 @@ \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} +\def\doalignedline#1{\csname\s!do\v!line#1\endcsname} %D Experimental: @@ -3556,7 +3556,7 @@ %D Better: -\def\doregelplaats#1{\csname\s!do\v!line#1\endcsname} +\def\doalignedline#1{\csname\s!do\v!line#1\endcsname} \def\alignedline#1#2% setting default {\csname @@ -3564,7 +3564,7 @@ \ifundefined{\s!do\v!line#1}#2\else#1\fi \endcsname} -% \def\doregelplaats#1% +% \def\doalignedline#1% % {\alignedline{#1}\v!links} %D ... @@ -4129,10 +4129,10 @@ [\v!standard, \v!big] -\defineblank[\v!default] [\currentblanko] -\defineblank[\v!before] [\v!default] -\defineblank[\v!inbetween] [\v!default] -\defineblank[\v!after] [\v!before] +\defineblank[\v!default] [\currentblanko] +\defineblank[\v!before] [\v!default] +\defineblank[\v!inbetween][\v!default] +\defineblank[\v!after] [\v!before] \setupinterlinespace [\c!minheight=0pt, % only special purpose diff --git a/tex/context/base/core-syn.tex b/tex/context/base/core-syn.tex index 9d085ae66..e32e55f0a 100644 --- a/tex/context/base/core-syn.tex +++ b/tex/context/base/core-syn.tex @@ -57,10 +57,6 @@ {\whitespace \begingroup \def\currentsynonym{#1}% -% \def\synplaats{\getvalue{\??sm#1\c!plaats}}% -% \def\synbreedte{\getvalue{\??sm#1\c!breedte}}% -% \def\synmonster{\getvalue{\??sm#1\c!monster}}% -% \definedescription % nog eens een class van maken, net als framed [syndef] [\c!location=\getvalue{\??sm#1\c!location}, diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex index e7b525315..09523a362 100644 --- a/tex/context/base/core-tbl.tex +++ b/tex/context/base/core-tbl.tex @@ -951,287 +951,6 @@ %D cum suis, since \TEX's hard coded noalign lookahead fails %D on it! I mistakenly added this for a while. -% \def\processtabulate[|#1|]% in the process of optimizing -% {\tabulateunit\getvalue{\??tt\currenttabulate\c!eenheid}% -% \checkfulltabulatecontent -% \ExpandFirstAfter\processaction % use \setalignmentswitch instead -% [\getvalue{\??tt\currenttabulate\c!uitlijnen}] -% [\v!normaal=>\def\@@tabulatealign{0},% = default value -% \v!rechts=>\def\@@tabulatealign{1},% chardefs gebruiken -% \v!links=>\def\@@tabulatealign{2},% -% \v!midden=>\def\@@tabulatealign{3},% -% \s!default=>\def\@@tabulatealign{0},% -% \s!unknown=>\def\@@tabulatealign{0}]% -% \let\pretabskip\!!zeropoint -% \def\postabskip{.5\tabulateunit}% -% \global\tabulatecolumns\zerocount -% \global\nofautotabulate\zerocount -% \doglobal\newcounter\noftabulatelines -% \let\totalnoftabulatelines\noftabulatelines -% \let\minusnoftabulatelines\noftabulatelines -% \global\tabulatepwidth\zeropoint -% \global\tabulateequalfalse -% \resettabulatepheight -% \unexpanded \def\NC{\tabulatenormalcolumn0}% -% \unexpanded \def\RC{\tabulatenormalcolumn1}% -% \unexpanded \def\HC{\tabulatenormalcolumn2}% -% \unexpanded \def\EQ{\tabulateequalcolumn 0}% -% \unexpanded \def\RQ{\tabulateequalcolumn 1}% -% \unexpanded \def\HQ{\tabulateequalcolumn 2}% -% \unexpanded \def\NG{\NC\handletabulatecharalign}% -% \unexpanded \def\NN{\NC\handletabulatedigits}% new, undocumented, test first -% \unexpanded \def\ND{\NC\handletabulatedigits}% same, for old times sake -% \def\tabulaterule{\HR}% a rule with lineheight -% \def\tabulateline{\HL}% just a spaced rule -% \def\tabulateautorule{\doHR\plusone}% -% \def\tabulateautoline{\doHL\plusone}% -% \def\HR{\doHR\zerocount} -% \def\HL{\doHL\zerocount} -% \unexpanded \def\NR % next row -% {\doglobal\increment\noftabulatelines -% \global\tabulatefirstflushedfalse -% \global\tabulateequalfalse -% \globallet\tabulatecolumn\!!zerocount -% \resettabulatepheight -% \unskip\unskip\crcr\flushtabulated -% \TABLEnoalign -% {\iftolerantTABLEbreak\else -% \ifnum\noftabulatelines=\plusone -% \dotabulatenobreak -% \else\ifnum\noftabulatelines=\minusnoftabulatelines -% \ifnum\tabulatemaxplines<\plustwo -% \dotabulatenobreak -% \else -% \allowbreak % needed with pbreak prevention -% \fi -% \else -% \allowbreak % needed with pbreak prevention -% \fi\fi -% \fi -% \global\tabulatefirstflushedfalse}}% -% \let\HL\empty % not needed -% \let\SR\NR \let\AR\NR -% \let\FL\empty \let\FR\NR -% \let\ML\empty \let\MR\NR -% \let\LL\empty \let\LR\NR -% \let\doHR\gobbleoneargument -% \let\doHL\gobbleoneargument -% \global\let\flushtabulated\empty -% \let\savedbar|\let|\nexttabulate -% \tabskip\zeropoint -% \ifdim\getvalue{\??tt\currenttabulate\c!marge}>\zeropoint -% \!!toksa{&\flushtabulateindent\strut##% -% \tabskip\getvalue{\??tt\currenttabulate\c!marge}\strut -% &##\tabskip\zeropoint}% -% \else -% \!!toksa{&\flushtabulateindent\strut##% -% &##\tabskip\zeropoint}% -% \fi -% \tabulatewidth\zeropoint -% |#1X|\relax -% \scratchcounter\tabulatecolumns -% \multiply\scratchcounter3% -% \advance\scratchcounter4% -% \edef\totaltabulatecolumns{\the\scratchcounter}% -% \tabulatewidth\zeropoint -% % \dorecurse\tabulatecolumns % can be made faster -% % {\doifundefinedelse{\@@tabbox@@\recurselevel} -% % {\expandafter\newbox\csname\@@tabbox@@\recurselevel\endcsname}% -% % {\global\setbox\csname\@@tabbox@@\recurselevel\endcsname\box\voidb@x}}% -% \initializetableboxes\tabulatecolumns -% \appendtoks&##\to\!!toksa -% \appendtoks\doglobal\increment\tabulatecolumn\to\!!toksa -% \appendtoks\NC\unskip\unskip\crcr\flushtabulated\to\tabulatedummy % no count -% \globallet\tabulatecolumn\!!zerocount -% \resettabulatepheight -% \def\bskip -% {\setbox\tabulatebox\vbox\bgroup -% \global\let\tabulatehook\notabulatehook}% -% \def\eskip -% {\par\egroup -% \global\let\tabulatehook\dotabulatehook}% -% \def\xbskip -% {\hbox\bgroup\vbox\bgroup -% \global\let\tabulatehook\notabulatehook}% -% \def\xeskip -% {\par\egroup\egroup -% \global\let\tabulatehook\dotabulatehook}% -% \let|\savedbar -% \global\let\tabulatehook\dotabulatehook -% \doifvalue{\??tt\currenttabulate\c!inspringen}\v!nee\forgetparindent -% \ifinsidefloat -% \let\tabulateindent\!!zeropoint -% \else -% \setlocalhsize \hsize\localhsize -% \fi -% \dontcomplain -% \forgetall -% \setbox0\vbox % outside \if because of line counting -% {\notesenabledfalse -% \let\tabulateindent\!!zeropoint -% \trialtypesettingtrue % very important -% \@EA\halign\@EA{\the\!!toksa\crcr\fulltabulatecontent\crcr}}% -% \ifnum\nofautotabulate>\zerocount -% % so, even if the natural size is larger, in the final -% % run, we force the calculated width -% \tabulatewidth\hsize -% \advance\tabulatewidth -\wd0 -% \advance\tabulatewidth -\tabulatepwidth -% \ifnum\nofautotabulate>\zerocount -% \divide\tabulatewidth \nofautotabulate\relax -% \fi -% \fi -% \def\xbskip{\bskip}% -% \def\xeskip{\eskip}% -% \ifsplittabulate -% \splittopskip\strutht -% \global\let\flushtabulatedindeed\empty -% \long\def\bbskip -% {\ifvoid\tablebox\tabulatecolumn -% \ifx\flushtabulatedindeed\empty\else -% \setbox0\hbox -% \fi -% \fi}% -% \def\bskip -% {\ifvoid\tablebox\tabulatecolumn -% \global\setbox\tablebox\tabulatecolumn\vbox -% \bgroup -% \global\let\tabulatehook\notabulatehook -% \ifautotabulate\hsize\tabulatewidth\fi -% % \begstrut % interferes with pre-\pars -% % evt: \appendtoks\begstrut\to\everypar -% \ignorespaces -% \def\eskip -% {\par\egroup -% \settabulatepheight -% \global\let\tabulatehook\dotabulatehook -% \splitofftabulatebox}% -% \else -% \let\eskip\empty -% \dontcomplain -% \global\let\tabulatehook\dotabulatehook -% \expandafter\splitofftabulatebox -% \fi}% -% \gdef\flushtabulated -% {\TABLEnoalign % noalign % no interference ! -% {\global\let\flushtabulatedindeed\empty -% \globallet\tabulatecolumn\!!zerocount -% \handletabulatepbreak -% \dorecurse\tabulatecolumns % was: \noftabcolumns -% {\ifvoid\tablebox\recurselevel\else -% \gdef\flushtabulatedindeed{\the\tabulatedummy}% -% \fi}% -% \global\tabulatefirstflushedtrue}% -% \flushtabulatedindeed}% -% \else -% % tabhook op alles ? -% \def\bskip -% {\vtop\bgroup -% \ifautotabulate\hsize\tabulatewidth\fi -% % \begstrut % interferes with pre-\pars -% % evt: \appendtoks\begstrut\to\everypar -% \ignorespaces}% -% \def\eskip % vertical strut added august 2003 -% {\par\verticalstrut\vskip-\struttotal\egroup}% -% \fi -% \let\totalnoftabulatelines\noftabulatelines -% \let\minusnoftabulatelines\noftabulatelines -% \decrement\minusnoftabulatelines -% \doglobal\newcounter\noftabulatelines -% \def\doHL##1% -% {\TABLEnoalign -% {\ifnum\noftabulatelines=\zerocount -% \ifcase##1\or -% \@EAEAEA\FL -% \fi -% \else\ifnum\noftabulatelines=\totalnoftabulatelines -% \ifcase##1\or -% \@EA\@EAEAEA\@EA\LL -% \fi -% \else -% \@EAEAEA\ML -% \fi\fi}}% -% \def\doHR##1% horizontal rule line (break untested) -% {\TABLEnoalign -% {\globallet\TABLEautoline\dotabulatelinerule -% \ifcase##1\or -% \ifnum\noftabulatelines=\zerocount -% \gdef\TABLEautoline{\TABLEnoalign{}}% -% \else\ifnum\noftabulatelines=\totalnoftabulatelines -% \gdef\TABLEautoline{\TABLEnoalign{}}% -% \fi\fi -% \fi -% \dotabulatenobreak}% -% \TABLEautoline -% \TABLEnoalign -% {\nobreak -% \ifx\TABLEautoline\dotabulatelinerule\kern-\lineheight\fi -% \ifnum\noftabulatelines=\totalnoftabulatelines -% \@EA\dotabulatenobreak -% \else -% \@EA\allowbreak -% \fi}% -% \TABLEautoline -% \TABLEnoalign -% {\dotabulatenobreak}}% -% \doifelsevalue{\??tt\currenttabulate\c!lijn}\v!regel -% {\let\HL \HR -% \let\tabulateautoline\tabulateautorule -% \let\tabulateline \tabulaterule}% -% {\def\HL{\doHL\zerocount}}% -% \def\tablebaselinecorrection -% {\def\dobaselinecorrection -% {\vskip-\prevdepth -% \vskip\strutdp -% \vskip\strutdp}% -% \baselinecorrection}% -% \def\FL{\TABLEnoalign -% {\ifinsidefloat\else -% \doifemptyvalue{\??tt\currenttabulate\c!voor} % no expansion -% {\tablebaselinecorrection}% -% \fi -% \dotabulaterule -% \dotabulatenobreak -% \dotabulateruleseperator -% \prevdepth\strutdp -% \dotabulatenobreak}}% -% \def\ML{\TABLEnoalign -% {\dotabulateruleseperator -% \dotabulaterule -% \ifnum\noftabulatelines>\plusone -% \ifnum\noftabulatelines<\minusnoftabulatelines -% \vskip\topskip\allowbreak\vskip-\topskip -% \vskip-\getvalue{\??tt\currenttabulate\c!lijndikte}% -% \dotabulaterule -% \fi -% \fi -% \dotabulateruleseperator}}% -% \def\LL{\TABLEnoalign -% {\dotabulatenobreak -% \dotabulateruleseperator -% \dotabulatenobreak -% \dotabulaterule -% \ifinsidefloat\else -% \doifemptyvalue{\??tt\currenttabulate\c!na} % no expansion -% {\vskip\strutdp -% \verticalstrut -% \vskip-\struttotal}% -% \fi}}% -% \chardef\tabulatepass\plustwo -% % -% \startflushtabulate -% \@EA\halign\@EA{\the\!!toksa\crcr\fulltabulatecontent\crcr}% -% \prevdepth\strutdp % nog eens beter, temporary hack -% \doifvalue{\??tt\currenttabulate\c!afstand}\v!grid -% {\vskip-\strutdp}% experimental tm-prikkels -% \stopflushtabulate -% % -% \egroup -% \ifinsidefloat \else -% \getvalue{\??tt\currenttabulate\c!na}% -% \fi -% \egroup} - \chardef\tabulaterepeathead\zerocount \def\processtabulate[|#1|]% in the process of optimizing diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex index 901fcd47c..422c52826 100644 --- a/tex/context/base/enco-def.tex +++ b/tex/context/base/enco-def.tex @@ -458,4 +458,12 @@ \stopencoding +% \startencoding [default] + +% \definecommand prime {\mathematics{'}} +% \definecommand doubleprime {\mathematics{''}} +% \definecommand tripleprime {\mathematics{'''}} + +% \stopencoding + \endinput diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex index 98bbd6b6e..adf08b12f 100644 --- a/tex/context/base/font-ini.tex +++ b/tex/context/base/font-ini.tex @@ -3532,9 +3532,8 @@ \def\dodefinealternativestyle[#1][#2][#3]% {\def\docommando##1% - {\doifundefined{##1} - {\setvalue{##1}{\groupedcommand{#2}{}}}% - \setvalue{\@letter@##1}{#2}% + {\doifundefined{##1}{\setvalue{##1}{\groupedcommand{#2}{}}}% + \setvalue{\@letter@ ##1}{#2}% \setvalue{\@noletter@##1}{#3}}% \processcommalist[#1]\docommando} diff --git a/tex/context/base/java-exa.tex b/tex/context/base/java-exa.tex index 13d3d6fa3..47ea96f23 100644 --- a/tex/context/base/java-exa.tex +++ b/tex/context/base/java-exa.tex @@ -187,13 +187,15 @@ function set_request (command,option) { exa_command = command ; - if (option == "") { + if (exa_command == "") { + exa_option = option ; + } else { if (option == "") { exa_option = "" ; } else { if (option.indexOf("--")<0) { exa_option = "--action=" + option ; } else { exa_option = option ; - } } + } } } } function assemble_request ( ) { diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex index 8aa8c7307..4a906a46d 100644 --- a/tex/context/base/lang-ini.tex +++ b/tex/context/base/lang-ini.tex @@ -804,6 +804,7 @@ %D \blank} %D %D \ShowLanguageValues [af] [afrikaans] afrikaanse ... +%D \ShowLanguageValues [ca] [catalan] catalan ... %D \ShowLanguageValues [cz] [czech] tjechisch tex %D \ShowLanguageValues [cz] [slovak] slowaakse ... %D \ShowLanguageValues [da] [danish] deense ... @@ -850,6 +851,7 @@ %D \NC \bf mnemonic \NC \bf language \NC \bf group \NC\SR %D \HL %D \NC \s!fr \NC french \NC italic \NC\FR +%D \NC \s!ca \NC catalan \NC italic \NC\MR %D \NC \s!es \NC spanish \NC italic \NC\MR %D \NC \s!it \NC italian \NC italic \NC\MR %D \NC \s!la \NC latin \NC italic \NC\MR diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.tex index ddf55cfe9..6bfe6c742 100644 --- a/tex/context/base/lang-ita.tex +++ b/tex/context/base/lang-ita.tex @@ -65,6 +65,20 @@ \installlanguage [sp] [\s!es] % old times context +\installlanguage + [\s!ca] + [\c!spacing=\v!packed, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!date={\v!day,\ ,\v!month,\ ,\v!year}, + \c!state=\v!stop] + % Note GB left|/|right (sub)sentences are for \quote {incisi}. \installlanguage @@ -132,6 +146,7 @@ \installlanguage [french] [\s!fr] \installlanguage [spanish] [\s!es] +\installlanguage [catalan] [\s!ca] \installlanguage [italian] [\s!it] \installlanguage [latin] [\s!la] \installlanguage [portuguese] [\s!pt] @@ -141,6 +156,7 @@ \setupheadtext [\s!fr] [\v!content=Table des mati\`eres] \setupheadtext [\s!es] [\v!content=\'Indice] +\setupheadtext [\s!ca] [\v!content=\'Index de continguts] \setupheadtext [\s!it] [\v!content=Indice] \setupheadtext [\s!la] [\v!content=Quod in libro continetur] %Argumentum \setupheadtext [\s!pt] [\v!content=Conte\'udo] @@ -148,6 +164,7 @@ \setupheadtext [\s!fr] [\v!tables=Tables] \setupheadtext [\s!es] [\v!tables=Tablas] +\setupheadtext [\s!ca] [\v!tables=Taules] \setupheadtext [\s!it] [\v!tables=Tabelle] \setupheadtext [\s!la] [\v!tables=Tabulae] \setupheadtext [\s!pt] [\v!tables=Tabelas] @@ -155,6 +172,7 @@ \setupheadtext [\s!fr] [\v!figures=Figures] \setupheadtext [\s!es] [\v!figures=Ilustraci\'ons] +\setupheadtext [\s!ca] [\v!figures=Figures] \setupheadtext [\s!it] [\v!figures=Figure] \setupheadtext [\s!la] [\v!figures=Imagines] \setupheadtext [\s!pt] [\v!figures=Figuras] @@ -163,12 +181,14 @@ \setupheadtext [\s!fr] [\v!graphics=Graphiques] \setupheadtext [\s!es] [\v!graphics=Gr\'aficos] \setupheadtext [\s!it] [\v!graphics=Grafici] +\setupheadtext [\s!ca] [\v!graphics=Gr\`afiques] \setupheadtext [\s!la] [\v!graphics=Typi] \setupheadtext [\s!pt] [\v!graphics=Gr\'aficos] \setupheadtext [\s!ro] [\v!graphics=Grafice] \setupheadtext [\s!fr] [\v!intermezzi=Interm\`edes] \setupheadtext [\s!es] [\v!intermezzi=intermedios] +\setupheadtext [\s!ca] [\v!intermezzi=intermedis] \setupheadtext [\s!it] [\v!intermezzi=Intermezzi] \setupheadtext [\s!la] [\v!intermezzi=Intermissa] \setupheadtext [\s!pt] [\v!intermezzi=Interm\'edios] @@ -176,6 +196,7 @@ \setupheadtext [\s!fr] [\v!index=Index] \setupheadtext [\s!es] [\v!index=\'Indice] +\setupheadtext [\s!ca] [\v!index=\'Index alfab\`etic] \setupheadtext [\s!it] [\v!index=Indice] \setupheadtext [\s!la] [\v!index=Indices] \setupheadtext [\s!pt] [\v!index=\'Indice] @@ -183,6 +204,7 @@ \setupheadtext [\s!fr] [\v!abbreviations=Abr\'eviations] \setupheadtext [\s!es] [\v!abbreviations=Abreviaci\'ons] +\setupheadtext [\s!ca] [\v!abbreviations=Abreviacions] \setupheadtext [\s!it] [\v!abbreviations=Abbreviazioni] \setupheadtext [\s!la] [\v!abbreviations=Notae] \setupheadtext [\s!pt] [\v!abbreviations=Abreviaturas] @@ -190,6 +212,7 @@ \setupheadtext [\s!fr] [\v!logos=Logos] \setupheadtext [\s!es] [\v!logos=Logotipos] +\setupheadtext [\s!ca] [\v!logos=Logotips] \setupheadtext [\s!it] [\v!logos=Logotipi] \setupheadtext [\s!la] [\v!logos=Typi negotiales] \setupheadtext [\s!pt] [\v!logos=Logotipos] @@ -197,6 +220,7 @@ \setupheadtext [\s!fr] [\v!units=Unit\'es] \setupheadtext [\s!es] [\v!units=Unidads] +\setupheadtext [\s!ca] [\v!units=Unitats] \setupheadtext [\s!it] [\v!units=Unit\`a] \setupheadtext [\s!la] [\v!units=Modi] \setupheadtext [\s!pt] [\v!units=Unidades] @@ -204,6 +228,7 @@ \setuplabeltext [\s!fr] [\v!table=Table ] \setuplabeltext [\s!es] [\v!table=Tablas ] +\setuplabeltext [\s!ca] [\v!table=Taules ] \setuplabeltext [\s!it] [\v!table=Tabella ] \setuplabeltext [\s!la] [\v!table=Tabula ] \setuplabeltext [\s!pt] [\v!table=Tabela ] @@ -211,6 +236,7 @@ \setuplabeltext [\s!fr] [\v!figure=Figure ] \setuplabeltext [\s!es] [\v!figure=Ilustraci\'on ] +\setuplabeltext [\s!ca] [\v!figure=Figura ] \setuplabeltext [\s!it] [\v!figure=Fig. ] \setuplabeltext [\s!la] [\v!figure=Imago ] \setuplabeltext [\s!pt] [\v!figure=Figura ] @@ -218,6 +244,7 @@ \setuplabeltext [\s!fr] [\v!intermezzo=Interm\`ede ] \setuplabeltext [\s!es] [\v!intermezzo=intermedio ] +\setuplabeltext [\s!ca] [\v!intermezzo=Intermedi ] \setuplabeltext [\s!it] [\v!intermezzo=Intermezzo ] \setuplabeltext [\s!la] [\v!intermezzo=Intermissum ] \setuplabeltext [\s!pt] [\v!intermezzo=Interm\'edio ] @@ -225,6 +252,7 @@ \setuplabeltext [\s!fr] [\v!graphic=Illustration ] \setuplabeltext [\s!es] [\v!graphic=Gr\'afico ] +\setuplabeltext [\s!ca] [\v!graphic=Gr\'afica ] \setuplabeltext [\s!it] [\v!graphic=Grafico ] \setuplabeltext [\s!la] [\v!graphic=Typus ] \setuplabeltext [\s!pt] [\v!graphic=Gr\'afico ] @@ -232,6 +260,7 @@ \setuplabeltext [\s!fr] [\v!chapter=] \setuplabeltext [\s!es] [\v!chapter=] +\setuplabeltext [\s!ca] [\v!chapter=] \setuplabeltext [\s!it] [\v!chapter=] \setuplabeltext [\s!la] [\v!chapter=] \setuplabeltext [\s!pt] [\v!chapter=] @@ -239,6 +268,7 @@ \setuplabeltext [\s!fr] [\v!section=] \setuplabeltext [\s!es] [\v!section=] +\setuplabeltext [\s!ca] [\v!section=] \setuplabeltext [\s!it] [\v!section=] \setuplabeltext [\s!la] [\v!section=] \setuplabeltext [\s!pt] [\v!section=] @@ -246,6 +276,7 @@ \setuplabeltext [\s!fr] [\v!subsection=] \setuplabeltext [\s!es] [\v!subsection=] +\setuplabeltext [\s!ca] [\v!subsection=] \setuplabeltext [\s!it] [\v!subsection=] \setuplabeltext [\s!la] [\v!subsection=] \setuplabeltext [\s!pt] [\v!subsection=] @@ -253,6 +284,7 @@ \setuplabeltext [\s!fr] [\v!subsubsection=] \setuplabeltext [\s!es] [\v!subsubsection=] +\setuplabeltext [\s!ca] [\v!subsubsection=] \setuplabeltext [\s!it] [\v!subsubsection=] \setuplabeltext [\s!la] [\v!subsubsection=] \setuplabeltext [\s!pt] [\v!subsubsection=] @@ -260,6 +292,7 @@ \setuplabeltext [\s!fr] [\v!subsubsubsection=] \setuplabeltext [\s!es] [\v!subsubsubsection=] +\setuplabeltext [\s!ca] [\v!subsubsubsection=] \setuplabeltext [\s!it] [\v!subsubsubsection=] \setuplabeltext [\s!la] [\v!subsubsubsection=] \setuplabeltext [\s!pt] [\v!subsubsubsection=] @@ -267,6 +300,7 @@ \setuplabeltext [\s!fr] [\v!appendix=] \setuplabeltext [\s!es] [\v!appendix=] +\setuplabeltext [\s!ca] [\v!appendix=] \setuplabeltext [\s!it] [\v!appendix=] \setuplabeltext [\s!la] [\v!appendix=] \setuplabeltext [\s!pt] [\v!appendix=] @@ -274,6 +308,7 @@ \setuplabeltext [\s!fr] [\v!part=Partie ] \setuplabeltext [\s!es] [\v!part=Parte ] +\setuplabeltext [\s!ca] [\v!part=Part ] \setuplabeltext [\s!it] [\v!part=Parte ] \setuplabeltext [\s!la] [\v!part=Pars ] \setuplabeltext [\s!pt] [\v!part=Parte ] @@ -281,6 +316,7 @@ \setuplabeltext [\s!fr] [\v!line=ligne ] \setuplabeltext [\s!es] [\v!line=l\'\i nea ] +\setuplabeltext [\s!ca] [\v!line=l\'\i nia ] \setuplabeltext [\s!it] [\v!line=riga ] \setuplabeltext [\s!la] [\v!line=versus ] \setuplabeltext [\s!pt] [\v!line=linha ] @@ -288,6 +324,7 @@ \setuplabeltext [\s!fr] [\v!lines=lignes ] \setuplabeltext [\s!es] [\v!lines=l\'\i neas ] +\setuplabeltext [\s!ca] [\v!lines=l\'\i nies ] \setuplabeltext [\s!it] [\v!lines=righe ] \setuplabeltext [\s!la] [\v!lines=versus ] \setuplabeltext [\s!pt] [\v!lines=linhas ] @@ -319,6 +356,19 @@ \setuplabeltext [\s!es] [\v!november=noviembre] \setuplabeltext [\s!es] [\v!december=deciembre] +\setuplabeltext [\s!ca] [\v!january=gener] +\setuplabeltext [\s!ca] [\v!february=febrer] +\setuplabeltext [\s!ca] [\v!march=mar\,c] +\setuplabeltext [\s!ca] [\v!april=abril] +\setuplabeltext [\s!ca] [\v!may=maig] +\setuplabeltext [\s!ca] [\v!june=juny] +\setuplabeltext [\s!ca] [\v!july=juliol] +\setuplabeltext [\s!ca] [\v!august=agost] +\setuplabeltext [\s!ca] [\v!september=septembre] +\setuplabeltext [\s!ca] [\v!october=octubre] +\setuplabeltext [\s!ca] [\v!november=novembre] +\setuplabeltext [\s!ca] [\v!december=decembre] + \setuplabeltext [\s!it] [\v!january=gennaio] \setuplabeltext [\s!it] [\v!february=febbraio] \setuplabeltext [\s!it] [\v!march=marzo] @@ -387,6 +437,14 @@ \setuplabeltext [\s!es] [\v!friday=viernes] \setuplabeltext [\s!es] [\v!saturday=s\'abado] +\setuplabeltext [\s!ca] [\v!sunday=diumenge] +\setuplabeltext [\s!ca] [\v!monday=dilluns] +\setuplabeltext [\s!ca] [\v!tuesday=dimarts] +\setuplabeltext [\s!ca] [\v!wednesday=dimecres] +\setuplabeltext [\s!ca] [\v!thursday=dijous] +\setuplabeltext [\s!ca] [\v!friday=divendres] +\setuplabeltext [\s!ca] [\v!saturday=dissabte] + \setuplabeltext [\s!it] [\v!sunday=domenica] \setuplabeltext [\s!it] [\v!monday=luned\`\i] \setuplabeltext [\s!it] [\v!tuesday=marted\`\i] @@ -453,6 +511,7 @@ %D \ShowAllLanguageValues [\s!fr] [french] franse slag %D \ShowAllLanguageValues [\s!es] [spanish] spaans benauwd +%D \ShowAllLanguageValues [\s!ca] [catalan] catalaans ... %D \ShowAllLanguageValues [\s!it] [italian] italiaanse ... %D \ShowAllLanguageValues [\s!la] [latin] latijnse missen %D \ShowAllLanguageValues [\s!pt] [portuguese] portugese ... diff --git a/tex/context/base/m-chart.tex b/tex/context/base/m-chart.tex index 6009f753a..b5defdc8f 100644 --- a/tex/context/base/m-chart.tex +++ b/tex/context/base/m-chart.tex @@ -61,7 +61,7 @@ \unprotect \definesorting [flowchart] [flowcharts] [\v!none] % no access -\setupsorting [flowchart] [\c!state=\v!stop] % off by default +\setupsorting [flowchart] [\c!state=\v!stop] % off by default \def\@FLOW@{@FLOW@} \def\@FLOC@{@FLOC@} @@ -134,6 +134,13 @@ \let\locate \doFLOWlocate \let\connect \doFLOWconnect} +\let\FLOWcell \s!unknown +\let\FLOWshape \s!unknown +\let\FLOWdestination\s!unknown +\let\FLOWfocus \s!unknown +\let\FLOWoverlay \empty +\let\FLOWtext \empty + \def\doFLOWname#1% {\def\FLOWcell{#1}\setFLOWname\FLOWname{name_#1}\ignorespaces} @@ -288,9 +295,9 @@ \increment(\includeFLOWy,0\FLOWiy)\decrement\includeFLOWy \def\dodoincludeFLOWchart##1% {\doifdefined{\@FLOW@-##1} - {\pushmacro\dohandleflowchart + {\globalpushmacro\dohandleflowchart % was local \gdef\dohandleflowchart[####1][####2]% - {\popmacro\dohandleflowchart + {\globalpopmacro\dohandleflowchart % was local \resetFLOWlocation \processFLOWbuffer{####1}}% \getvalue{\@FLOW@-##1}}}% @@ -382,7 +389,7 @@ \insidefloattrue \forgetall \dontcomplain - \offinterlineskip + % \offinterlineskip % we now explicitly use \nointerlineskip later on \def\dohandleflowchart[##1][##2]% {\def\currentFLOWnumber{##1}% \getparameters[\@@FLOW][##2]}% @@ -400,8 +407,8 @@ \ifcase\@@FLOWny\relax \let\@@FLOWny\FLOWheight \fi \doifnothing{\@@FLOWmaxwidth\@@FLOWmaxheight}{\FLOWscalingfalse}% \ifFLOWscaling - \doifnothing{\@@FLOWmaxwidth}{\let\@@FLOWmaxwidth\maxdimen}% - \doifnothing{\@@FLOWmaxheight} {\let\@@FLOWmaxheight \maxdimen}% + \doifnothing{\@@FLOWmaxwidth }{\let\@@FLOWmaxwidth \maxdimen}% + \doifnothing{\@@FLOWmaxheight}{\let\@@FLOWmaxheight\maxdimen}% \scratchcounter=\bodyfontpoints \doloop % NOG FONTSWITCH OM EX EN EM TE LATEN WERKEN {\ifnum\scratchcounter>1 % NU DIMENSIONS IN TERMS OF BODYFONTSIZE @@ -432,7 +439,7 @@ \fi}% \expanded{\switchtobodyfont[\the\scratchcounter pt]}% \forgetall - \offinterlineskip + % \offinterlineskip % needed ? \else\ifx\@@FLOWbodyfont\empty\else \expanded{\switchtobodyfont[\@@FLOWbodyfont]}% \expanded ? \fi\fi @@ -472,7 +479,7 @@ [\@@FLOWoffset] [ \v!none=>\scratchdimen=-2.5\scratchdimen, \v!overlay=>\scratchdimen=-2.5\scratchdimen, - \v!standard=>\scratchdimen=\scratchdimen, + \v!standard=>\scratchdimen=\scratchdimen, \s!unknown=>\scratchdimen=\@@FLOWoffset, \s!default=>\scratchdimen=-2.5\scratchdimen]% \edef\@@FLOW@@offset{\the\scratchdimen}% @@ -589,7 +596,8 @@ \c!unit=pt,\c!location=\v!middle]}% \wd6\wd0\ht6\ht0\dp6\dp0 \setbox8\vbox - {\forgetall\offinterlineskip + {\forgetall + \offinterlineskip \vskip\@@FLOW@@offset \dostepwiserecurse\@@FLOWy\@@FLOWny\plusone {\vbox to \FLOWgridheight @@ -812,31 +820,78 @@ \egroup \ignorespaces} -\def\doprocessFLOWcellD#1,#2\end % kan ook met area - {\!!counta=#1\relax - \!!countb=#2\relax - \!!countc=\@@FLOWx - \!!countd=\@@FLOWy +% pass D + +\def\dophaseoneFLOWcellX#1#2% + {\!!counta#1\relax + \!!countb#2\relax + \!!countc\@@FLOWx + \!!countd\@@FLOWy \advance\!!countc \@@FLOWnx \advance\!!countd \@@FLOWny - \advance\!!countc -1 - \advance\!!countd -1 + \advance\!!countc \minusone + \advance\!!countd \minusone \ifnum\!!counta<\@@FLOWx\relax \donefalse \else\ifnum\!!counta>\!!countc \donefalse \else\ifnum\!!countb<\@@FLOWy\relax \donefalse \else\ifnum\!!countb>\!!countd \donefalse \else \donetrue + \fi\fi\fi\fi} + +\def\dophasetwoFLOWcellX + {\advance\!!counta -\@@FLOWx + \advance\!!counta \plusone + \advance\!!countb -\@@FLOWy + \advance\!!countb \plusone + \dimen0=\FLOWgridwidth + \dimen0=\!!counta\dimen0 + \advance\dimen0 -\FLOWgridwidth + \dimen4=\FLOWgridwidth + \advance\dimen4 -\FLOWshapewidth + \advance\dimen0 .5\dimen4 + \dimen2=\FLOWgridheight + \dimen2=\!!countb\dimen2 + \dimen4=\FLOWgridheight + \advance\dimen4 -\FLOWshapeheight + \advance\dimen2 -.5\dimen4 + \edef\FLOWdx{\the\dimen0}% + \edef\FLOWdy{\the\dimen2}} + +\def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set + {\setbox0\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}% + \smashbox0\box0 + \nointerlineskip} % new, needed since we somehow reset that + +\def\doFLOWtlabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi + \setbox0\hbox{\hskip\dimen2\raise\scratchdimen + \hbox{\raise\dimen4\hbox{#1{\strut#3}}}}% + \positionFLOWzero}% + +\def\doFLOWblabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi + \setbox0\hbox{\hskip\dimen2\raise-\scratchdimen + \hbox{#1{\strut#3}}}% + \positionFLOWzero}% + +\def\doFLOWllabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi + \setbox0\hbox{\hskip-\scratchdimen\raise\dimen6 + \hbox{#1{\strut#3}}}% + \positionFLOWzero}% + +\def\doFLOWrlabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi + \setbox0\hbox{\hskip\dimen0\hskip\scratchdimen + \hbox{\raise\dimen6\hbox{#1{\strut#3}}}}% + \positionFLOWzero} + +\def\doprocessFLOWcellD#1,#2\end + {\dophaseoneFLOWcellX{#1}{#2}% + \ifdone + \dophasetwoFLOWcellX \doglobal\addtocommalist\FLOWcell\FLOWcells - \advance\!!counta -\@@FLOWx\advance\!!counta \plusone - \advance\!!countb -\@@FLOWy\advance\!!countb \plusone - \dimen0=\FLOWgridwidth\dimen0=\!!counta\dimen0 - \advance\dimen0 -\FLOWgridwidth - \dimen4=\FLOWgridwidth\advance\dimen4 -\FLOWshapewidth - \advance\dimen0 .5\dimen4 - \dimen2=\FLOWgridheight\dimen2=\!!countb\dimen2 - \dimen4=\FLOWgridheight\advance\dimen4 -\FLOWshapeheight - \advance\dimen2 -.5\dimen4 - \setbox0=\hbox + \setbox0\hbox {\ifx\FLOWalign\empty\else \setupframed [\c!align=\v!normal,\c!bottom=\vfill,\c!top=\vfill]% @@ -857,37 +912,12 @@ [\c!frame=\v!off, \c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight] {\FLOWtext}}% - \showFLOWhelp0 - \ifx\FLOWdestination\empty\else - \setbox0=\hbox - {\setupinteraction[\c!color=,\c!contrastcolor=]% - \gotobox{\box0}[\FLOWdestination]}% - \fi - \edef\FLOWdx{\the\dimen0}% - \edef\FLOWdy{\the\dimen2}% - \def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set - {\setbox0=\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}% - \smashbox0\box0}% - \def\doFLOWtlabel##1##2##3% - {\scratchdimen=\ifcase##2 \!!zeropoint\else\@@FLOWdy\fi - \setbox0=\hbox{\hskip\dimen2\raise\scratchdimen - \hbox{\raise\dimen4\hbox{##1{\strut##3}}}}% - \positionFLOWzero}% - \def\doFLOWblabel##1##2##3% - {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdy\fi - \setbox0=\hbox{\hskip\dimen2\raise-\scratchdimen - \hbox{##1{\strut##3}}}% - \positionFLOWzero}% - \def\doFLOWllabel##1##2##3% - {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdx\fi - \setbox0=\hbox{\hskip-\scratchdimen\raise\dimen6 - \hbox{##1{\strut##3}}}% - \positionFLOWzero}% - \def\doFLOWrlabel##1##2##3% - {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdx\fi - \setbox0=\hbox{\hskip\dimen0\hskip\scratchdimen - \hbox{\raise\dimen6\hbox{##1{\strut##3}}}}% - \positionFLOWzero}% + \showFLOWhelp0 + \ifx\FLOWdestination\empty\else + \setbox0\hbox + {\setupinteraction[\c!color=,\c!contrastcolor=]% + \gotobox{\box0}[\FLOWdestination]}% + \fi \positionFLOWzero \dimen0=\FLOWshapewidth \dimen2=.5\dimen0 \dimen4=\FLOWshapeheight\dimen6=.5\dimen4 @@ -904,7 +934,7 @@ \ifnum#1=\!!countc \doFLOWrlabel \rightbox1\rFLOWexit \fi \ifnum#2=\@@FLOWy\relax \doFLOWtlabel \topbox1\tFLOWexit \fi \ifnum#2=\!!countd \doFLOWblabel \bottombox1\bFLOWexit \fi - \fi\fi\fi\fi} + \fi} % Pass E @@ -914,55 +944,141 @@ \let\doprocessFLOWcell\doprocessFLOWcellE \expandafter\doprocessFLOWcell\FLOWlocation\end} -\def\doprocessFLOWcellE#1,#2\end % redundant - {\ifx\FLOWoverlay\empty \else - \!!counta=#1\relax - \!!countb=#2\relax - \!!countc=\@@FLOWx - \!!countd=\@@FLOWy +\def\dophaseoneFLOWcellX#1#2% + {\!!counta#1\relax + \!!countb#2\relax + \!!countc\@@FLOWx + \!!countd\@@FLOWy \advance\!!countc \@@FLOWnx \advance\!!countd \@@FLOWny \advance\!!countc \minusone \advance\!!countd \minusone - \ifnum\!!counta<\@@FLOWx\relax - \donefalse - \else\ifnum\!!counta>\!!countc - \donefalse - \else\ifnum\!!countb<\@@FLOWy\relax - \donefalse - \else\ifnum\!!countb>\!!countd - \donefalse - \else - \donetrue - \fi\fi\fi\fi + \ifnum\!!counta<\@@FLOWx\relax \donefalse + \else\ifnum\!!counta>\!!countc \donefalse + \else\ifnum\!!countb<\@@FLOWy\relax \donefalse + \else\ifnum\!!countb>\!!countd \donefalse + \else \donetrue + \fi\fi\fi\fi} + +\def\dophasetwoFLOWcellX + {\advance\!!counta -\@@FLOWx + \advance\!!counta \plusone + \advance\!!countb -\@@FLOWy + \advance\!!countb \plusone + \dimen0=\FLOWgridwidth + \dimen0=\!!counta\dimen0 + \advance\dimen0 -\FLOWgridwidth + \dimen4=\FLOWgridwidth + \advance\dimen4 -\FLOWshapewidth + \advance\dimen0 .5\dimen4 + \dimen2=\FLOWgridheight + \dimen2=\!!countb\dimen2 + \dimen4=\FLOWgridheight + \advance\dimen4 -\FLOWshapeheight + \advance\dimen2 -.5\dimen4 + \edef\FLOWdx{\the\dimen0}% + \edef\FLOWdy{\the\dimen2}} + +\def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set + {\setbox0\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}% + \smashbox0\box0 + \nointerlineskip}% + +\def\doFLOWtlabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi + \setbox0\hbox{\hskip\dimen2\raise\scratchdimen + \hbox{\raise\dimen4\hbox{#1{\strut#3}}}}% + \positionFLOWzero}% + +\def\doFLOWblabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi + \setbox0\hbox{\hskip\dimen2\raise-\scratchdimen + \hbox{#1{\strut#3}}}% + \positionFLOWzero}% + +\def\doFLOWllabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi + \setbox0\hbox{\hskip-\scratchdimen\raise\dimen6 + \hbox{#1{\strut#3}}}% + \positionFLOWzero}% + +\def\doFLOWrlabel#1#2#3% + {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi + \setbox0\hbox{\hskip\dimen0\hskip\scratchdimen + \hbox{\raise\dimen6\hbox{#1{\strut#3}}}}% + \positionFLOWzero} + +\def\doprocessFLOWcellD#1,#2\end + {\dophaseoneFLOWcellX{#1}{#2}% \ifdone - \advance\!!counta -\@@FLOWx\advance\!!counta \plusone - \advance\!!countb -\@@FLOWy\advance\!!countb \plusone - \dimen0=\FLOWgridwidth\dimen0=\!!counta\dimen0 - \advance\dimen0 -\FLOWgridwidth - \dimen4=\FLOWgridwidth\advance\dimen4 -\FLOWshapewidth - \advance\dimen0 .5\dimen4 - \dimen2=\FLOWgridheight\dimen2=\!!countb\dimen2 - \dimen4=\FLOWgridheight\advance\dimen4 -\FLOWshapeheight - \advance\dimen2 -.5\dimen4 - \edef\FLOWdx{\the\dimen0}% - \edef\FLOWdy{\the\dimen2}% - \setbox0=\hbox - {\framed + \dophasetwoFLOWcellX + \doglobal\addtocommalist\FLOWcell\FLOWcells + \setbox0\hbox + {\ifx\FLOWalign\empty\else + \setupframed + [\c!align=\v!normal,\c!bottom=\vfill,\c!top=\vfill]% + \@EA\processallactionsinset\@EA + [\FLOWalign] + [t=>{\setupframed[\c!bottom=\vfill,\c!top=]}, + b=>{\setupframed[\c!bottom=,\c!top=\vfill]}, + l=>{\setupframed[\c!align=\v!right]}, + r=>{\setupframed[\c!align=\v!left]}, + m=>{\setupframed[\c!align=\v!middle]}, + c=>{\setupframed[\c!align=\v!middle]}]% + \fi + \doifelse\FLOWshape{none} % {\v!none} + {\setupframed[\c!offset=\v!overlay]} + %{\setupframed[\c!offset=.5\bodyfontsize]}% + {\setupframed[\c!offset=\@@FLOSoffset]}% + \framed [\c!frame=\v!off, - \c!background={\@@FLOWbackground,\FLOWoverlay}, - \c!backgroundcolor=\@@FLOSbackgroundcolor, \c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight] - {}}% - \setbox0=\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}% - \smashbox0 - \box0 - \fi - \fi} + {\FLOWtext}}% + \showFLOWhelp0 + \ifx\FLOWdestination\empty\else + \setbox0\hbox + {\setupinteraction[\c!color=,\c!contrastcolor=]% + \gotobox{\box0}[\FLOWdestination]}% + \fi + \positionFLOWzero + \dimen0=\FLOWshapewidth \dimen2=.5\dimen0 + \dimen4=\FLOWshapeheight\dimen6=.5\dimen4 + \boxoffset=.5\bodyfontsize + \doFLOWtlabel \righttopbox0\tFLOWlabel + \doFLOWblabel\rightbottombox0\bFLOWlabel + \doFLOWllabel \lefttopbox0\lFLOWlabel + \doFLOWrlabel \righttopbox0\rFLOWlabel + \doFLOWtlabel \topbox0\tcFLOWlabel % for me only + \doFLOWblabel \bottombox0\bcFLOWlabel % for me only + \doFLOWllabel \leftbox0\lcFLOWlabel % for me only + \doFLOWrlabel \rightbox0\rcFLOWlabel % for me only + \ifnum#1=\@@FLOWx\relax \doFLOWllabel \leftbox1\lFLOWexit \fi + \ifnum#1=\!!countc \doFLOWrlabel \rightbox1\rFLOWexit \fi + \ifnum#2=\@@FLOWy\relax \doFLOWtlabel \topbox1\tFLOWexit \fi + \ifnum#2=\!!countd \doFLOWblabel \bottombox1\bFLOWexit \fi + \fi} + +\def\doprocessFLOWcellE#1,#2\end % redundant + {\ifx\FLOWoverlay\empty \else + \dophaseoneFLOWcellX{#1}{#2}% + \ifdone + \dophasetwoFLOWcellX + \edef\FLOWdx{\the\dimen0}% + \edef\FLOWdy{\the\dimen2}% + \setbox0\hbox + {\framed + [%\c!frame=\v!off, + \c!background={\@@FLOWbackground,\FLOWoverlay}, + \c!backgroundcolor=\@@FLOSbackgroundcolor, + \c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight] + {}}% + \positionFLOWzero + \fi + \fi} % Pass F -\def\checkFLOWautofocus% +\def\checkFLOWautofocus {\def\@@FLOWminx{100}\let\@@FLOWminy\@@FLOWminx \def\@@FLOWmaxx {0}\let\@@FLOWmaxy\@@FLOWmaxx \def\@@FLOWabsx {0}\let\@@FLOWabsy\@@FLOWabsx diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex index 26eabe542..8f3960f16 100644 --- a/tex/context/base/math-ini.tex +++ b/tex/context/base/math-ini.tex @@ -281,7 +281,7 @@ \endgraf}% \fi} -\def\definemathcommand% +\def\definemathcommand {\dotripleempty\dodefinemathcommand} \def\dodefinemathcommand[#1][#2][#3]#4% command class args meaning @@ -317,10 +317,10 @@ \def\stopmathcollection {\popmacro\mathcollection} -\def\startrawmathcollection% +\def\startrawmathcollection {\startmathcollection} -\def\stoprawmathcollection% +\def\stoprawmathcollection {\stopmathcollection} \newtoks\mathtoks @@ -465,10 +465,11 @@ \setupbodyfont[lbr] \enablemathcollection[lbr] \input math-lbr \page \setupbodyfont[eul] \enablemathcollection[eul] \input math-eul \stoptext -% to be checked +% to be checked, overloads supp-lan ! \def\defineactivecharacter #1 #2% - {\scratchcounter=\the\uccode`~ +% {\scratchcounter=\the\uccode`~ + {\scratchcounter\uccode`~\relax \expandafter\doifnumberelse\expandafter{\string#1} {\catcode #1=\@@active \uccode`~= #1\relax} {\catcode`#1=\@@active \uccode`~=`#1\relax}% @@ -481,19 +482,25 @@ \expandafter\def\next{\dohandleactivecharacter{#1}{#2}}% new \uccode`~=\scratchcounter} -\def\dohandleactivecharacter% +\def\dohandleactivecharacter {\ifmmode \expandafter\dohandleactivemathcharacter \else \expandafter\secondoftwoarguments \fi} -\let\dohandleactivemathcharacter\secondoftwoarguments - -\def\dohandleactivemathcharacter#1#2% - {\ifundefined{@ma@\string#1} +\def\dohandleactivemathcharacter#1#2#3% + {\ifundefined{@ma@\string#2}% \expandafter\firstofoneargument \else - \getvalue{@ma@\string#1}% + \getvalue{@ma@\string#2}% \expandafter\gobbleoneargument - \fi{#2}} + \fi{#3}} + +% \def\dohandleactivemathcharacter#1#2% +% {\ifcsname @ma@\string#1\endcsname +% \csname @ma@\string#1\expandafter\endcsname +% \expandafter\gobbleoneargument +% \else +% \expandafter\firstofoneargument +% \fi{#2}} diff --git a/tex/context/base/mult-ini.tex b/tex/context/base/mult-ini.tex index 40dc29378..5e0b68e36 100644 --- a/tex/context/base/mult-ini.tex +++ b/tex/context/base/mult-ini.tex @@ -1025,12 +1025,12 @@ %D dutch counterpart is: %D %D \starttyping -%D \c!breedte +%D breedte %D \stoptyping %D %D When we interpret a setup command each variable is %D translated to it's \type{c!} counterpart. This means that -%D \type{breedte} and \type{width} expand to \type{\c!breedte} +%D \type{breedte} and \type{width} expand to \type{breedte} %D and \type{\c!width} which both expand to \type{width}. That %D way user variables become system constants. %D diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex index 4775dcf33..92a405672 100644 --- a/tex/context/base/mult-sys.tex +++ b/tex/context/base/mult-sys.tex @@ -33,6 +33,7 @@ %D multi||lingual interface and multi||linguag typesetting. \definesystemconstant {afrikaans} \definesystemconstant {af} +\definesystemconstant {catalan} \definesystemconstant {ca} \definesystemconstant {chinese} \definesystemconstant {cn} \definesystemconstant {croation} \definesystemconstant {hr} \definesystemconstant {czech} \definesystemconstant {cz} diff --git a/tex/context/base/page-app.tex b/tex/context/base/page-app.tex index 9cc1682f3..6a9a10d33 100644 --- a/tex/context/base/page-app.tex +++ b/tex/context/base/page-app.tex @@ -35,42 +35,6 @@ \c!rightmargin=\!!zeropoint,\c!rightedge=\!!zeropoint, \c!header=\!!zeropoint,\c!footer=\!!zeropoint] -% \def\dostartfittingpage[#1][#2]% -% {\pagina % this is kind of tricky! there can be preceding page refs -% \bgroup % resulting in a zero height page; test fig-make ! -% \dontcomplain -% % runs under current page regime, i.e. page variables passed to mp -% \setbox\scratchbox\hbox -% \bgroup -% \getparameters[#1][#2]% -% \schaal[\c!schaal=\getvalue{#1\c!schaal}]\bgroup\localframed[#1]\bgroup} - -% \def\dostopfittingpage -% {\egroup\egroup\egroup -% \edef\fittingwd{\the\wd\scratchbox}% -% \edef\fittinght{\the\ht\scratchbox}% -% \startlocallayout -% \ifdim\fittinght<\lineheight -% % write status : too small -% \setbox\scratchbox\vbox to \lineheight{\vss\box\scratchbox\vss}% -% \edef\fittinght{\the\lineheight}% -% \fi -% \let\checkcurrentlayout\relax % else interference with odd/even layout -% \setuppapersize -% [\??fp\s!dummy][\??fp\s!dummy]% -% \definelayout -% [\v!pagina]% -% [\c!plaats=\v!midden, -% \c!breedte=\fittingwd, -% \c!hoogte=\fittinght]% -% \setuplayout -% [\v!pagina]% -% \startmakeup[\v!standaard][\c!tekststatus=\v!leeg,\c!dubbelzijdig=\v!nee,\c!pagina=]% -% \centerbox{\box\scratchbox}% -% \stopmakeup -% \stoplocallayout -% \egroup} - \def\dostartfittingpage[#1][#2]% {\page % this is kind of tricky! there can be preceding page refs \bgroup % resulting in a zero height page; test fig-make ! diff --git a/tex/context/base/page-bck.tex b/tex/context/base/page-bck.tex index 4a7149658..165bbafaf 100644 --- a/tex/context/base/page-bck.tex +++ b/tex/context/base/page-bck.tex @@ -96,22 +96,6 @@ %D (On the 824 pages maps bibliography runtime went down from %D 309 to 299 seconds.) -% \def\checkbackground#1% -% {\edef\!!stringe{\??ma#1}% -% \doifelsevaluenothing{\!!stringe\c!achtergrond } -% {\doifelsevaluenothing{\!!stringe\c!voorgrondkleur} -% {\doifelsevalue{\!!stringe\c!kader }\v!aan\!!doneatrue -% {\doifelsevalue{\!!stringe\c!linkerkader }\v!aan\!!doneatrue -% {\doifelsevalue{\!!stringe\c!rechterkader}\v!aan\!!doneatrue -% {\doifelsevalue{\!!stringe\c!bovenkader }\v!aan\!!doneatrue -% {\doifelsevalue{\!!stringe\c!onderkader }\v!aan\!!doneatrue -% \!!doneafalse}}}}} -% \!!doneatrue} -% \!!doneatrue -% \if!!donea -% \expandafter\setusage\else\expandafter\resetusage -% \fi{\??ma#1}} - \def\checkbackground#1% {\edef\!!stringe{\??ma#1}% \doifelsevaluenothing{\!!stringe\c!background } diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex index 6e59c495e..fcca715d6 100644 --- a/tex/context/base/page-flt.tex +++ b/tex/context/base/page-flt.tex @@ -1077,11 +1077,11 @@ % % \def\dosetfloatcaption#1#2#3% name will change % {\def\dofloattekst% -% {{\doattributes{\??kj#1}\c!letter\c!kleur{#3}}}% -% \doifelsevalue{\??kj#1\c!nummer}{\v!ja} +% {{\doattributes{\??kj#1}\c!sttle\c!color{#3}}}% +% \doifelsevalue{\??kj#1\c!number}\v!yes % {\def\dofloatnummer% % {{\xdef\floatcaptionnumber{#1}% -% \hbox{\doattributes{\??kj#1}\c!kopletter\c!kopkleur +% \hbox{\doattributes{\??kj#1}\c!headstyle\c!headcolor % {\strut#2\floatcaptionsuffix}}}% % \ConvertToConstant\doifnot{#3}{} % {\tfskip\emergencystretch=.5em}}} @@ -1186,9 +1186,9 @@ \newbox\tempfloatbox \newbox\tempcaptionbox -%\stelblokkopjesin[\c!breedte=5cm] -%\stelblokkopjesin[\c!uitlijnen=\v!links] -%\stelblokkopjesin[\c!uitlijnen=\v!rechts] +%\stelblokkopjesin[\c!width=5cm] +%\stelblokkopjesin[\c!align=\v!left] +%\stelblokkopjesin[\c!align=\v!right] \def\docheckcaptioncontent#1#2#3#4% {\ifnofloatcaption \else @@ -1853,35 +1853,6 @@ \appendtoks\the\everytopofpage \to\everystarttext \appendtoks\global\everytopofpage{}\to\everystoptext -% \def\douitstellen -% {\the\everytopofpage -% \ifvoid\collectedpagefloats\else -% % message -% \unvbox\collectedpagefloats -% \fi -% \ifinuitstellen\else\ifcase\nofpostponedblocks\else % The \nof-test is -% \bgroup % we need the color/font switch, else problems inside split verbatim -% \setnormalcatcodes % uitstellen in verbatim -% \edef\savedtopofpagecolor{\topofpagecolor}% -% \doifsomething\savedtopofpagecolor\restorecolormode % \stopcolormode -% \restoreglobalbodyfont -% \global\pagetotal\zeropoint % recently added and -% \global\inuitstellentrue % definitely needed else -% \dorecurse\nofpostponedblocks % we can loose or disorder -% {\haalbuffer[buf-\recurselevel]} % floats; anyhow, this -% \doflushfloats % new but potential dangerous % mechanism is still -% \doglobal\newcounter\nofpostponedblocks % suboptimal and needs a -% \global\inuitstellenfalse % proper analysis -% \doifsomething\savedtopofpagecolor\startcolormode\savedtopofpagecolor -% \egroup -% \fi\fi} -% -% \setvalue{\e!start\v!uitstellen}% -% {\doglobal\increment\nofpostponedblocks -% \showmessage\m!layouts3\nofpostponedblocks -% \dostartbuffer[buf-\nofpostponedblocks] -% [\e!start\v!uitstellen][\e!stop\v!uitstellen]} - % \startpostponing [pagenumber] [+pageoffset] % % \startpostponing[2] @@ -1903,7 +1874,7 @@ % \ifinuitstellen: handhaven, want gebruikt in stijlen ! ! ! ! ! -\def\douitstellen +\def\dopostponeblock {\bgroup % new may 2004 \setsystemmode\v!postponing % new may 2004 \the\everytopofpage diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex index 1574832f3..530102cca 100644 --- a/tex/context/base/page-ini.tex +++ b/tex/context/base/page-ini.tex @@ -991,7 +991,7 @@ \dosupereject \fi \doflushspread - \douitstellen} + \dopostponeblock} \ifx\doflushspread\undefined \let\doflushspread\relax \fi diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex index d24708e23..d8dfeaca1 100644 --- a/tex/context/base/page-lay.tex +++ b/tex/context/base/page-lay.tex @@ -409,9 +409,9 @@ \global\negateprintboxfalse \processallactionsinset [#1] - [ \v!landscape=>\global\chardef#2\plusone, - \v!mirrored=>\global\chardef#5\plusone, - \v!rotated=>\gdef#3{90}\gdef#4{270}, + [ \v!landscape=>\global\chardef#2\plusone, + \v!mirrored=>\global\chardef#5\plusone, + \v!rotated=>\gdef#3{90}\gdef#4{270}, \v!negative=>\global\negateprintboxtrue, 90=>\gdef#3{90}\gdef#4{270}, 180=>\gdef#3{180}\gdef#4{0}, @@ -422,7 +422,7 @@ \def\calculatepaperoffsets#1% {\scratchdimen\getvalue{\??pp#1\c!offset}% \global\advance\paperwidth -2\scratchdimen - \global\advance\paperheight -2\scratchdimen} + \global\advance\paperheight-2\scratchdimen} \fi @@ -638,13 +638,13 @@ {\doublesidedprintfalse \ExpandFirstAfter\processallactionsinset [\@@lylocation] - [ \v!middle=>{\setuppapersize[\c!left=\hss,\c!right=\hss,\c!top=\vss,\c!bottom=\vss]}, + [ \v!middle=>{\setuppapersize[\c!left=\hss,\c!right=\hss,\c!top=\vss,\c!bottom=\vss]}, \v!left=>{\setuppapersize[\c!left=,\c!right=\hss]}, \v!right=>{\setuppapersize[\c!left=\hss,\c!right=]}, - \v!bottom=>{\setuppapersize[\c!top=\vss,\c!bottom=]}, - \v!top=>{\setuppapersize[\c!top=,\c!bottom=\vss]},% + \v!bottom=>{\setuppapersize[\c!top=\vss,\c!bottom=]}, + \v!top=>{\setuppapersize[\c!top=,\c!bottom=\vss]},% \v!doublesided=>\doublesidedprinttrue, - \v!singlesided=>\doublesidedprintfalse]} + \v!singlesided=>\doublesidedprintfalse]} \def\definelayout {\dodoubleargument\dodefinelayout} @@ -691,13 +691,13 @@ \let\@@zaheight=\!!zeropoint \def\dopushpagedimensions - {\xdef\oldteksthoogte{\the\textheight}% - \xdef\oldvoethoogte {\the\footerheight}% + {\xdef\oldtextheight {\the\textheight }% + \xdef\oldfooterheight{\the\footerheight}% \global\let\@@zaheight\@@zaheight} \def\dopoppagedimensions - {\global\textheight\oldteksthoogte - \global\footerheight\oldvoethoogte + {\global\textheight \oldtextheight + \global\footerheight\oldfooterheight \recalculatelayout \global\let\pushpagedimensions\dopushpagedimensions \global\let\poppagedimensions\relax} diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex index c716325ef..0e23d0554 100644 --- a/tex/context/base/page-lyr.tex +++ b/tex/context/base/page-lyr.tex @@ -510,19 +510,12 @@ \let\placelayer\flushlayer -% \def\tightlayer[#1]% -% {\hbox -% {\def\currentlayer{#1}% todo: left/right -% \hsize\layerparameter\c!breedte -% \vsize\layerparameter\c!hoogte -% \composedlayer{#1}}} - \def\tightlayer[#1]% {\hbox {\def\currentlayer{#1}% todo: left/right - \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox - \hsize\layerparameter\c!width % \overlaywidth = \hsize - \vsize\layerparameter\c!height % \overlaywheight = \vsize + \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox + \hsize\layerparameter\c!width % \overlaywidth = \hsize + \vsize\layerparameter\c!height % \overlaywheight = \vsize \composedlayer{#1}}} %D \macros diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex index 4cf684bc3..2cb6d8785 100644 --- a/tex/context/base/page-mar.tex +++ b/tex/context/base/page-mar.tex @@ -329,10 +329,6 @@ \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} @@ -650,19 +646,27 @@ \savemargincontentlines \ifdone \advance\margincontentheight \margincontentextralines\lineheight - \bgroup % preserve \margincontentheight - \advance\margincontentheight \pagetotal - \ifdim\margincontentheight>\pagegoal - \egroup - \ifcase\marginpagecheckmethod\or - \vadjust pre {\page}% - \or - \setmargincontentpenalties + \ifdim\pagegoal>\pagetotal + \bgroup % preserve \margincontentheight + \advance\margincontentheight \pagetotal + \ifdim\margincontentheight>\pagegoal + \egroup + \ifcase\marginpagecheckmethod + % disabled + \or + \setmargincontentpenalties + \or + % potentially dangerous, maybe better a \goodbreak; the problem is that + % there can be a penalty there, which we then overload and we also introduce + % nasty side effects, so, we drop this option + % \vadjust pre {\page}% + \fi + \else + \egroup \fi - \else - \egroup \fi \else % We need the above because interlinepenalties overrule vadjusted \nobreaks. + % a bit dangerous \vadjust{\nobreak}% \fi \egroup} @@ -764,7 +768,7 @@ % more efficient (5K less fotmat file) % -% \letvalue{\??im\v!binnen\c!plaats}\v!binnen \letvalue{\??im\v!binnen\c!uitlijnen}\v!binnen -% \letvalue{\??im\v!buiten\c!plaats}\v!buiten \letvalue{\??im\v!buiten\c!uitlijnen}\v!binnen +% \letvalue{\??im\v!inner\c!location}\v!inner \letvalue{\??im\v!inner\c!align}\v!inner +% \letvalue{\??im\v!outer\c!location}\v!outer \letvalue{\??im\v!outer\c!align}\v!inner \protect \endinput diff --git a/tex/context/base/page-not.tex b/tex/context/base/page-not.tex index 42316864b..151f957f4 100644 --- a/tex/context/base/page-not.tex +++ b/tex/context/base/page-not.tex @@ -63,8 +63,10 @@ \def\checkendcolumnfootnotes {\restorenotedata - \ifcase\clevernotes\else - \restorenotecontent + \ifinsidecolumns + \ifcase\clevernotes\else + \restorenotecontent + \fi \fi} \protect \endinput diff --git a/tex/context/base/page-one.tex b/tex/context/base/page-one.tex index 1861a5be7..bdae19104 100644 --- a/tex/context/base/page-one.tex +++ b/tex/context/base/page-one.tex @@ -222,7 +222,7 @@ \pushproperties % moved from just after #1#2 \dobotinsertions % added \fi\fi\fi - \fakenotes}% + \fakepagenotes}% was \fakenotes, but wrong! (check with \setupalign[height]) \ifbottomnotes \ifgridsnapping \getnoflines\textheight diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex index a0b07dc8a..1aeb05a96 100644 --- a/tex/context/base/page-set.tex +++ b/tex/context/base/page-set.tex @@ -620,10 +620,6 @@ \textwidth\localcolumnwidth \hsize\localcolumnwidth} -%\def\OTRSETsynchronizehsize -% {\doifnotvalue{\??mc\OTRSETidentifier\the\mofcolumns\c!breedte}\v!passend -% \OTRSETsethsize} - \def\OTRSETsynchronizehsize {\ifcase0\getvalue{\??mc\??mc\c!width}\else % some width set \bgroup diff --git a/tex/context/base/ppchtex.tex b/tex/context/base/ppchtex.tex index b25702aff..4e5ed3d25 100644 --- a/tex/context/base/ppchtex.tex +++ b/tex/context/base/ppchtex.tex @@ -391,7 +391,7 @@ \def\dowithchemical% {} -\doifdefinedelse{@@iastatus} +\doifdefinedelse{@@iastate} {\def\localgotochemical#1#2{\naarbox{#2}[#1]}% \def\localthisischemical#1{\pagereference[#1]}} {\def\localgotochemical#1{}% @@ -420,7 +420,7 @@ [\getvalue{#1\c!size}] [ \v!small=>\def\@@localchemicalformat{\scriptscriptstyle}, \v!medium=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptscriptstyle\else\scriptstyle\fi}, - \v!big=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptstyle\else\textstyle\fi}, + \v!big=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptstyle\else\textstyle\fi}, \s!unknown=>\def\@@localchemicalformat{\getvalue{#1\c!size}}]% \processaction [\getvalue{#1\c!textsize}] @@ -454,15 +454,15 @@ {\dosingleargument\dosetupchemical} \def\@@dochemicalstyle% % default mapping - {\@@chemicalletter} + {\@@chemicalstyle} \def\@@dochemicalcolor% % no mapping yet {} -\def\@@chemicalletter % $inner-style$ % (overloaded) - {\@@chemicalchemicalletter} % $$outer-style$$ +\def\@@chemicalstyle % $inner-style$ % (overloaded) + {\@@chemicalchemicalstyle} % $$outer-style$$ -\def\@@writechemicalstatus#1#2% +\def\@@writechemicalstate#1#2% {} \def\@@beginchemicallocalpicture @@ -585,7 +585,7 @@ \def\@@setsecondchemicalplotsymbol% {\ifcase\chemicaldrawingmode \!!widtha=50.8mm - \divide\!!widtha by \@@chemicalresolutie\relax + \divide\!!widtha by \@@chemicalresolution\relax \plotsymbolspacing=\!!widtha \setplotsymbol({\vrule\!!height\!!widtha\!!width\!!widtha})% \fi} @@ -673,15 +673,15 @@ \resetMPdrawing \fi % - \doif{\@@chemicalvariant}{2} + \doif{\@@chemicalalternative}{2} {\@@setsecondchemicalplotsymbol}% % - \doif{\@@chemicalassenstelsel}{\v!on} + \doif{\@@chemicalaxis}\v!on {\let\chemicalframe\hbox}% % \!!counta=250000 \divide\!!counta by \@@localchemicalscale - \!!widtha=\@@chemicalkorps + \!!widtha=\@@chemicalbodyfont \divide\!!widtha by \!!counta \@@setchemicalcoordinatesystem{\the\!!widtha}% % @@ -716,30 +716,30 @@ \fi \fi}% \fixedchemicalfalse - \doif{\@@chemicalbreedte}{\v!fit} - {\edef\@@chemicalbreedte% + \doif\@@chemicalwidth\v!fit + {\edef\@@chemicalwidth {\ifnum\chemicaldrawingmode=1 2000 \else 1 \fi}% \fixedchemicaltrue}% - \doif{\@@chemicalhoogte}{\v!fit} - {\edef\@@chemicalhoogte% + \doif\@@chemicalheight\v!fit + {\edef\@@chemicalheight {\ifnum\chemicaldrawingmode=1 2000 \else 1 \fi}% \fixedchemicaltrue}% - \doifelse{\@@chemicalplaats}{\v!intext} + \doifelse\@@chemicallocation\v!intext {\!!counta=0 \!!countb=0 \!!counta=0 \!!countd=0 } {\calculateaxis - {\!!counta}{\!!countb} - {\@@chemicallinks}{\@@chemicalrechts}{\@@chemicalbreedte}% + \!!counta\!!countb + \@@chemicalleft\@@chemicalright\@@chemicalwidth \calculateaxis - {\!!countc}{\!!countd} - {\@@chemicalonder}{\@@chemicalboven}{\@@chemicalhoogte}}% + \!!countc\!!countd + \@@chemicalbottom\@@chemicaltop\@@chemicalheight}% % \edef\@@chemheight {\the\!!countc}% \edef\@@chemdepth {\the\!!countd}% - \edef\@@chemicalboven{\the\!!countc}% - \edef\@@chemicalonder{\the\!!countd}% + \edef\@@chemicaltop{\the\!!countc}% + \edef\@@chemicalbottom{\the\!!countd}% % - \doifinsetelse{\v!on}{\@@chemicalkader,\@@chemicalassenstelsel} + \doifinsetelse\v!on{\@@chemicalframe,\@@chemicalaxis} {\def\@@chemicalborder{\chemicalframe}} {\def\@@chemicalborder{\normalchemicalframe}}% % @@ -748,16 +748,16 @@ \@@beginchemicalpicture {-\the\!!counta}{\the\!!countb} {-\the\!!countc}{\the\!!countd}% - \doif{\@@chemicalstatus}{\v!start} - {\doif{\@@chemicalassenstelsel}{\v!on} + \doif{\@@chemicalstate}\v!start + {\doif\@@chemicalaxis\v!on {\@@setchemicalaxis {-\the\!!counta}{\the\!!countb} {-\the\!!countc}{\the\!!countd}}}% - \doifelse{\@@chemicaloptie}{\v!test} - {\def\@@writechemicalstatus##1##2% + \doifelse\@@chemicaloption\v!test + {\def\@@writechemicalstate##1##2% {\convertargument##2\to\ascii \writestatus{##1}{\ascii}}} - {\def\@@writechemicalstatus##1##2{}}% + {\def\@@writechemicalstate##1##2{}}% \ignorespaces} \def\dostartchemical% @@ -1152,7 +1152,7 @@ \ifchemicalpicture \setchemicalpicture{#1}{#2}% \else - \doifelse\@@chemicaloptie\v!test + \doifelse\@@chemicaloption\v!test {\def\@@chemicalframe{\chemicalframe}} {\def\@@chemicalframe{}}% \dosetsubscripts @@ -1160,7 +1160,7 @@ \setbox4=\hbox{$\@@dochemicalstyle{\@@localchemicalformat C_2^2}$}% \setbox6=\hbox{$\@@dochemicalstyle{\@@localchemicalformat O}$}% or C \doresetsubscripts - \doifnot\@@chemicalplaats\v!intext + \doifnot\@@chemicallocation\v!intext {\ht2=\ht4 \dp2=\dp4}% \setbox2=\hbox{\@@chemicalframe{\@@dochemicalcolor\box2}}% @@ -1252,10 +1252,10 @@ \def\processchemicaltextconstant#1#2#3#4% {\chemicaltextconstanttrue - \let\@@oldchemicalframe=\@@chemicalframe - \let\@@chemicalframe=\relax + \let\@@oldchemicalframe\@@chemicalframe + \let\@@chemicalframe\relax \processchemicaltextelement{#1}{#2}{#3}{#4}{}% - \let\@@chemicalframe=\@@oldchemicalframe + \let\@@chemicalframe\@@oldchemicalframe \chemicaltextconstantfalse} % \plotchemicalline{#1}{#2}{#3}{#4} @@ -1786,16 +1786,16 @@ \def\dochemical[#1]% {\def\simpledochemical% - {\@@writechemicalstatus{ppchtex}{[#1][]}% + {\@@writechemicalstate{ppchtex}{[#1][]}% \dodochemical[#1][]}% % \def\complexdochemical[##1]% - {\@@writechemicalstatus{ppchtex}{[#1][##1]}% + {\@@writechemicalstate{ppchtex}{[#1][##1]}% \txtchemical=0% \dodochemical[#1][##1]}% % \def\complexdochemical[##1]% % experiment - {\@@writechemicalstatus{ppchtex}{[#1][##1]}% % experiment + {\@@writechemicalstate{ppchtex}{[#1][##1]}% % experiment \txtchemical=0% % experiment \dododochemical\dodochemical[#1][##1]}% % experiment % @@ -1817,7 +1817,7 @@ % #2: atomen enz. \def\localdodochemical[#1][#2]% - {\@@writechemicalstatus{ppchtex}{[#1][#2]}% + {\@@writechemicalstate{ppchtex}{[#1][#2]}% %\bgroup % koppelen en afmetingen gaat fout, vandaar: \advance\levchemical 1 \letvalue{\??chemical\s!unknown\the\levchemical}\unknownchemical @@ -1838,14 +1838,14 @@ \ignorespaces}% \def\dochemical[##1]% {\def\simpledochemical% - {\@@writechemicalstatus{ppchtex}{[##1][#2]}% + {\@@writechemicalstate{ppchtex}{[##1][#2]}% \dodochemical[##1][#2]% \ignorespaces}% \def\complexdochemical[####1]% {\dododochemical\localdodochemical[##1][####1,#2]}% \complexorsimple\dochemical}% - \doif{\@@chemicalstatus}{\v!start} - {\doifelse{\chemicalname}{\s!unknown} + \doif\@@chemicalstate\v!start + {\doifelse\chemicalname\s!unknown {\getvalue{\s!executechemical\defaultchemical}[#2]} {\getvalue{\s!executechemical\chemicalname}[#2]}% \def\unknownchemical##1% @@ -2184,7 +2184,7 @@ \buildrel \@@dochemicalstyle{\scriptstyle\quad#1\quad}% \over{\overrightarrow - {\hphantom{\@chemicalletter{\scriptstyle\quad#1\quad}}}}% + {\hphantom{\@chemicalstyle{\scriptstyle\quad#1\quad}}}}% \chemicalspace$}} \def\chemicaldoublepicturearrow#1% @@ -2204,7 +2204,7 @@ \def\somechemicalbond% {\hrule width \wd0 height .4pt} -\def\dochemicalbonds#1#2#3% todo: \@@chemicaltextletter +\def\dochemicalbonds#1#2#3% todo: \@@chemicaltextstyle {{\setbox0=\hbox {${\@@localchemicalstyle M}$}% \vbox to \ht0 @@ -3161,7 +3161,7 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, {\dosetsubscripts% $\@@dochemicalstyle{\@@localchemicalformat\strut##1}$% \doresetsubscripts}% - \doifelse\@@chemicalplaats\v!intext + \doifelse\@@chemicallocation\v!intext {#1{\dochemicaltext\toptext}}% {\setbox\chemicalsymbols=\hbox {\box\chemicalsymbols @@ -3186,7 +3186,7 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, {$\leftarrow\hskip-1em$\rightarrowfill\cr}} \def\executechemicalsign#1[#2]% - {\doifelse\@@chemicalplaats\v!intext + {\doifelse\@@chemicallocation\v!intext {\dosetsubscripts $\@@dochemicalstyle{\@@localchemicalformat#1}$% \doresetsubscripts} @@ -3206,19 +3206,19 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, {\executechemicalsign{=}} \def\executechemicalSPACE[#1]% - {\doifnot\@@chemicalplaats\v!intext + {\doifnot\@@chemicallocation\v!intext {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols \quad}}} \def\executechemicalCHEM[#1]% - {\doifnot\@@chemicalplaats\v!intext + {\doifnot\@@chemicallocation\v!intext {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols $\@@dochemicalstyle{\@@localchemicalformat#1}$}}} \def\executechemicalTEXT[#1]% - {\doifnot\@@chemicalplaats\v!intext + {\doifnot\@@chemicallocation\v!intext {\setbox\chemicalsymbols\hbox {\box\chemicalsymbols#1}}} @@ -3250,9 +3250,9 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, \def\executechemicalcomplex#1% {\bgroup - \putchemicalrule {0} {-\@@chemicalonder} {0} {\@@chemicalboven}% - \putchemicalrule {0} {\@@chemicalboven} {#1150} {\@@chemicalboven}% - \putchemicalrule {0} {-\@@chemicalonder} {#1150} {-\@@chemicalonder}% + \putchemicalrule {0} {-\@@chemicalbottom} {0} {\@@chemicaltop}% + \putchemicalrule {0} {\@@chemicaltop} {#1150} {\@@chemicaltop}% + \putchemicalrule {0} {-\@@chemicalbottom} {#1150} {-\@@chemicalbottom}% \egroup} \def\executechemicalOPENCOMPLEX[#1]% @@ -3269,12 +3269,12 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, {\executechemicalTEXT [$\left#1\relax \dimen0=\@@chemicalunit - \scratchcounter=\@@chemicalboven - \advance\scratchcounter by \@@chemicalonder + \scratchcounter=\@@chemicaltop + \advance\scratchcounter by \@@chemicalbottom \dimen0=\scratchcounter\dimen0 \vcenter to \dimen0{} \dimen2=\@@chemicalunit - \dimen2=\@@chemicalrechts\dimen0 + \dimen2=\@@chemicalright\dimen0 \vcenter{\leftskip1em\hsize\dimen2\relax\strut#2\strut}% \right.$]}% @@ -3357,25 +3357,25 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{}, \ifCONTEXT \def\setchemicalattributes - {\scratchdimen\@@chemicalchemicallijndikte + {\scratchdimen\@@chemicalchemicalrulethickness \def\chemicalattributes {withpen pencircle scaled \the\scratchdimen\space withcolor }% - \doifelsenothing\@@chemicalchemicallijnkleur + \doifelsenothing\@@chemicalchemicalrulecolor {\edef\chemicalattributes{\chemicalattributes black}} {\edef\chemicalattributes - {\chemicalattributes \MPcolor{\@@chemicalchemicallijnkleur}}}% + {\chemicalattributes \MPcolor{\@@chemicalchemicalrulecolor}}}% \startMPdrawing drawoptions (\chemicalattributes) ; \stopMPdrawing} -\let\@@chemicalkleur\empty +\let\@@chemicalcolor\empty \def\@@dochemicalcolor - {\doifsomething\@@chemicalkleur{\color[\@@chemicalkleur]}} + {\doifsomething\@@chemicalcolor{\color[\@@chemicalcolor]}} \def\@@dochemicalstyle - {\doconvertfont\@@chemicalletter} + {\doconvertfont\@@chemicalstyle} \setupchemical [\c!rulethickness=\linewidth, diff --git a/tex/context/base/s-grk-00.tex b/tex/context/base/s-grk-00.tex index 4c0c88c0e..ec5ddf1f7 100644 --- a/tex/context/base/s-grk-00.tex +++ b/tex/context/base/s-grk-00.tex @@ -14,7 +14,7 @@ \usetypescriptfile[type-cbg] -\usetypescript [all] [cbgreek] +\usetypescript [all] [cbgreek-medium] \startsetups [cbgreek] diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex index 188ee190c..e0026fafc 100644 --- a/tex/context/base/s-mod-00.tex +++ b/tex/context/base/s-mod-00.tex @@ -87,8 +87,8 @@ % \stopMPrun % \externalfigure % [\bufferprefix mprun.#1] -% [\c!hoogte=\vsize, -% \c!breedte=\hsize]} +% [\c!height=\vsize, +% \c!width=\hsize]} % % \defineoverlay[titelpagina][\TitelPagina{512}] % diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex index 3d1c0dfbc..fe937ad31 100644 --- a/tex/context/base/setupb.tex +++ b/tex/context/base/setupb.tex @@ -5141,26 +5141,6 @@ [\c!resetnumber] [\v!yes,\v!no] [\v!yes] -% \variable -% [\c!scheider] -% [\c!text!] -% [.] -% \variable -% [\c!uitlijnen] -% [\v!links,\v!rechts,\v!normaal,\v!ruim] -% [\v!normaal] -% \variable -% [\c!titeluitlijnen] -% [\v!ja,\v!nee] -% [\v!nee] -% \variable -% [\c!tolerantie] -% [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek] -% [\v!soepel] -% \variable -% [\c!springvolgendein] -% [\v!ja,\v!nee] -% [\v!nee] \variable [\c!file] [\c!identifier!] @@ -6978,16 +6958,6 @@ [] \stopsetup -% \startsetup -% \command -% [\y!brieven] -% \type -% [\c!val!] -% \value -% [\c!identifier!] -% [] -% \stopsetup - \startsetup \command [\y!labels] @@ -6998,75 +6968,6 @@ [] \stopsetup -% \startsetup -% \command -% [\y!stelbrievenin] -% \type -% [\c!vals!] -% \value -% [\v!formeel,\v!informeel,\v!rekening,\v!ls, -% \v!hoog,\v!midden,\v!laag] -% [\v!formeel,\v!laag] -% \stopsetup - -% \startsetup -% \command -% [\y!stelsheetsin] -% \type -% [\c!vars!] -% \variable -% [\c!variant] -% [\c!number!] -% [] -% \variable -% [\c!tekst] -% [\c!text!] -% [] -% \variable -% [\c!formaat] -% [\v!klein,\v!middel,\v!groot] -% [\v!middel] -% \variable -% [\c!letter] -% [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!] -% [\v!normaal] -% \variable -% [\c!nummer] -% [\c!number!,\v!aansluitend] -% [] -% \stopsetup - -% \startsetup -% \command -% [\y!sheet] -% \type -% [\c!val!] -% \value -% [\c!text!] -% [] -% \stopsetup - -% \startsetup -% \command -% [\y!stelstickersin] -% \type -% [\c!vars!] -% \variable -% [\c!variant] -% [a] -% [] -% \variable -% [\c!n] -% [\c!number!,\v!alles] -% [\c!val!] -% \variable -% [\c!plaats] -% [\v!marge,\v!links,\v!rechts,\v!midden] -% [\v!links] -% \stopsetup - -% *.tex - \startsetup \command [\y!definetabulate] @@ -7796,10 +7697,6 @@ [\c!calculate] [\c!identifier!] [] -% \variable -% [\c!scherm] -% [\v!normaal,\v!passend,\v!hoogte,\v!breedte] -% [\v!normaal] \variable [\c!strut] [\v!yes,\v!no] diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex index 5654a5f50..f17777671 100644 --- a/tex/context/base/spec-fdf.tex +++ b/tex/context/base/spec-fdf.tex @@ -1651,7 +1651,7 @@ \xdef\FDFcollection{\FDFcollection\space\PDFobjectreference}% \fi} -\prependtoksonce \flushFDFnames \to \everylastshipout % test \everybye +\appendtoksonce \flushFDFnames \to \everylastshipout % test \everybye / was \prependtoksonce %D \macros %D {defineFDFfonts, diff --git a/tex/context/base/spec-xtx.tex b/tex/context/base/spec-xtx.tex new file mode 100644 index 000000000..56a61631c --- /dev/null +++ b/tex/context/base/spec-xtx.tex @@ -0,0 +1,111 @@ +%D \module +%D [ file=spec-xtx, +%D version=2004.*.*, +%D title=\CONTEXT\ Special Macros, +%D subtitle=DVIPDFMx support, +%D author={Adam Lindsay \& Hans Hagen \& \unknown}, +%D date=\currentdate, +%D copyright={Adam Lindsay \& Hans Hagen}] + +\unprotect + +\startspecials[xetex] + +%D Rotation looks fine. Scaling and mirroring are also fine. + +\definespecial\dostartrotation #1{\special{x:gsave}\special{x:rotate #1}} +\definespecial\dostartscaling #1#2{\special{x:gsave}\special{x:scale #1 #2}} +\definespecial\dostartmirroring {\special{x:gsave}\special{x:scale -1 1}} + +\definespecial\dostoprotation {\special{x:grestore}} +\definespecial\dostopscaling {\special{x:grestore}} +\definespecial\dostopmirroring{\special{x:grestore}} + +\ifx\colorhexcomponent\undefined + + % this will be added to colo-hex.tex + +\else + + % because we intercept the zero condition, the .23pt in 1.23pt will disappear in the + % ifcase zero part branch + + \def\colorhexcomponent#1% + {\ifdim#1\points<.005\points + 00\else\lchexnumbers{\the\dimexpr(255\dimexpr(#1\points)\relax+.5\points)\relax}% + \fi} + + % the faster one + + \newdimen\hex@color@a \hex@color@a=.005pt + \newdimen\hex@color@b \hex@color@b=.5pt + \chardef \hex@color@c =255 + + \def\colorhexcomponent#1% + {\ifdim#1\points<\hex@color@a + 00\else\lchexnumbers{\the\dimexpr(#1\points*\hex@color@c+\hex@color@b)\relax}% + \fi} + +\fi + +% + +\definespecial\dostartrgbcolormode#1#2#3% + {\bgroup + \edef\hexcolorstring{\colorhexcomponent{#1}\colorhexcomponent{#2}\colorhexcomponent{#3}}% + \special{x:textcolor=\hexcolorstring}% + \special{x:rulecolor=\hexcolorstring}% + \egroup} + +\definespecial\dostopcolormode + {\special{x:textcolor=000000}% + \special{x:rulecolor=000000}} + +%D Whadda you mean by 'corected;, this hex color model is crazy. Why does +%D \XETEX\ provide high end font support but only hex rgb colors -) + +%D once colors are ``corrected'' by Hans, transparency should +%D follow fairly easily. A good side-effect of the above approach +%D is that we need to keep track of the color state (transparency +%D in \XETEX\ is accomplished setting the color to an RGBA quadruple, +%D rather than an RGB triple) + +%D File/graphic insertion is fouled up. I don't know why, but +%D the externalfile misses its designated box/frame. It's also not +%D finding files without the help of a \TEXUTIL\ file. + +%D Maybe \XETEX\ should provide a way to report the figure dimensions, +%D I suppose it can ask the QuickTime Driver. + +%D However it gets resolved, the following is the basic schema +%D of file inclusion for \XETEX. \type {\XeTeXpicfile} supports +%D rotation, as well, but it seems less important for \CONTEXT. +%D \XETEX\ uses QuickTime file import, which means a huge number of +%D file import options. + +%D More importantly and interestingly, there is \type +%D {XeTeXpdffile}, which supports a \type {page} option. + +\definespecial\doinsertfile#1#2#3#4#5#6#7#8#9% + {\bgroup + \dodoinsertfile{xtx}{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}% + \egroup} + +\definefileinsertion{xtx}{jpg}{\handlepdfimage} +\definefileinsertion{xtx}{png}{\handlepdfimage} +\definefileinsertion{xtx}{pdf}{\handlepdfimage} +\definefileinsertion{xtx}{gif}{\handlepdfimage} +\definefileinsertion{xtx}{tif}{\handlepdfimage} + +% do we need it this way? either provide width and height or provide scales, +% best provide the dimensions + +% \def\handlepdfimage#1#2#3#4#5#6#7#8#9% +% {\XeTeXpicfile "#1" width #7 height #8 xscaled #3 yscaled #4\relax} + +\def\handlepdfimage#1#2#3#4#5#6#7#8#9% + {\XeTeXpicfile "#1" width #7 height #8\relax} + +\stopspecials + +\protect \endinput diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex index 336a49fd8..185860f73 100644 --- a/tex/context/base/supp-fun.tex +++ b/tex/context/base/supp-fun.tex @@ -800,7 +800,6 @@ \fi} \def\SpreadGapText#1#2% -% {{\def\+{\blackrule[\c!breedte=#1]}#2}} {{\def\+{\kern#1}#2}} \def\GapText#1#2#3#4#5% width distance font spec title diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex index 7d353d043..e49eac5c8 100644 --- a/tex/context/base/supp-lan.tex +++ b/tex/context/base/supp-lan.tex @@ -409,14 +409,30 @@ \chardef\activehackcode=`~ -\def\defineactivecharacter #1 % - {\scratchcounter\the\uccode\activehackcode +% \def\defineactivecharacter #1 % +% {\scratchcounter\the\uccode\activehackcode +% \uccode\activehackcode\expandafter\doifnumberelse +% \expandafter{\string#1}\empty`#1% +% \catcode\uccode\activehackcode\@@active +% \uppercase{\def\next{~}}% +% \uccode\activehackcode\scratchcounter +% \expandafter\def\next}% unexpanded goes wrong in pdfdoc + +%D But ... + +\def\defineactivecharacter #1 #2% + {\scratchcounter\uccode\activehackcode \uccode\activehackcode\expandafter\doifnumberelse \expandafter{\string#1}\empty`#1% \catcode\uccode\activehackcode\@@active \uppercase{\def\next{~}}% \uccode\activehackcode\scratchcounter - \expandafter\def\next}% unexpanded goes wrong in pdfdoc + % unexpanded goes wrong in pdfdoc + \@EA\@EA\@EA\def\@EA\next\@EA{\@EA\dohandleactivecharacter\next{#2}}} + +\let\dohandleactivecharacter\secondoftwoarguments + +\def\donthandleactivecharacter#1#2{\noexpand#1} %D A goody: diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex index b3ffc4fc0..0cfd9681d 100644 --- a/tex/context/base/syst-ext.tex +++ b/tex/context/base/syst-ext.tex @@ -2948,12 +2948,14 @@ \def\complexsetlocalhsize[#1]% don't change ! {\localhsize\hsize - % \advance\localhsize -\parindent % changed anyway + \ifnum\hangafter<\zerocount + \advance\localhsize\ifdim\hangindent>\zeropoint-\fi\hangindent + \fi \advance\localhsize -\leftskip \advance\localhsize -\rightskip \advance\localhsize #1\relax} -\def\simplesetlocalhsize% +\def\simplesetlocalhsize {\complexsetlocalhsize[\zeropoint]} \definecomplexorsimple\setlocalhsize diff --git a/tex/context/base/type-cbg.tex b/tex/context/base/type-cbg.tex index 4f8070ba6..a3de66d1c 100644 --- a/tex/context/base/type-cbg.tex +++ b/tex/context/base/type-cbg.tex @@ -257,7 +257,7 @@ \stoptypescript -\starttypescript [serif] [cbgreek-some] [size] +\starttypescript [serif] [cbgreek-medium] [size] \definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [rm] [tf=grmn0800 sa 1,sl=grmo0800 sa 1,it=grmi0800 sa 1, @@ -276,7 +276,7 @@ \stoptypescript -\starttypescript [sans] [cbgreek-some] [size] +\starttypescript [sans] [cbgreek-medium] [size] \definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [ss] [tf=gsmn0800 sa 1,sl=gsmo0800 sa 1,it=gsmi0800 sa 1, @@ -295,7 +295,7 @@ \stoptypescript -\starttypescript [mono] [cbgreek-some] [size] +\starttypescript [mono] [cbgreek-medium] [size] \definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [tt] [tf=gttn0800 sa 1,sl=gtto0800 sa 1,it=gtti0800 sa 1, @@ -326,13 +326,13 @@ \stoptypescript -\starttypescript [cbgreek-some] % lowercase, patched HH +\starttypescript [cbgreek-medium] % lowercase, patched HH \definebodyfontenvironment [cbgreek] [default] [] - \definetypeface [cbgreek] [rm] [serif] [cbgreek] [cbgreek-some] - \definetypeface [cbgreek] [ss] [sans] [cbgreek] [cbgreek-some] - \definetypeface [cbgreek] [tt] [mono] [cbgreek] [cbgreek-some] + \definetypeface [cbgreek] [rm] [serif] [cbgreek] [cbgreek-medium] + \definetypeface [cbgreek] [ss] [sans] [cbgreek] [cbgreek-medium] + \definetypeface [cbgreek] [tt] [mono] [cbgreek] [cbgreek-medium] \stoptypescript diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex index 18ca0c927..022db40c4 100644 --- a/tex/context/base/type-enc.tex +++ b/tex/context/base/type-enc.tex @@ -785,11 +785,19 @@ % Euler (AMS) \starttypescript [math] [euler] [default] - \definefontsynonym [Euler-Extension] [euex10] - \definefontsynonym [Euler-Italic] [eurm10] - \definefontsynonym [Euler-SymbolA] [euex10] - \definefontsynonym [Euler-SymbolB] [eusm10] - \definefontsynonym [Euler-SymbolC] [eufm10] + \definefontsynonym [Euler-Roman] [zeurm10] + \definefontsynonym [Euler-Extension] [zeuex10] + \definefontsynonym [Euler-Symbol] [zeusm10] + \definefontsynonym [Euler-Fraktur] [eufm10] + \definefontsynonym [CharterRomanMath] [bchr8r] [encoding=8r] +\stoptypescript + +\starttypescript [boldmath,bfmath] [euler] [default] + \definefontsynonym [Euler-Roman-Bold] [zeurb10] + \definefontsynonym [Euler-Extension] [zeuex10] + \definefontsynonym [Euler-Symbol-Bold] [zeusb10] + \definefontsynonym [Euler-Fraktur-Bold] [eufb10] + \definefontsynonym [CharterRomanBoldMath] [bchb8r] [encoding=8r] \stoptypescript % AMS (AMS) diff --git a/tex/context/base/type-siz.tex b/tex/context/base/type-siz.tex index 5394e3631..465c63c46 100644 --- a/tex/context/base/type-siz.tex +++ b/tex/context/base/type-siz.tex @@ -617,26 +617,84 @@ \starttypescript [math] [euler] [size] -\definebodyfont [12pt,11pt,10pt,9pt] [mm] - [mi=eurm10 sa 1, - ex=euex10 sa 1, - ma=euex10 sa 1, - mb=eusm10 sa 1, +\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm] + [mr=zeurm10 sa 1, + ex=zeuex10 sa 1, + mi=zeurm10 sa 1, + sy=zeusm10 sa 1, + mb=bchr8r sa 1, mc=eufm10 sa 1] -\definebodyfont [8pt,7pt,6pt,5pt] [mm] - [ex=euex10 sa 1, - ma=euex10 sa 1] +\definebodyfont [6pt,7pt,8pt] [mm] + [mi=zeurm7 sa 1, + mr=zeurm7 sa 1, + sy=zeusm7 sa 1, + mc=eufm7 sa 1, + mb=bchr8r sa 1, + ex=zeuex10 sa 1] -\definebodyfont [8pt,7pt,6pt] [mm] - [mi=eurm7 sa 1, - mb=eusm7 sa 1, - mc=eufm7 sa 1] +\definebodyfont [5pt] [mm] + [mi=zeurm5, + mr=zeurm5, + sy=zeusm5, + mc=eufm5, + mb=bchr8r at 5pt, + ex=zeuex10 at 5pt] + +\stoptypescript + +\starttypescript [bfmath] [euler] [size] + +\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm] + [mrbf=zeurb10 sa 1, + exbf=zeuex10 sa 1, + mibf=zeurb10 sa 1, + sybf=zeusb10 sa 1, + mbbf=bchb8r sa 1, + mcbf=eufb10 sa 1] + +\definebodyfont [6pt,7pt,8pt] [mm] + [mibf=zeurb7 sa 1, + mrbf=zeurb7 sa 1, + sybf=zeusb7 sa 1, + mcbf=eufb7 sa 1, + mbbf=bchb8r sa 1, + exbf=zeuex10 sa 1] + +\definebodyfont [5pt] [mm] + [mibf=zeurb5, + mrbf=zeurb5, + sybf=zeusb5, + mcbf=eufb5, + mbbf=bchb8r at 5pt, + exbf=zeuex10 at 5pt] +\stoptypescript + +\starttypescript [boldmath] [euler] [size] + +\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm] + [mr=zeurb10 sa 1, + ex=zeuex10 sa 1, + mi=zeurb10 sa 1, + sy=zeusb10 sa 1, + mb=bchb8r sa 1, + mc=eufb10 sa 1] + +\definebodyfont [6pt,7pt,8pt] [mm] + [mi=zeurb7 sa 1, + mr=zeurb7 sa 1, + sy=zeusb7 sa 1, + mc=eufb7 sa 1, + mb=bchb8r sa 1, + ex=zeuex10 sa 1] \definebodyfont [5pt] [mm] - [mi=eurm5, - mb=eusm5, - mc=eufm5] + [mi=zeurb5, + mr=zeurb5, + sy=zeusb5, + mc=eufb5, + mb=bchb8r at 5pt, + ex=zeuex10 at 5pt] \stoptypescript diff --git a/tex/context/base/type-spe.tex b/tex/context/base/type-spe.tex index a113a7652..70990d4b0 100644 --- a/tex/context/base/type-spe.tex +++ b/tex/context/base/type-spe.tex @@ -39,4 +39,8 @@ \usemathcollection[fou] \stoptypescript +\starttypescript [math,boldmath] [euler] [special] + \usemathcollection[eul] +\stoptypescript + \endinput diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex index 0b4ed6e81..542d3d9e6 100644 --- a/tex/context/base/type-syn.tex +++ b/tex/context/base/type-syn.tex @@ -107,11 +107,44 @@ % Euler : Hermann Zapf \starttypescript [math] [euler] [name] - \definefontsynonym [MathExtension] [Euler-Extension] - \definefontsynonym [MathItalic] [Euler-Italic] - \definefontsynonym [MathAlpha] [Euler-SymbolA] - \definefontsynonym [MathBeta] [Euler-SymbolB] - \definefontsynonym [MathGamma] [Euler-SymbolC] + \definefontsynonym [MathRoman] [Euler-Roman] % mr + \definefontsynonym [MathItalic] [Euler-Roman] % mi + \definefontsynonym [MathExtension] [Euler-Extension] % ex + \definefontsynonym [MathSymbol] [Euler-Symbol] % sy + \definefontsynonym [MathBeta] [CharterRomanMath] + \definefontsynonym [MathGamma] [Euler-Fraktur] % mc ? +\stoptypescript + +\starttypescript [boldmath] [euler] [name] + \definefontsynonym [MathRoman] [Euler-Roman-Bold] % mr + \definefontsynonym [MathItalic] [Euler-Roman-Bold] % mi + \definefontsynonym [MathExtension] [Euler-Extension] % ex + \definefontsynonym [MathSymbol] [Euler-Symbol-Bold] % sy + \definefontsynonym [MathBeta] [CharterRomanBoldMath] + \definefontsynonym [MathGamma] [Euler-Fraktur-Bold] % mc ? +\stoptypescript + +\starttypescript [bfmath] [euler] [name] + \definefontsynonym [MathRomanBold] [Euler-Roman-Bold] % mr + \definefontsynonym [MathItalicBold] [Euler-Roman-Bold] % mi + \definefontsynonym [MathExtension] [Euler-Extension] % ex + \definefontsynonym [MathSymbolBold] [Euler-Symbol-Bold] % sy + \definefontsynonym [MathBetaBold] [CharterRomanBoldMath] + \definefontsynonym [MathGammaBold] [Euler-Fraktur-Bold] % mc ? +\stoptypescript + +\starttypescript [math] [euler] [name] + \definefontsynonym [OldStyle] [MathGamma] + \definefontsynonym [Fraktur] [MathGamma] + \definefontsynonym [Gothic] [MathGamma] + \definefontsynonym [Calligraphic] [MathSymbol] +\stoptypescript + +\starttypescript [boldmath] [euler] [name] + \definefontsynonym [OldStyle] [MathGammaBold] + \definefontsynonym [Fraktur] [MathGammaBold] + \definefontsynonym [Gothic] [MathGammaBold] + \definefontsynonym [Calligraphic] [MathSymbolBold] \stoptypescript % American Math Society : Michael Spivak diff --git a/tex/context/base/unic-032.tex b/tex/context/base/unic-032.tex index 75009566e..f2061823a 100644 --- a/tex/context/base/unic-032.tex +++ b/tex/context/base/unic-032.tex @@ -8,32 +8,32 @@ %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 +\unprotect \startunicodevector 32 \ifcase\numexpr(#1-19) endash\or - emdash\or - \@@unknownchar\or - \@@unknownchar\or - \@@unknownchar\or - quoteleft\or - quoteright\or + emdash\or + \@@unknownchar\or + \@@unknownchar\or + \@@unknownchar\or + quoteleft\or + quoteright\or quotesinglebase\or - \@@unknownchar\or - quotedblleft\or - quotedblright\or - quotedblbase\or - \@@unknownchar\or - textdag\or + \@@unknownchar\or + quotedblleft\or + quotedblright\or + quotedblbase\or + \@@unknownchar\or + textdag\or textddag\or textbullet\or - \@@unknownchar\or - \@@unknownchar\or - \@@unknownchar\or + \@@unknownchar\or + \@@unknownchar\or + \@@unknownchar\or textellipsis\else \ifcase\numexpr(#1-48) perthousand\else @@ -41,44 +41,165 @@ \@@unknownchar\or % SINGLE LEFT-POINTING ANGLE QUOTATION MARK \@@unknownchar\else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK \ifcase\numexpr(#1-172) - texteuro\else + texteuro\else \@@unknownchar \fi\fi\fi\fi \stopunicodevector -%D More efficient: +%D More efficient: + +% U+2001 EM QUAD +% U+2002 EN SPACE +% U+2003 EM SPACE +% U+2004 THREE-PER-EM SPACE +% U+2005 FOUR-PER-EM SPACE +% U+2006 SIX-PER-EM SPACE +% U+2007 FIGURE SPACE +% U+2008 PUNCTUATION SPACE +% U+2009 THIN SPACE +% U+200A HAIR SPACE +% U+200B ZERO WIDTH SPACE +% U+200C ZERO WIDTH NON-JOINER +% U+200D ZERO WIDTH JOINER +% U+200E LEFT-TO-RIGHT MARK +% U+200F RIGHT-TO-LEFT MARK +% U+2010 HYPHEN +% U+2011 NON-BREAKING HYPHEN +% U+2012 FIGURE DASH +% U+2013 EN DASH +% U+2014 EM DASH +% U+2015 HORIZONTAL BAR +% U+2016 DOUBLE VERTICAL LINE +% U+2017 DOUBLE LOW LINE +% U+2018 LEFT SINGLE QUOTATION MARK +% U+2019 RIGHT SINGLE QUOTATION MARK +% U+201A SINGLE LOW-9 QUOTATION MARK +% U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK +% U+201C LEFT DOUBLE QUOTATION MARK +% U+201D RIGHT DOUBLE QUOTATION MARK +% U+201E DOUBLE LOW-9 QUOTATION MARK +% U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK +% U+2020 DAGGER +% U+2021 DOUBLE DAGGER +% U+2022 BULLET +% U+2023 TRIANGULAR BULLET +% U+2024 ONE DOT LEADER +% U+2025 TWO DOT LEADER +% U+2026 HORIZONTAL ELLIPSIS +% U+2027 HYPHENATION POINT +% U+2028 LINE SEPARATOR +% U+2029 PARAGRAPH SEPARATOR +% U+202A LEFT-TO-RIGHT EMBEDDING +% U+202B RIGHT-TO-LEFT EMBEDDING +% U+202C POP DIRECTIONAL FORMATTING +% U+202D LEFT-TO-RIGHT OVERRIDE +% U+202E RIGHT-TO-LEFT OVERRIDE +% U+202F NARROW NO-BREAK SPACE +% U+2030 PER MILLE SIGN +% U+2031 PER TEN THOUSAND SIGN +% U+2032 PRIME +% U+2033 DOUBLE PRIME +% U+2034 TRIPLE PRIME +% U+2035 REVERSED PRIME +% U+2036 REVERSED DOUBLE PRIME +% U+2037 REVERSED TRIPLE PRIME +% U+2038 CARET +% U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK +% U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +% U+203B REFERENCE MARK +% U+203C DOUBLE EXCLAMATION MARK +% U+203D INTERROBANG +% U+203E OVERLINE +% U+203F UNDERTIE +% U+2040 CHARACTER TIE +% U+2041 CARET INSERTION POINT +% U+2042 ASTERISM +% U+2043 HYPHEN BULLET +% U+2044 FRACTION SLASH +% U+2045 LEFT SQUARE BRACKET WITH QUILL +% U+2046 RIGHT SQUARE BRACKET WITH QUILL +% U+2047 DOUBLE QUESTION MARK +% U+2048 QUESTION EXCLAMATION MARK +% U+2049 EXCLAMATION QUESTION MARK +% U+204A TIRONIAN SIGN ET +% U+204B REVERSED PILCROW SIGN +% U+204C BLACK LEFTWARDS BULLET +% U+204D BLACK RIGHTWARDS BULLET +% U+204E LOW ASTERISK +% U+204F REVERSED SEMICOLON +% U+2050 CLOSE UP +% U+2051 TWO ASTERISKS ALIGNED VERTICALLY +% U+2052 COMMERCIAL MINUS SIGN +% U+2053 SWUNG DASH +% U+2054 INVERTED UNDERTIE +% U+2057 QUADRUPLE PRIME +% U+205F MEDIUM MATHEMATICAL SPACE +% U+2060 WORD JOINER +% U+2061 FUNCTION APPLICATION +% U+2062 INVISIBLE TIMES +% U+2063 INVISIBLE SEPARATOR +% U+206A INHIBIT SYMMETRIC SWAPPING +% U+206B ACTIVATE SYMMETRIC SWAPPING +% U+206C INHIBIT ARABIC FORM SHAPING +% U+206D ACTIVATE ARABIC FORM SHAPING +% U+206E NATIONAL DIGIT SHAPES +% U+206F NOMINAL DIGIT SHAPES \startunicodevector 32 - \ifcase\numexpr(#1-19) - \strippedcsname \endash \or - \strippedcsname \emdash \or - \strippedcsname \unknownchar \or - \strippedcsname \unknownchar \or - \strippedcsname \unknownchar \or - \strippedcsname \quoteleft \or - \strippedcsname \quoteright \or + \ifcase\numexpr(#1) + \strippedcsname \enspace \or % U+2000 EN QUAD + \strippedcsname \emspace \or % U+2001 EM QUAD + \strippedcsname \enspace \or % U+2002 EN SPACE + \strippedcsname \emspace \or % U+2003 EM SPACE + \strippedcsname \unknownchar \or % U+2004 THREE-PER-EM SPACE + \strippedcsname \unknownchar \or % U+2005 FOUR-PER-EM SPACE + \strippedcsname \unknownchar \or % U+2006 SIX-PER-EM SPACE + \strippedcsname \unknownchar \or % U+2007 FIGURE SPACE + \strippedcsname \unknownchar \or % U+2008 PUNCTUATION SPACE + \strippedcsname \unknownchar \or % U+2009 THIN SPACE + \strippedcsname \unknownchar \or % U+200A HAIR SPACE + \strippedcsname \unknownchar \or % U+200B ZERO WIDTH SPACE + \strippedcsname \unknownchar \or % U+200C ZERO WIDTH NON-JOINER + \strippedcsname \unknownchar \or % U+200D ZERO WIDTH JOINER + \strippedcsname \unknownchar \or % U+200E LEFT-TO-RIGHT MARK + \strippedcsname \unknownchar \or % U+200F RIGHT-TO-LEFT MARK + \strippedcsname \unknownchar \or % U+2010 HYPHEN + \strippedcsname \unknownchar \or % U+2011 NON-BREAKING HYPHEN + \strippedcsname \unknownchar \or % U+2012 FIGURE DASH + % \ifcase\numexpr(#1-19) + \strippedcsname \endash \or % U+2013 EN DASH + \strippedcsname \emdash \or % U+2014 EM DASH + \strippedcsname \unknownchar \or % U+2015 HORIZONTAL BAR + \strippedcsname \unknownchar \or % U+2016 DOUBLE VERTICAL LINE + \strippedcsname \unknownchar \or % U+2017 DOUBLE LOW LINE + \strippedcsname \quoteleft \or + \strippedcsname \quoteright \or \strippedcsname \quotesinglebase \or - \strippedcsname \unknownchar \or - \strippedcsname \quotedblleft \or - \strippedcsname \quotedblright \or - \strippedcsname \quotedblbase \or - \strippedcsname \unknownchar \or - \strippedcsname \textdag \or + \strippedcsname \unknownchar \or + \strippedcsname \quotedblleft \or + \strippedcsname \quotedblright \or + \strippedcsname \quotedblbase \or + \strippedcsname \unknownchar \or + \strippedcsname \textdag \or \strippedcsname \textddag \or \strippedcsname \textbullet \or - \strippedcsname \unknownchar \or - \strippedcsname \unknownchar \or - \strippedcsname \unknownchar \or + \strippedcsname \unknownchar \or + \strippedcsname \unknownchar \or + \strippedcsname \unknownchar \or \strippedcsname \textellipsis \else \ifcase\numexpr(#1-48) - \strippedcsname \perthousand \else + \strippedcsname \perthousand \or % U+2030 PER MILLE SIGN + \strippedcsname \unknownchar \or % U+2031 PER TEN THOUSAND SIGN + \strippedcsname \prime \or % U+2032 PRIME + \strippedcsname \doubleprime \or % U+2033 DOUBLE PRIME + \strippedcsname \tripleprime \else % U+2034 TRIPLE PRIME \ifcase\numexpr(#1-57) \strippedcsname \unknownchar \or % SINGLE LEFT-POINTING ANGLE QUOTATION MARK \strippedcsname \unknownchar \else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK \ifcase\numexpr(#1-172) - \strippedcsname \texteuro \else + \strippedcsname \texteuro \else \strippedcsname \unknownchar \fi\fi\fi\fi \stopunicodevector -\protect \endinput +\protect \endinput diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex index 3dc443ce9..8125bab2d 100644 --- a/tex/context/base/unic-ini.tex +++ b/tex/context/base/unic-ini.tex @@ -291,17 +291,10 @@ %D problems; somehow \type {\numexpr} cannot look beyond this %D sign, and expects a number. -\def\utfunichar #1% - {{\tttf U\low{\unicodenumber{#1}}}} - -\def\utfunisplit#1% - {{\tttf U\low{\unicodepair{#1}}}} - -\def\utfuniboth #1% - {{\tttf U\low{\unicodenumber{#1\relax}->\unicodepair{#1}}}} - -\def\utfunientity #1% - {{\tttf\&\#\unicodehexnumber{#1};}} +\def\utfunichar #1{{\tttf U\low{\unicodenumber{#1}}}} +\def\utfunisplit #1{{\tttf U\low{\unicodepair{#1}}}} +\def\utfuniboth #1{{\tttf U\low{\unicodenumber{#1\relax}->\unicodepair{#1}}}} +\def\utfunientity #1{{\tttf\&\#\unicodehexnumber{#1};}} %D The character itself is accessed and typeset by: %D diff --git a/tex/context/base/x-fe.tex b/tex/context/base/x-fe.tex index cc1be32c1..96cba355f 100644 --- a/tex/context/base/x-fe.tex +++ b/tex/context/base/x-fe.tex @@ -50,7 +50,7 @@ \defineXMLcommand [fe:definefontsynonym] - [name=,file,encoding=] + [name=,file=,encoding=] {\doifelsenothing{\XMLop{encoding}} {\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}][encoding=\XMLop{encoding}]}} {\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}]}}} diff --git a/tex/context/base/x-mathml.tex b/tex/context/base/x-mathml.tex index 031be0f69..f5db61236 100644 --- a/tex/context/base/x-mathml.tex +++ b/tex/context/base/x-mathml.tex @@ -25,24 +25,4 @@ % \useXMLfilter[mea,meb,mec,meh,men,meo,mer] % \useXMLfilter[mxa,mxb,mxc,mxh,mxn,mxo,mxr] -%D For simple inline math, we first provide: - -\newcount\xmlmathlevel % todo : nesting ! ! ! ! - -\defineXMLenvironment [m] \startXMLinlinemath \stopXMLinlinemath - -\def\startXMLinlinemath - {\ifmmode - \advance\xmlmathlevel1\relax - \else - \xmlmathlevel1$% - \fi} - -\def\stopXMLinlinemath - {\ifcase\xmlmathlevel\or - $\xmlmathlevel0\relax - \else - \advance\xmlmathlevel-1\relax - \fi} - \endinput diff --git a/tex/context/base/x-res-04.tex b/tex/context/base/x-res-04.tex index 0a2747a67..826a07d23 100644 --- a/tex/context/base/x-res-04.tex +++ b/tex/context/base/x-res-04.tex @@ -249,7 +249,7 @@ {\let\figurepathlist\figurefilebasepath \normalcalculateexternalfigure [#1][#2][\figurefilebase.pdf]% - [\c!pagina=\figurefilepage,#4][#5][#6]} + [\c!page=\figurefilepage,#4][#5][#6]} {\@EA\stripspaces\@EA\from\figurefilename\to\figurefilename \normalcalculateexternalfigure [#1][#2][\figurefilename][#4][#5][#6]}% @@ -280,8 +280,8 @@ [r=\XMLop{r},g=\XMLop{g},b=\XMLop{b},s=\XMLop{s},% c=\XMLop{c},m=\XMLop{m},y=\XMLop{y},k=\XMLop{k}]% \framed - [\c!kader=\v!uit,\c!offset=\v!overlay, - \c!achtergrond=\v!kleur,\c!achtergrondkleur=XMLRLcolor] + [\c!frame=\v!off,\c!offset=\v!overlay, + \c!background=\v!color,\c!backgroundcolor=XMLRLcolor] {\box\foundexternalfigure}}} \defineXMLsingular [rl:viewport] [\??cp] % [] @@ -292,7 +292,7 @@ {\box\foundexternalfigure}}% \global\setbox\foundexternalfigure\vbox {\scale - [\c!hoogte=\figurewidth,\c!hoogte=\figureheight] + [\c!width=\figurewidth,\c!height=\figureheight] {\box\foundexternalfigure}}} \defineXMLsingular [rl:dimensions] [width=,height=] diff --git a/tex/context/base/x-xml-01.tex b/tex/context/base/x-xml-01.tex index a8259d737..9502ab71a 100644 --- a/tex/context/base/x-xml-01.tex +++ b/tex/context/base/x-xml-01.tex @@ -49,39 +49,23 @@ \unprotect -% \setuplayout -% [backspace=0cm, -% topspace=0cm, -% %width=40em, -% width=middle, -% height=middle, -% header=0cm, -% footer=0cm] - \setuplayout - [\c!rugwit=0cm, - \c!kopwit=0cm, - %\c!breedte=40em, - \c!breedte=\v!midden, - \c!hoogte=\v!midden, - \c!hoofd=0cm, - \c!voet=0cm] - -% \setupbodyfont [tt,10pt] -% \setuptolerance [verytolerant] -% \setupalign [broad,right] -% \setupXMLfile [level=2] - + [\c!backspace=0cm, + \c!topspace=0cm, + %\c!width=40em, + \c!width=\v!middle, + \c!height=\v!middle, + \c!header=0cm, + \c!footer=0cm] \setupbodyfont [tt,10pt] -\setuptolerance [\v!zeersoepel] -\setupalign [\v!ruim,\v!rechts] -\setupXMLfile [\c!niveau=2] +\setuptolerance [\v!verytolerant] +\setupalign [\v!broad,\v!right] +\setupXMLfile [\c!level=2] \startmode[wide] -% \setuplayout [width=250cm] - \setuplayout [\c!breedte=250cm] + \setuplayout [\c!width=250cm] \stopmode diff --git a/tex/context/base/xtag-exp.tex b/tex/context/base/xtag-exp.tex index fbcaf07f4..7f289dbf5 100644 --- a/tex/context/base/xtag-exp.tex +++ b/tex/context/base/xtag-exp.tex @@ -64,7 +64,7 @@ {\bgroup \honorunexpanded \dontexpandencoding - \xdef\@@globalexpanded{\noexpand#1}% + \xdef\@@globalexpanded{\noexpand#1}% why \noexpand? \egroup \@@globalexpanded} diff --git a/tex/context/base/xtag-pre.tex b/tex/context/base/xtag-pre.tex index feab75ee7..96231bd87 100644 --- a/tex/context/base/xtag-pre.tex +++ b/tex/context/base/xtag-pre.tex @@ -156,6 +156,14 @@ {\executeifdefined{XMLcdatamethod\number\XMLcdatamethod}{\begingroup\processXMLcdata}} %D \starttyping +%D <!ELEMENT ..."> +%D <!ATTLIST ..."> +%D \stoptyping + +\defineXMLescape [ATTLIST]{\gobbleuntil>} +\defineXMLescape [ELEMENT]{\gobbleuntil>} + +%D \starttyping %D <!ENTITY crap "very new [{] crap"> %D <!ENTITY crap SYSTEM "crapfile.xml"> %D <!ENTITY crap SYSTEM "crapfile.pdf" NDATA ignoredanyway> diff --git a/tex/context/config/cont-usr.tex b/tex/context/config/cont-usr.tex index 1a98f77ac..50556c463 100644 --- a/tex/context/config/cont-usr.tex +++ b/tex/context/config/cont-usr.tex @@ -26,6 +26,7 @@ %D Thomas Esser's \TETEX\ distribution.) This list will be %D adapted to the actual situation. +\definefilesynonym [lang-ca.pat] [cahyph.tex] \definefilesynonym [lang-da.pat] [dkhyph.tex] \definefilesynonym [lang-de.pat] [dehyphn.tex] \definefilesynonym [lang-es.pat] [eshyph.tex] @@ -107,6 +108,7 @@ %D --all}. % \installlanguage [\s!af] [\c!state=\v!start] % afrikaans +% \installlanguage [\s!ca] [\c!state=\v!start] % catalan % \installlanguage [\s!cz] [\c!state=\v!start] % czech % \installlanguage [\s!da] [\c!state=\v!start] % danish % \installlanguage [\s!de] [\c!state=\v!start] % german @@ -138,6 +140,7 @@ %D used at startup time. % \setupcurrentlanguage[\s!af] +% \setupcurrentlanguage[\s!ca] % \setupcurrentlanguage[\s!cz] % \setupcurrentlanguage[\s!da] % \setupcurrentlanguage[\s!de] |