diff options
| -rw-r--r-- | scripts/context/ruby/ctxtools.rb | 74 | ||||
| -rw-r--r-- | scripts/context/ruby/newtexexec.rb | 22 | ||||
| -rw-r--r-- | scripts/context/ruby/texmfstart.rb | 347 | ||||
| -rw-r--r-- | tex/context/base/colo-ini.tex | 20 | ||||
| -rw-r--r-- | tex/context/base/context.tex | 2 | ||||
| -rw-r--r-- | tex/context/base/core-itm.tex | 196 | ||||
| -rw-r--r-- | tex/context/base/core-ref.tex | 4 | ||||
| -rw-r--r-- | tex/context/base/core-sec.tex | 31 | ||||
| -rw-r--r-- | tex/context/base/enco-run.tex | 11 | ||||
| -rw-r--r-- | tex/context/base/font-run.tex | 16 | ||||
| -rw-r--r-- | tex/context/base/mult-com.tex | 3 | ||||
| -rw-r--r-- | tex/context/base/mult-con.tex | 3 | ||||
| -rw-r--r-- | tex/context/base/type-akb.tex | 1 | ||||
| -rw-r--r-- | tex/context/base/type-enc.tex | 4 | ||||
| -rw-r--r-- | tex/context/base/unic-run.tex | 29 | ||||
| -rw-r--r-- | tex/context/extra/mag-0000.tex | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-cz.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-de.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-en.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-it.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-nl.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-ro.xml | 4 | 
22 files changed, 455 insertions, 336 deletions
diff --git a/scripts/context/ruby/ctxtools.rb b/scripts/context/ruby/ctxtools.rb index 7e1b6fa7a..1ba4dce12 100644 --- a/scripts/context/ruby/ctxtools.rb +++ b/scripts/context/ruby/ctxtools.rb @@ -1325,7 +1325,7 @@ end  class Array      def add_shebang(filename,program) -        unless self[0] =~ /^\#!/ then +        unless self[0] =~ /^\#/ then              self.insert(0,"\#!/usr/env #{program}")          end          unless self[2] =~ /^\#.*?copyright\=/ then @@ -1386,43 +1386,47 @@ class Commands          done  = false          files.each do |filename| -            ok = false -            begin -                data = IO.readlines(filename) -                case filename -                    when /\.rb$/ then -                        ok = data.add_shebang(filename,'ruby') -                    when /\.pl$/ then -                        ok = data.add_shebang(filename,'perl') -                    when /\.py$/ then -                        ok = data.add_shebang(filename,'python') -                    when /\.lua$/ then -                        ok = data.add_shebang(filename,'lua') -                    when /\.tex$/ then -                        ok = data.add_directive(filename,'tex') -                    when /\.mp$/ then -                        ok = data.add_directive(filename,'metapost') -                    when /\.mf$/ then -                        ok = data.add_directive(filename,'metafont') -                    when /\.(xml|xsl|fo|fx|rlx|rng|exa)$/ then -                        ok = data.add_comment(filename) -                end -            rescue -                report("fatal error in processing #{filename}") # maybe this catches the mac problem taco reported -            else -                if ok then -                    report() -                    report(filename) -                    report() -                    for i in 0..4 do -                       report('  ' + data[i].chomp) +            if FileTest.file?(filename) then +                ok = false +                begin +                    data = IO.readlines(filename) +                    case filename +                        when /\.rb$/ then +                            ok = data.add_shebang(filename,'ruby') +                        when /\.pl$/ then +                            ok = data.add_shebang(filename,'perl') +                        when /\.py$/ then +                            ok = data.add_shebang(filename,'python') +                        when /\.lua$/ then +                            ok = data.add_shebang(filename,'lua') +                        when /\.tex$/ then +                            ok = data.add_directive(filename,'tex') +                        when /\.mp$/ then +                            ok = data.add_directive(filename,'metapost') +                        when /\.mf$/ then +                            ok = data.add_directive(filename,'metafont') +                        when /\.(xml|xsl|fo|fx|rlx|rng|exa)$/ then +                            ok = data.add_comment(filename)                      end -                    if force && f = File.open(filename,'w') then -                        f.puts data -                        f.close +                rescue +                    report("fatal error in processing #{filename}") # maybe this catches the mac problem taco reported +                else +                    if ok then +                        report() +                        report(filename) +                        report() +                        for i in 0..4 do +                           report('  ' + data[i].chomp) +                        end +                        if force && f = File.open(filename,'w') then +                            f.puts data +                            f.close +                        end +                        done = true                      end -                    done = true                  end +            else +                report("no file named #{filename}")              end          end          report() if done diff --git a/scripts/context/ruby/newtexexec.rb b/scripts/context/ruby/newtexexec.rb index 27f8eeed9..43d840e5b 100644 --- a/scripts/context/ruby/newtexexec.rb +++ b/scripts/context/ruby/newtexexec.rb @@ -543,6 +543,28 @@ commandline.registeraction('copy',    'copy pages from file(s)')  commandline.registeraction('trim',    'trim pages from file(s)')  commandline.registeraction('combine', 'combine multiple pages') +# compatibility switch + +class Commands + +    include CommandBase + +    alias pdfarrange :arrange +    alias pdfselect  :select +    alias pdfcopy    :copy +    alias pdftrim    :trim +    alias pdfcombine :combine + +end + +commandline.registeraction('pdfarrange') +commandline.registeraction('pdfselect') +commandline.registeraction('pdfcopy') +commandline.registeraction('pdftrim') +commandline.registeraction('pdfcombine') + +# so far for compatibility +  @@extrastringvars = [      'pages', 'background', 'backspace', 'topspace', 'boxtype', 'tempdir',      'printformat', 'paperformat', 'method', 'scale', 'selection', diff --git a/scripts/context/ruby/texmfstart.rb b/scripts/context/ruby/texmfstart.rb index 5d0b286b0..94b89d170 100644 --- a/scripts/context/ruby/texmfstart.rb +++ b/scripts/context/ruby/texmfstart.rb @@ -81,6 +81,18 @@ $predefined['mpstools'] = 'mpstools.rb'  $predefined['exatools'] = 'exatools.rb'  $predefined['xmltools'] = 'xmltools.rb' +$makelist = [ +    'texexec', +    'texutil', +    'pstopdf', +    'mptopdf', +    'ctxtools', +    'pdftools', +    'xmltools', +    'textools', +    'mpstools', +    'tmftools' +]  if ENV['TEXMFSTART_MODE'] = 'experimental' then      $predefined['texexec'] = 'newtexexec.rb' @@ -400,6 +412,8 @@ def usage      print("           texmfstart texmfstart bin:scite kpse:texmf.cnf\n")      print("           texmfstart texmfstart --exec bin:scite *.tex\n")      print("           texmfstart texmfstart --edit texmf.cnf\n") +    print("           texmfstart texmfstart --stubpath=/usr/local/bin --make texexec\n") +    print("           texmfstart texmfstart --stubpath=auto --make all\n")  end  # somehow registration does not work out (at least not under windows) @@ -413,7 +427,7 @@ def registered?(filename)  end  def registered(filename) -    return ENV[tag(filename)] +    return ENV[tag(filename)] || 'unknown'  end  def register(filename,fullname) @@ -427,186 +441,192 @@ def register(filename,fullname)  end  def find(filename,program) -    filename = filename.sub(/script:/o, '') # so we have bin: and script: and nothing -    if $predefined.key?(filename) then -        report("expanding '#{filename}' to '#{$predefined[filename]}'") -        filename = $predefined[filename] -    end -    if registered?(filename) then -        report("already located '#{filename}'") -        return registered(filename) -    end -    # create suffix list -    if filename =~ /^(.*)\.(.+)$/ then -        filename = $1 -        suffixlist = [$2] -    else -        suffixlist = [$scriptlist.split('|'),$documentlist.split('|')].flatten -    end -    # first we honor a given path -    if filename =~ /[\\\/]/ then -        report("trying to honor '#{filename}'") -        suffixlist.each do |suffix| -            fullname = filename+'.'+suffix -            if FileTest.file?(fullname) && register(filename,fullname) -                return shortpathname(fullname) -            end +    begin +        filename = filename.sub(/script:/o, '') # so we have bin: and script: and nothing +        if $predefined.key?(filename) then +            report("expanding '#{filename}' to '#{$predefined[filename]}'") +            filename = $predefined[filename]          end -    end -    filename.sub!(/^.*[\\\/]/, '') -    # next we look at the current path and the callerpath -    [['.','current'],[$ownpath,'caller'],[registered("THREAD"),'thread']].each do |p| -        if p && ! p.empty? then +        if registered?(filename) then +            report("already located '#{filename}'") +            return registered(filename) +        end +        # create suffix list +        if filename =~ /^(.*)\.(.+)$/ then +            filename = $1 +            suffixlist = [$2] +        else +            suffixlist = [$scriptlist.split('|'),$documentlist.split('|')].flatten +        end +        # first we honor a given path +        if filename =~ /[\\\/]/ then +            report("trying to honor '#{filename}'")              suffixlist.each do |suffix| -                fname = "#{filename}.#{suffix}" -                fullname = File.expand_path(File.join(p[0],fname)) -                report("locating '#{fname}' in #{p[1]} path '#{p[0]}'") -                if FileTest.file?(fullname) && register(filename,fullname) then -                    report("'#{fname}' located in #{p[1]} path") +                fullname = filename+'.'+suffix +                if FileTest.file?(fullname) && register(filename,fullname)                      return shortpathname(fullname)                  end              end          end -    end -    # now we consult environment settings -    fullname = nil -    suffixlist.each do |suffix| -        begin -            break unless $suffixinputs[suffix] -            environment = ENV[$suffixinputs[suffix]] || ENV[$suffixinputs[suffix]+".#{$program}"] -            if ! environment || environment.empty? then -                begin -                    environment = `kpsewhich -expand-path=\$#{$suffixinputs[suffix]}`.chomp -                rescue -                    environment = nil -                else -                    if environment && ! environment.empty? then -                        report("using kpsewhich variable #{$suffixinputs[suffix]}") +        filename.sub!(/^.*[\\\/]/, '') +        # next we look at the current path and the callerpath +        [['.','current'],[$ownpath,'caller'],[registered("THREAD"),'thread']].each do |p| +            if p && ! p.empty? && ! (p[0] == 'unknown') then +                suffixlist.each do |suffix| +                    fname = "#{filename}.#{suffix}" +                    fullname = File.expand_path(File.join(p[0],fname)) +                    report("locating '#{fname}' in #{p[1]} path '#{p[0]}'") +                    if FileTest.file?(fullname) && register(filename,fullname) then +                        report("'#{fname}' located in #{p[1]} path") +                        return shortpathname(fullname)                      end                  end -            elsif environment && ! environment.empty? then -                report("using environment variable #{$suffixinputs[suffix]}")              end -            if environment && ! environment.empty? then -                environment.split($separator).each do |e| -                    e.strip! -                    e = '.' if e == '\.' # somehow . gets escaped -                    e += '/' unless e =~ /[\\\/]$/ -                    fullname = e + filename + '.' + suffix -                    report("testing '#{fullname}'") -                    if FileTest.file?(fullname) then -                        break +        end +        # now we consult environment settings +        fullname = nil +        suffixlist.each do |suffix| +            begin +                break unless $suffixinputs[suffix] +                environment = ENV[$suffixinputs[suffix]] || ENV[$suffixinputs[suffix]+".#{$program}"] +                if ! environment || environment.empty? then +                    begin +                        environment = `kpsewhich -expand-path=\$#{$suffixinputs[suffix]}`.chomp +                    rescue +                        environment = nil                      else -                        fullname = nil +                        if environment && ! environment.empty? then +                            report("using kpsewhich variable #{$suffixinputs[suffix]}") +                        end +                    end +                elsif environment && ! environment.empty? then +                    report("using environment variable #{$suffixinputs[suffix]}") +                end +                if environment && ! environment.empty? then +                    environment.split($separator).each do |e| +                        e.strip! +                        e = '.' if e == '\.' # somehow . gets escaped +                        e += '/' unless e =~ /[\\\/]$/ +                        fullname = e + filename + '.' + suffix +                        report("testing '#{fullname}'") +                        if FileTest.file?(fullname) then +                            break +                        else +                            fullname = nil +                        end                      end                  end +            rescue +                report("environment string '#{$suffixinputs[suffix]}' cannot be used to locate '#{filename}'") +                fullname = nil +            else +                return shortpathname(fullname) if register(filename,fullname)              end -        rescue -            report("environment string '#{$suffixinputs[suffix]}' cannot be used to locate '#{filename}'") -            fullname = nil -        else -            return shortpathname(fullname) if register(filename,fullname)          end -    end -    return shortpathname(fullname) if register(filename,fullname) -    # then we fall back on kpsewhich -    suffixlist.each do |suffix| -        # TDS script scripts location as per 2004 -        if suffix =~ /(#{$scriptlist})/ then +        return shortpathname(fullname) if register(filename,fullname) +        # then we fall back on kpsewhich +        suffixlist.each do |suffix| +            # TDS script scripts location as per 2004 +            if suffix =~ /(#{$scriptlist})/ then +                begin +                    report("using 'kpsewhich' to locate '#{filename}' in suffix space '#{suffix}' (1)") +                    fullname = `kpsewhich -progname=#{program} -format=texmfscripts #{filename}.#{suffix}`.chomp +                rescue +                    report("kpsewhich cannot locate '#{filename}' in suffix space '#{suffix}' (1)") +                    fullname = nil +                else +                    return shortpathname(fullname) if register(filename,fullname) +                end +            end +            # old TDS location: .../texmf/context/...              begin -                report("using 'kpsewhich' to locate '#{filename}' in suffix space '#{suffix}' (1)") -                fullname = `kpsewhich -progname=#{program} -format=texmfscripts #{filename}.#{suffix}`.chomp +                report("using 'kpsewhich' to locate '#{filename}' in suffix space '#{suffix}' (2)") +                fullname = `kpsewhich -progname=#{program} -format="other text files" #{filename}.#{suffix}`.chomp              rescue -                report("kpsewhich cannot locate '#{filename}' in suffix space '#{suffix}' (1)") +                report("kpsewhich cannot locate '#{filename}' in suffix space '#{suffix}' (2)")                  fullname = nil              else                  return shortpathname(fullname) if register(filename,fullname)              end          end -        # old TDS location: .../texmf/context/... -        begin -            report("using 'kpsewhich' to locate '#{filename}' in suffix space '#{suffix}' (2)") -            fullname = `kpsewhich -progname=#{program} -format="other text files" #{filename}.#{suffix}`.chomp -        rescue -            report("kpsewhich cannot locate '#{filename}' in suffix space '#{suffix}' (2)") -            fullname = nil -        else -            return shortpathname(fullname) if register(filename,fullname) -        end -    end -    return shortpathname(fullname) if register(filename,fullname) -    # let's take a look at the path -    paths = ENV['PATH'].split($separator) -    suffixlist.each do |s| -        paths.each do |p| -            report("checking #{p} for suffix #{s}") -            if FileTest.file?(File.join(p,"#{filename}.#{s}")) then -                fullname = File.join(p,"#{filename}.#{s}") -                return  shortpathname(fullname) if register(filename,fullname) +        return shortpathname(fullname) if register(filename,fullname) +        # let's take a look at the path +        paths = ENV['PATH'].split($separator) +        suffixlist.each do |s| +            paths.each do |p| +                report("checking #{p} for suffix #{s}") +                if FileTest.file?(File.join(p,"#{filename}.#{s}")) then +                    fullname = File.join(p,"#{filename}.#{s}") +                    return  shortpathname(fullname) if register(filename,fullname) +                end              end          end -    end -    # bad luck, we need to search the tree ourselves -    if (suffixlist.length == 1) && (suffixlist.first =~ /(#{$documentlist})/) then -        report("aggressively locating '#{filename}' in document trees") -        begin -            texroot = `kpsewhich -expand-var=$SELFAUTOPARENT`.chomp -        rescue -            texroot = '' -        else -            texroot.sub!(/[\\\/][^\\\/]*?$/, '') -        end -        if not texroot.empty? then -            sffxlst = suffixlist.join(',') +        # bad luck, we need to search the tree ourselves +        if (suffixlist.length == 1) && (suffixlist.first =~ /(#{$documentlist})/) then +            report("aggressively locating '#{filename}' in document trees")              begin -                report("locating '#{filename}' in document tree '#{texroot}/doc*'") -                if (result = Dir.glob("#{texroot}/doc*/**/#{filename}.{#{sffxlst}}")) && result && result[0] && FileTest.file?(result[0]) then -                    fullname = result[0] -                end +                texroot = `kpsewhich -expand-var=$SELFAUTOPARENT`.chomp              rescue -                report("locating '#{filename}.#{suffixlist.join('|')}' in tree '#{texroot}' aborted") +                texroot = '' +            else +                texroot.sub!(/[\\\/][^\\\/]*?$/, '')              end +            if not texroot.empty? then +                sffxlst = suffixlist.join(',') +                begin +                    report("locating '#{filename}' in document tree '#{texroot}/doc*'") +                    if (result = Dir.glob("#{texroot}/doc*/**/#{filename}.{#{sffxlst}}")) && result && result[0] && FileTest.file?(result[0]) then +                        fullname = result[0] +                    end +                rescue +                    report("locating '#{filename}.#{suffixlist.join('|')}' in tree '#{texroot}' aborted") +                end +            end +            return shortpathname(fullname) if register(filename,fullname)          end -        return shortpathname(fullname) if register(filename,fullname) -    end -    report("aggressively locating '#{filename}' in tex trees") -    begin -        textrees = `kpsewhich -expand-var=$TEXMF`.chomp -    rescue -        textrees = '' -    end -    if not textrees.empty? then -        textrees.gsub!(/[\{\}\!]/, '') -        textrees = textrees.split(',') -        if (suffixlist.length == 1) && (suffixlist.first =~ /(#{$documentlist})/) then -            speedup = ['doc**','**'] -        else -            speedup = ['**'] +        report("aggressively locating '#{filename}' in tex trees") +        begin +            textrees = `kpsewhich -expand-var=$TEXMF`.chomp +        rescue +            textrees = ''          end -        sffxlst = suffixlist.join(',') -        speedup.each do |speed| -            textrees.each do |tt| -                tt.gsub!(/[\\\/]$/, '') -                if FileTest.directory?(tt) then -                    begin -                        report("locating '#{filename}' in tree '#{tt}/#{speed}/#{filename}.{#{sffxlst}}'") -                        if (result = Dir.glob("#{tt}/#{speed}/#{filename}.{#{sffxlst}}")) && result && result[0] && FileTest.file?(result[0]) then -                            fullname = result[0] -                            break +        if not textrees.empty? then +            textrees.gsub!(/[\{\}\!]/, '') +            textrees = textrees.split(',') +            if (suffixlist.length == 1) && (suffixlist.first =~ /(#{$documentlist})/) then +                speedup = ['doc**','**'] +            else +                speedup = ['**'] +            end +            sffxlst = suffixlist.join(',') +            speedup.each do |speed| +                textrees.each do |tt| +                    tt.gsub!(/[\\\/]$/, '') +                    if FileTest.directory?(tt) then +                        begin +                            report("locating '#{filename}' in tree '#{tt}/#{speed}/#{filename}.{#{sffxlst}}'") +                            if (result = Dir.glob("#{tt}/#{speed}/#{filename}.{#{sffxlst}}")) && result && result[0] && FileTest.file?(result[0]) then +                                fullname = result[0] +                                break +                            end +                        rescue +                            report("locating '#{filename}' in tree '#{tt}' aborted") +                            next                          end -                    rescue -                        report("locating '#{filename}' in tree '#{tt}' aborted") -                        next                      end                  end +                break if fullname && ! fullname.empty?              end -            break if fullname && ! fullname.empty?          end -    end -    if register(filename,fullname) then -        return shortpathname(fullname) -    else -        return '' +        if register(filename,fullname) then +            return shortpathname(fullname) +        else +            return '' +        end +    rescue +        # error, trace = $!, $@.join("\n") +        # report("fatal error: #{error}\n#{trace}") +        report("fatal error")      end  end @@ -652,7 +672,11 @@ def make(filename,windows=false,linux=false)      basename = filename.dup      basename.sub!(/\.[^.]+?$/, '')      basename.sub!(/^.*[\\\/]/, '') -    basename = $stubpath + '/' + basename unless $stubpath.empty? +    if $stubpath == 'auto' then +        basename = File.dirname($0) + '/' + basename +    else +        basename = $stubpath + '/' + basename unless $stubpath.empty? +    end      if basename == filename then          report('nothing made')      else @@ -817,12 +841,19 @@ def execute(arguments)          report("texmfstart version #{$version}")          checktree($tree)          if $make then -            if $windows then -                make($filename,true,false) -            elsif $unix then -                make($filename,false,true) +            if $filename == 'all' then +                makelist = $makelist              else -                make($filename,$mswindows,!$mswindows) +                makelist = [$filename] +            end +            makelist.each do |filename| +                if $windows then +                    make(filename,true,false) +                elsif $unix then +                    make(filename,false,true) +                else +                    make(filename,$mswindows,!$mswindows) +                end              end          elsif $browser && $filename =~ /^http\:\/\// then              launch($filename) @@ -835,8 +866,12 @@ def execute(arguments)                          edit($filename)                      else # script: or no prefix                          command = find(shortpathname($filename),$program) -                        register("THREAD",File.dirname(File.expand_path(command))) -                        run(command) +                        if command then +                            register("THREAD",File.dirname(File.expand_path(command))) +                            run(command) +                        else +                            report('unable to locate program') +                        end                      end                  end              rescue diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex index 285c01486..0b3e15181 100644 --- a/tex/context/base/colo-ini.tex +++ b/tex/context/base/colo-ini.tex @@ -72,7 +72,7 @@    title: kleur        1: systeem -- is globaal actief        2: systeem -- is lokaal actief -      3: -- is niet gedefinieerd +      3: -- is niet gedefinieerd --        4: systeem -- wordt geladen        5: onbekend systeem --        6: palet -- is beschikbaar @@ -88,7 +88,7 @@    title: color        1: system -- is global activated        2: system -- is local activated -      3: -- is not defined +      3: -- is not defined --        4: system -- is loaded        5: unknown system --        6: palette -- is available @@ -104,7 +104,7 @@    title: farbe        1: system -- ist global aktiviert        2: system -- ist lokal aktiviert -      3: -- ist undefiniert +      3: -- ist undefiniert --        4: system -- ist geladen        5: unbekanntes System --        6: palette -- ist verfuegbar @@ -120,7 +120,7 @@    title: barva        1: system -- je globalne aktivovana        2: system -- je lokalne activovana -      3: -- neni definovana +      3: -- neni definovana --        4: system -- je nacten        5: neznamy system --        6: palette -- je k dispozici @@ -136,7 +136,7 @@    title: colore        1: sistema -- attivato globalmente        2: sistema -- attivato localmente -      3: -- non definito +      3: -- non definito --        4: sistema -- caricato        5: sistema -- sconosciuto        6: tavolozza -- resa disponibile @@ -152,7 +152,7 @@    title: farge        1: system -- er aktivert globalt        2: system -- er aktivert lokalt -      3: -- er udefinert +      3: -- er udefinert --        4: system -- er lest inn        5: ukjent system --        6: palett -- er tilgjengelig @@ -168,7 +168,7 @@    title: culori        1: sistem -- este activata global        2: sistem -- este activata local -      3: -- nu este definita +      3: -- nu este definita --        4: sistem -- este incarcata        5: sistem -- necunoscuta        6: paleta -- este disponibila @@ -332,7 +332,7 @@  %             \iffreezecolors\setevalue{\??cr#1}{\getvalue{\??cr#2}}\fi}  %            {\iffreezecolors\@EA\setevalue\else\@EA\setvalue\fi  %               {\??cr#1}{\getvalue{\??cr#2}}}} -%         {\showmessage\m!colors3{#1}}}% +%         {\showmessage\m!colors3{#1}\empty}}%  %    \unexpanded\setvalue{#1}{\color[#1]}} % \unexpanded toegevoegd  \def\dododefinecolor#1#2#3#4[#5][#6]% #2==set(g)value #3==set[e|x]value @@ -363,7 +363,7 @@              \iffreezecolors#3{\??cr#5}{\getvalue{\??cr#6}}\fi}             {\iffreezecolors\@EA#3\else\@EA#2\fi                {\??cr#5}{\getvalue{\??cr#6}}}} -        {\showmessage\m!colors3{#5}}}% +        {\showmessage\m!colors3{#5}{(def)}}}%     \ifcase#4\or       \unexpanded#2{#5}{\switchtocolor[#5]}% \unexpanded toegevoegd     \fi} @@ -1766,7 +1766,7 @@          \global\@EA\let\csname\@@currentcolorstop\endcsname\dodoglobalstopcolor          \startcolormode\@@askedcolor}         {\global\@EA\let\csname\@@currentcolorstop\endcsname\donoglobalstopcolor -        \showmessage\m!colors3\@@askedcolor}% +        \showmessage\m!colors3\@@askedcolor\empty}%     \fi\fi}  \def\doglobalstartcolor[#1]% diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 346c8c13e..047ea3570 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{2005.11.16} +\def\contextversion{2005.11.24}  %D For those who want to use this: diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex index bfac72d57..478575184 100644 --- a/tex/context/base/core-itm.tex +++ b/tex/context/base/core-itm.tex @@ -50,16 +50,16 @@  % - [0] voor start op 0  % - start=2 -\newif\ifsubitem        \subitemfalse -\newif\ifsymbolitem     \symbolitemfalse -\newif\ifheaditem       \headitemfalse -\newif\ifitemintro      \itemintrofalse -\newif\ifautoitemintro  \autoitemintrofalse -\newif\ifoptimizeitems  \optimizeitemstrue -\newif\ifpackeditems    \packeditemsfalse -\newif\iffirstlist      \firstlistfalse -\newif\ifparagraphitems \paragraphitemsfalse -\newif\iftextitems      \textitemsfalse +\newconditional\sublistitem       \setfalse\sublistitem +\newconditional\symbollistitem    \setfalse\symbollistitem +\newconditional\headlistitem      \setfalse\headlistitem +\newconditional\introlistitem     \setfalse\introlistitem +\newconditional\autointrolistitem \setfalse\autointrolistitem +\newconditional\optimizelistitem  \settrue \optimizelistitem +\newconditional\packlistitem      \setfalse\packlistitem +\newconditional\paragraphlistitem \setfalse\paragraphlistitem +\newconditional\textlistitem      \setfalse\textlistitem +\newconditional\firstlistitem     \setfalse\firstlistitem  \newcounter\noflists  \newcounter\itemlevel @@ -86,11 +86,11 @@  \def\@@itemcounter{\s!itemcount\currentitemgroup} -% \def\doitembreak#1{\iftextitems\else\dosomebreak#1\fi} +% \def\doitembreak#1{\ifconditional\textlistitem\else\dosomebreak#1\fi}  %  % s-pre-61 / pre-dis, test extensively, 2004/5 -\def\doitembreak#1{\ifoptimizeitems\iftextitems\else\dosomebreak#1\fi\fi} +\def\doitembreak#1{\ifconditional\optimizelistitem\ifconditional\textlistitem\else\dosomebreak#1\fi\fi}  \def\dolistreference    {\immediatewriteutilitycommand @@ -145,7 +145,7 @@    {\expandafter\doitemreference\itemreferences,,\\}  \def\packitems -  {\ifcase\itemlevel \else \packeditemstrue \fi} +  {\ifcase\itemlevel \else \settrue\packlistitem \fi}  \def\dosetupitemgroupvariable[#1]% [#2]%  niveau instellingen    {\doifelsenothing{#1} @@ -158,12 +158,12 @@    {\processaction       [#2#3#4]       [   \v!packed*=>\packitems, -          \v!intro*=>\itemintrotrue, -      \v!autointro*=>\autoitemintrotrue, +          \v!intro*=>\settrue\introlistitem, +      \v!autointro*=>\settrue\autointrolistitem,            \v!broad*=>\setitemparameter{#1}\c!factor{1},       #2#3*\v!broad*=>\setitemparameter{#1}\c!factor{#2#3},         #2*\v!broad*=>\setitemparameter{#1}\c!factor{#2}, -           \v!text*=>\textitemstrue +           \v!text*=>\settrue\textlistitem                       \settrue\inlinelistitem                       \dosetuppackeditemgroup{#1}%                       \packitems, @@ -173,7 +173,7 @@         \v!atmargin*=>\doifnot{#1}{1}{\setitemparameter{#1}\c!width{0em}}, % signal           \v!intext*=>\settrue\inlinelistitem, % new            \v!loose*=>\optimizeitemsfalse, -      \v!paragraph*=>\paragraphitemstrue +      \v!paragraph*=>\settrue\paragraphlistitem                       \packitems,         \v!joinedup*=>\dosetuppackeditemgroup{#1}%                       \packitems, @@ -181,7 +181,7 @@     #2#3*\v!serried*=>\setitemparameter{#1}\c!factor{-#2#3},       #2*\v!serried*=>\setitemparameter{#1}\c!factor{-#2},          \v!stopper*=>\setitemparameter{#1}\c!placestopper\v!yes, -       \v!unpacked*=>\packeditemsfalse, +       \v!unpacked*=>\setfalse\packlistitem,           \v!repeat*=>\settrue\repeatlistitem, % new         \v!standard*=>\dosetupstandarditemgroup{#1}]} @@ -258,13 +258,13 @@    {\doquadrupleempty\dosetupitemgroup}  \def\doadvanceitem -  {\ifsubitem\else\ifsymbolitem\else +  {\ifconditional\sublistitem\else\ifconditional\symbollistitem\else       \pluscounter{\@@itemcounter\itemlevel}%     \fi\fi}  % \def\setitemlevel#1%  %   {\ifnum\itemlevel>0\relax -%      \firstlisttrue +%      \settrue\firstlistitem  %      \doifnotinset\v!verder{#1}  %        {\resetcounter{\@@itemcounter\itemlevel}}%  %      \def\tempnumber% @@ -276,7 +276,7 @@  \def\setitemlevel#1%    {\ifnum\itemlevel>\zerocount -     \firstlisttrue +     \settrue\firstlistitem       \doifnotinset\v!continue{#1}         {\doifinset{0}{#1}{\setitemparameter\itemlevel\c!start{0}}%          \doifsomething{\getitemparameter\itemlevel\c!start} @@ -306,16 +306,16 @@           \setxvalue{\@@globalitemsymbol\itemlevel}{\currentitemsymbol}%           \setgvalue{\@@localitemsymbol \itemlevel}%             {\convertnumber{\currentitemsymbol}{\countervalue{\@@itemcounter\itemlevel}}}% -         \iftextitems +         \ifconditional\textlistitem             \doifsomething{\getitemparameter\itemlevel\c!lefttext}               {\let\tempsymbol\empty}%           \fi           \def\listitem             {\getitemparameter\itemlevel -              {\iftextitems\c!lefttext\else\c!left\fi}% +              {\ifconditional\textlistitem\c!lefttext\else\c!left\fi}%              \getvalue{\@@localitemsymbol\itemlevel}\tempsymbol              \getitemparameter\itemlevel -              {\iftextitems\c!righttext\else\c!right\fi}}% +              {\ifconditional\textlistitem\c!righttext\else\c!right\fi}}%          \let\@@opsymbol\empty}%\let\docommando\gobbleoneargument}         {}}} @@ -371,13 +371,14 @@  \def\redostartitemgroup[#1][#2]%    {\setfalse\inlinelistitem % new, no indent (leftskip)     \setfalse\concatnextitem % new, concat +   \setfalse\txtlistitem     \ifhmode       \ifconditional\autoconcatnextitem % new, concat         \ifdim\lastskip=\itemsignal     % new, concat           \settrue\concatnextitem       % new, concat         \fi                             % new, concat       \fi                               % new, concat -     \iftextitems\else\doifnotinset\v!text{#1}\par\fi % suboptimal +     \ifconditional\textlistitem\else\doifnotinset\v!text{#1}\par\fi % suboptimal     \fi     \begingroup     \ifnum\itemlevel=\plusone % NIEUW @@ -423,13 +424,14 @@             \c!balance=\v!yes,             \c!align=\v!no]%        \fi\fi}% -   \doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse +   \doifinsetelse\v!intro{#1}{\settrue\introlistitem}{\setfalse\introlistitem}% +   % == \doifinsetelse\v!intro{#1}\settrue\setfalse\introlistitem     \doglobal\increment\noflists     \let\currentlist\noflists     \newcounter\noflistelements -   \headitemfalse -   \subitemfalse -   \symbolitemfalse +   \setfalse\headlistitem +   \setfalse\sublistitem +   \setfalse\symbollistitem     \let\marsymbol\relax     \globallet\somdestination\empty     \let\symsymbol\empty @@ -462,14 +464,14 @@         \edef\currentitemsymbol{\itemlevel}% ** fall back       \fi     \fi -   \ifautoitemintro\ifnum\prevgraf<3 -     \itemintrotrue +   \ifconditional\autointrolistitem\ifnum\prevgraf<3 +     \settrue\introlistitem     \fi\fi -   \ifparagraphitems +   \ifconditional\paragraphlistitem       \ifnum\itemlevel>\plusone         \letitemparameter\itemlevel\c!inbetween\empty       \fi -   \else\ifpackeditems +   \else\ifconditional\packlistitem       \letitemparameter\itemlevel\c!inbetween\empty     \fi\fi     \calculatelistwidth\itemlevel{\dimen0}% @@ -494,13 +496,13 @@  % \stopitemize \blank  \def\stopitemgroup -  {\iftextitems +  {\ifconditional\textlistitem       \removeunwantedspaces\space\ignorespaces     \else       \par     \fi     \ifnum\itemcolumndepth=\zerocount \dolistreference \fi % beware ! -   \iffirstlist \else \endgroup \fi % toegevoegd, eerste \som opent groep +   \ifconditional\firstlistitem \else \endgroup \fi % toegevoegd, eerste \som opent groep     \ifnum\itemcolumndepth=\itemlevel\relax       \stopcolumns       \doglobal\newcounter\itemcolumndepth @@ -526,7 +528,7 @@     \doglobal\decrement(\itemlevel,\itemincrement)%     \egroup     % new needed in sidefloats (surfaced in volker's proceedings) -   \iftextitems\else\par\fi +   \ifconditional\textlistitem\else\par\fi     \dorechecknextindentation}  \newtoks\itemgroupcommands @@ -542,11 +544,12 @@    {\itemgroupsymbol{\strut}\strut}  \def\itemgroupsubitem -  {\subitemtrue\itemgroupitem} +  {\settrue\sublistitem +   \itemgroupitem}  \def\itemgroupsymbol#1%    {\def\symsymbol{\doitemattributes\itemlevel\c!symstyle\c!symcolor{#1}}% -   \symbolitemtrue +   \settrue\symbollistitem     \itemgroupitem}  \def\itemgroupedge#1% @@ -556,7 +559,7 @@          {#1\hskip\getitemparameter\itemlevel\c!distance}}}  \def\itemgrouphead -  {\headitemtrue\doitemgrouphead} +  {\settrue\headlistitem\doitemgrouphead}  \def\itemgroupitems    {\dosingleempty\doitemgroupitems} @@ -592,13 +595,33 @@  %   \headsym{xx} test \par test  % \stopitemize +\appendtoks \let\headsym    \itemgroupheadsym \to \itemgroupcommands +  \def\itemgroupheadsym#1%    {\def\symsymbol{\doitemattributes\itemlevel\c!symstyle\c!symcolor{#1}}% -   \symbolitemtrue -   \headitemtrue +   \settrue\symbollistitem +   \settrue\headlistitem     \doitemgrouphead} -\appendtoks \let\headsym    \itemgroupheadsym \to \itemgroupcommands +% \defineitemgroup[gbitemize] +% \setupitemgroup[gbitemize][each][headstyle=bold] + +% \startgbitemize +% \txt{italian} some italians like this kind of cross||breed between +%   an itemize and a description +% \txt{sicilians} i wonder how many sicilian mathematicians do a thesis +%   on the math involved in predicting the next big bang of the vulcano +% \stopgbitemize + +\appendtoks \letvalue\v!txt  \itemgrouptext  \to \itemgroupcommands + +\newconditional\txtlistitem \setfalse\txtlistitem + +\def\itemgrouptext#1% +  {\def\symsymbol{\doitemattributes\itemlevel\c!headstyle\c!headcolor{#1}}% +   \settrue\symbollistitem +   \settrue\txtlistitem +   \itemgroupitem}  \def\itembreak   % -10    {\flushnotes\penalty-5\relax} @@ -607,14 +630,14 @@    {\flushnotes\penalty+5\ifinsidecolumns\else00\fi\relax}  \def\dolistitem % evt aantal items opslaan per niveau, scheelt zoeken -  {\iftextitems +  {\ifconditional\textlistitem      % begin of item     \else       \par     \fi     \ignorespaces     \increment\noflistelements -   \ifnum\itemcolumndepth=\zerocount \ifoptimizeitems +   \ifnum\itemcolumndepth=\zerocount \ifconditional\optimizelistitem       \ifnum\noflistelements=\plusone        % tgv bv kolommen/nesting         \findtwopassdata\s!list{\noflists:}% % wordt soms de volgorde       \fi                                    % verstoord, vandaar \find @@ -628,7 +651,7 @@           \fi         \else\ifnum\twopassdata>3           \ifnum\noflistelements=2 -           \ifitemintro +           \ifconditional\introlistitem               \doitembreak\nobreak             \else               \doitembreak\itemnobreak @@ -638,20 +661,26 @@           \else\ifnum\noflistelements>2             \doitembreak\itembreak           \else -           \ifitemintro\else\doitembreak\itembreak\fi +           \ifconditional\introlistitem\else\doitembreak\itembreak\fi           \fi\fi\fi         \fi\fi       \fi     \fi\fi     \noindent     \setbox8\hbox -     {\ifheaditem -        \doitemattributes\itemlevel\c!headstyle\c!headcolor{\listitem}% -      \else\ifsymbolitem -        \symsymbol +     {\ifconditional\headlistitem +        \ifconditional\symbollistitem +          \symsymbol +        \else +          \doitemattributes\itemlevel\c!headstyle\c!headcolor{\listitem}% +        \fi        \else -        \doitemattributes\itemlevel\c!style\c!color{\listitem}% -      \fi\fi}% +        \ifconditional\symbollistitem +          \symsymbol % no attributes, why? +        \else +          \doitemattributes\itemlevel\c!style\c!color{\listitem}% +        \fi +      \fi}%     \doifsomething\somdestination       {\setbox8\hbox{\goto{\box8}[\somdestination]}}%     \globallet\somdestination\empty @@ -662,32 +691,35 @@     % so that content differs per run (esp mp graphics afterwards)  \checkforrepeatedlistitem     \ifdim\dimen2<\zeropoint\relax -     \llap{\ifsubitem\llap{+}\fi\box8\hskip\leftmargindistance}% +     \llap{\ifconditional\sublistitem\llap{+}\fi\box8\hskip\leftmargindistance}%     \else       \ifdim\dimen2=\zeropoint\relax         \calculatelistwidth1{\dimen0}%       \else         \calculatelistwidth\itemlevel{\dimen0}%       \fi -     \iftextitems -       \hbox{\ifsubitem+\fi\box8\hskip\fontdimen2\font}\nobreak +     \ifconditional\textlistitem +       \hbox{\ifconditional\sublistitem+\fi\box8\hskip\fontdimen2\font}\nobreak +     \else\ifconditional\inlinelistitem +       \hbox to \dimen0{\ifconditional\sublistitem\llap{+}\fi\box8\hfill}% +     \else\ifconditional\txtlistitem +       \scratchdimen\wd8 +       \llap{\hbox to \dimen0{\ifconditional\sublistitem\llap{+}\fi\box8\hfill}}% +       \hskip\scratchdimen +       % \hskip-\dimen0 this makes them touch       \else -       \ifconditional\inlinelistitem -         \hbox to \dimen0{\ifsubitem\llap{+}\fi\box8\hfill}% -       \else -         % todo: align+marge binnen de hbox -         \llap{\hbox to \dimen0{\ifsubitem\llap{+}\fi\box8\hfill}}% -       \fi -     \fi +       % todo: align+marge binnen de hbox +       \llap{\hbox to \dimen0{\ifconditional\sublistitem\llap{+}\fi\box8\hfill}}% +     \fi\fi\fi     \fi  \forceunexpanded % needed for m conversion (\os) / i need to look into this     \setevalue{\@@currentitemsymbol\itemlevel}%       {\getvalue{\@@localitemsymbol\itemlevel}}% still problems with \uchar ?      %{\noexpand\getvalue{\@@localitemsymbol\itemlevel}}% no, spoils subrefs     \resetunexpanded -   \headitemfalse -   \subitemfalse -   \symbolitemfalse +   \setfalse\headlistitem +   \setfalse\sublistitem +   \setfalse\symbollistitem     \EveryPar{\ignorespaces}%     \ignorespaces} @@ -715,7 +747,7 @@  \chardef\autoitemgroupspacing=2 % 0 = voor/na, 1=tussen als geen voor 2=(prev)tussen=old/normal  \def\complexdoitemgroupitem[#1]% -  {\iftextitems +  {\ifconditional\textlistitem       % begin of item     \else       \par @@ -728,18 +760,18 @@     \ifnum\itemcolumndepth=0\relax\ifnum\noflistelements>0\relax       \doitembreak\nobreak     \fi\fi -   \iffirstlist -     \firstlistfalse +   \ifconditional\firstlistitem +     \setfalse\firstlistitem       \begingroup       \ifcase\itemlevel       \or % 1         \ifnum\itemcolumndepth=0\relax -         \ifitemintro\doitembreak\nobreak\fi +         \ifconditional\introlistitem\doitembreak\nobreak\fi           \getitemparameter1\c!before -         \ifitemintro\doitembreak\nobreak\fi +         \ifconditional\introlistitem\doitembreak\nobreak\fi         \fi       \else % 2 en hoger -       \ifparagraphitems \else +       \ifconditional\paragraphlistitem \else           \let\previtemlevel\itemlevel           \decrement\previtemlevel           \ifcase\autoitemgroupspacing\relax % nieuw @@ -763,7 +795,7 @@     \fi                           % new, concat     \ignorespaces     \dolistitem -   \ifpackeditems +   \ifconditional\packlistitem       \setupwhitespace[\v!none]%     \fi     \getitemparameter\itemlevel\c!inner @@ -794,20 +826,20 @@     \stopitemgroup}  % \def\complexdoitemgrouphead[#1]#2\par% % beter in \complexdosom hangen met een if -%   {\iffirstlist\else\doitembreak\allowbreak\fi -%    \ifpackeditems\else\getitemparameter\itemlevel\c!beforehead\fi -%    \iffirstlist\ifitemintro\else\ifcase\itemlevel % incr in \complexdosom +%   {\ifconditional\firstlistitem\else\doitembreak\allowbreak\fi +%    \ifconditional\packlistitem\else\getitemparameter\itemlevel\c!beforehead\fi +%    \ifconditional\firstlistitem\ifconditional\introlistitem\else\ifcase\itemlevel % incr in \complexdosom  %       \doitembreak\allowbreak  %    \fi\fi\fi  %    \complexdoitemgroupitem[#1]{\doitemattributes\itemlevel\c!headstyle\c!headcolor  %      {\ignorespaces#2}}% -%    \iftextitems +%    \ifconditional\textlistitem  %      \removeunwantedspaces\space\ignorespaces  %    \else  %      \par  %    \fi  %    \doitembreak\nobreak -%    \ifpackeditems\else\getitemparameter\itemlevel\c!afterhead\fi +%    \ifconditional\packlistitem\else\getitemparameter\itemlevel\c!afterhead\fi  %    \doitembreak\nobreak  %    \noindentation}  % @@ -817,9 +849,9 @@  \def\dostopitemattributes   {\dostopattributes}  \def\complexdoitemgrouphead[#1]% beter in \complexdosom hangen met een if -  {\iffirstlist\else\doitembreak\allowbreak\fi -   \ifpackeditems\else\getitemparameter\itemlevel\c!beforehead\fi -   \iffirstlist\ifitemintro\else\ifcase\itemlevel % incr in \complexdosom +  {\ifconditional\firstlistitem\else\doitembreak\allowbreak\fi +   \ifconditional\packlistitem\else\getitemparameter\itemlevel\c!beforehead\fi +   \ifconditional\firstlistitem\ifconditional\introlistitem\else\ifcase\itemlevel % incr in \complexdosom       \doitembreak\allowbreak     \fi\fi\fi     \complexdoitemgroupitem[#1]% @@ -832,13 +864,13 @@    {\removeunwantedspaces     \dostopitemattributes     \egroup -   \iftextitems +   \ifconditional\textlistitem       \space\ignorespaces     \else       \par     \fi     \doitembreak\nobreak -   \ifpackeditems\else\getitemparameter\itemlevel\c!afterhead\fi +   \ifconditional\packlistitem\else\getitemparameter\itemlevel\c!afterhead\fi     \doitembreak\nobreak     \noindentation} diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex index fc5acc2f0..da69416e7 100644 --- a/tex/context/base/core-ref.tex +++ b/tex/context/base/core-ref.tex @@ -720,7 +720,7 @@       {\csname\r!cross\referenceprefix#1\endcsname}%     \egroup} -\def\checkfirstreferenceoccurance#1#2% +\def\checkfirstreferenceoccurance#1#2% etex    {\ifcsname\r!cross\referenceprefix#1\endcsname       \getreferenceelements{#1}%       \ifnum\currentreferencetype=\rt!cross @@ -1712,7 +1712,7 @@  \def\predefinereference    {\global\@EA\let\csname\r!cross\predefinedreference    \endcsname\dummypredefinedreference -   \global\@EA\let\csname\r!cross\unharmedreferenceprefix\endcsname\dummypredefinedreference} +   \global\@EA\let\csname\r!cross\unharmedreferenceprefix\endcsname\dummypredefinedreference} % bug!  %D Testing on existance then becomes: diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index 3d55fec00..e0712673d 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -383,7 +383,7 @@  % Omdat een markering kan worden herdefinieerd moeten we  % eerst testen of er wel een keten||afhankelijkheid is. -\def\resetsectionmarks#1% +\def\resetsectionmarks#1% can invoke a break    {\ifundefined{\??se#1}%       \fastresetmarker[\mainmarking{#1}]% % redundant \mainmarking     \else @@ -1629,7 +1629,7 @@  \chardef\headtimingmode=0 -% \chardef\headtimingmode=1 +% \chardef\headtimingmode=1 % 0 also works ok now too  %  % Martin Kolarik's problem:  % @@ -1665,7 +1665,7 @@          % outerside font determines distance          \dosetfontattribute{\??ko#1}\c!style          % but we don't want color to influence user commands -% todo: get the if-else out of it +        % todo: get the if-else out of it          \getvalue{\??ko#1\c!command}            {} % no number            {\dostartattributes{\??ko#1}\c!style\c!color\empty @@ -1676,18 +1676,18 @@                 \else                   \setupspacing                 \fi -% overwegen \dontleavehmode, else unwanted cr due to #2 -               \ifcase\headtimingmode#2\fi +               % \ifcase\headtimingmode#2\fi % can introduce cr                 \getvalue{\??ko#1\c!commandbefore}%                 \placeheadmargintexts{#1}% binnen #3?                 \ifdisplaysectionhead -                 \getvalue{\??ko#1\c!textcommand}% -                   {\setstrut\begstrut#3\endstrut}% can be nilled with \setnostrut +                 \getvalue{\??ko#1\c!textcommand}% struts can be nilled with \setnostrut +                   {\setstrut\begstrut\ifcase\headtimingmode\hbox{#2}\fi#3\endstrut}% \hbox prevents break                   \xdef\localheadheight    {\the\strutht}%                   \xdef\localheaddepth     {\the\strutdp}%                   \xdef\localheadlineheight{\the\lineheight}% -                % == \globallet\localheaddepth\strutdepth +                 % == \globallet\localheaddepth\strutdepth                 \else +                 \ifcase\headtimingmode#2\fi                   \getvalue{\??ko#1\c!textcommand}{#3}%                 \fi                 \getvalue{\??ko#1\c!commandafter}% @@ -1719,7 +1719,7 @@          \getvalue{\??ko#1\c!command}%            {\dostartattributes{\??ko#1}\c!style\c!color\empty               \dostartattributes{\??ko#1}\c!numberstyle\c!numbercolor\empty -               \getvalue{\??ko#1\c!commandbefore}% +               % \getvalue{\??ko#1\c!commandbefore}% strange, why here? moved 21/11/2005                 \placeheadmargintexts{#1}% binnen #3?                 \ifdisplaysectionhead                   \getvalue{\??ko#1\c!numbercommand}% @@ -1737,17 +1737,18 @@                 \else                   \setupspacing                 \fi -% overwegen \dontleavehmode, else unwanted cr due to #2 -               \ifcase\headtimingmode#2\fi +               % \ifcase\headtimingmode#2\fi % can introduce cr +               \getvalue{\??ko#1\c!commandbefore}% makes more sense here                 \placeheadmargintexts{#1}% binnen #3?                 \ifdisplaysectionhead -                 \getvalue{\??ko#1\c!textcommand}% -                   {\setstrut\begstrut#4\endstrut}% can be nilled with \setnostrut +                 \getvalue{\??ko#1\c!textcommand}% struts can be nilled with \setnostrut +                   {\setstrut\begstrut\ifcase\headtimingmode\hbox{#2}\fi#4\endstrut}% \hbox prevents break                   \xdef\localheadheight    {\the\strutht}%                   \xdef\localheaddepth     {\the\strutdp}%                   \xdef\localheadlineheight{\the\lineheight}%                   % == \globallet\localheaddepth\strutdepth                 \else +                 \ifcase\headtimingmode#2\fi % inside textcommand ?                   \getvalue{\??ko#1\c!textcommand}{#4}%                 \fi                 \getvalue{\??ko#1\c!commandafter}% @@ -1764,8 +1765,8 @@    {\bgroup     \setsystemmode{#1}% to be documented     \ifgridsnapping\iftracegridsnapping\showstruts\fi\fi -   \xdef\localheadheight   {\the\strutht}% -   \xdef\localheaddepth    {\the\strutdp}% +   \xdef\localheadheight    {\the\strutht}% +   \xdef\localheaddepth     {\the\strutdp}%     \xdef\localheadlineheight{\the\lineheight}%     % == \globallet\localheaddepth\strutdp     \everypar\emptytoks % needed indeed diff --git a/tex/context/base/enco-run.tex b/tex/context/base/enco-run.tex index 8622a2388..f27b65937 100644 --- a/tex/context/base/enco-run.tex +++ b/tex/context/base/enco-run.tex @@ -127,11 +127,12 @@  \gdef\showhyphenations#1%    {\starttabulate[|le|l|] -   \NC language \NC \currentlanguage (code:\the\normallanguage) \NC \NR -   \NC font     \NC \fontname\font      \NC \NR -   \NC encoding \NC \currentencoding    \NC \NR -   \NC mapping  \NC \currentencoding    \NC \NR -   \NC sample   \NC \hyphenatedword{#1} \NC \NR +   \NC language \NC \currentlanguage\ (internal code:\the\normallanguage)    \NC \NR +   \NC font     \NC \fontname\font                                           \NC \NR +   \NC encoding \NC \ifx\@@fontencoding\empty not set\else\@@fontencoding\fi \NC \NR +   \NC mapping  \NC \ifx\@@fontmapping \empty not set\else\@@fontmapping \fi \NC \NR +   \NC handling \NC \ifx\@@fonthandling\empty not set\else\@@fonthandling\fi \NC \NR +   \NC sample   \NC \hyphenatedword{#1}                                      \NC \NR     \stoptabulate}  \gdef\showmapping diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex index 08537e374..f6221745e 100644 --- a/tex/context/base/font-run.tex +++ b/tex/context/base/font-run.tex @@ -28,7 +28,7 @@       {\doifnot{[\fontclass]}\title          {\edef\title{[\fontclass]\space\title}}}} -\gdef\showbodyfont% +\gdef\showbodyfont    {\dosingleempty\doshowbodyfont}  \gdef\doshowbodyfont[#1]% @@ -81,7 +81,7 @@           &&\getvalue{\bodyfontvariable{##1\c!xx}}%           &&\getvalue{\bodyfontvariable{##1\interfaced\v!small}}%           &&\getvalue{\bodyfontvariable{##1\interfaced\v!big}}% -         &&\getvalue{\bodyfontvariable{##1\c!interlinespace}}&\cr +         &&\edef\next{\getvalue{\bodyfontvariable{##1\c!interlinespace}}}\ifx\next\empty not set\else\next\fi&\cr           \noalign{\hrule}}        \halign to \localhsize          {##&\vrule##\strut @@ -105,7 +105,7 @@  \beginTEX \iffontchar -\gdef\iffontchar#1#2{\iftrue} +  \gdef\iffontchar#1#2{\iftrue}  \endTEX @@ -178,15 +178,15 @@     \nointerlineskip     \vskip2pt     % the \noexpand before \blank is needed for non etex -   \edef\ascii         {name:     {\noexpand\black\fontname\font}} +   \edef\ascii{name: {\noexpand\black\fontname\font}}     \doifelse\v!unknown{#2}       {\edef\theshowfontspecs -        {name:     {\noexpand\black\fontname\font}}} +        {name: {\noexpand\black\fontname\font}}}       {\edef\theshowfontspecs -        {name:     {\noexpand\black\fontname\font  }\noexpand\quad +        {name: {\noexpand\black\fontname\font}\noexpand\quad           encoding: {\noexpand\black\currentencoding}\noexpand\quad -         mapping:  {\noexpand\black\currentmapping }\noexpand\quad -         handling: {\noexpand\black\fonthandling   }}}% +         mapping: {\noexpand\black\currentmapping }\noexpand\quad +         handling: {\noexpand\black\fonthandling}}}%     \tf % also sets em     \hbox to 40em{\blue\hfill\tinyfont\setstrut\strut\theshowfontspecs}     \egroup diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex index 3f8f61680..805f68f6c 100644 --- a/tex/context/base/mult-com.tex +++ b/tex/context/base/mult-com.tex @@ -824,6 +824,9 @@ subpagenumber: subpaginanummer              subpagenumber                               sym: sym                              sym                                    sym                              sym                                    sim                              sim +                             txt: txt                              txt +                                  txt                              txt +                                  txt                              txt                               its: its                              its                                    its                              pol % abbr. of polozka (it  em)                                    el                               el  % abbr. of elemento (it) element (ro) diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex index f7a37a982..7348bc3e9 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.tex @@ -2137,6 +2137,9 @@ process: proces   process                        sym: sym                       sym                             sym                       sym                             sim                       sym +                      txt: txt                       txt +                           txt                       txt +                           txt                       txt                     symbol: symbool                   symbol                             symbol                    symbol                             simbolo                   simbol diff --git a/tex/context/base/type-akb.tex b/tex/context/base/type-akb.tex index b49a8f25f..7116cc99a 100644 --- a/tex/context/base/type-akb.tex +++ b/tex/context/base/type-akb.tex @@ -91,6 +91,7 @@  \starttypescript [adobekb] [ec] +\loadmapfile[8r-base.map]  \loadmapfile[ec-base.map]  \definefontsynonym [ec-utmr8a]                 [ptmr8t]  [encoding=ec] diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex index af6c69746..7d39629de 100644 --- a/tex/context/base/type-enc.tex +++ b/tex/context/base/type-enc.tex @@ -507,10 +507,10 @@  \starttypescript [sans] [modern,computer-modern,latin-modern] % [default]    \definefontsynonym [ComputerModernSans]             [LMSans-Regular] -  \definefontsynonym [ComputerModernSans-Italic]      [LMSans-Italic] +  \definefontsynonym [ComputerModernSans-Italic]      [LMSans-Oblique]    \definefontsynonym [ComputerModernSans-Slanted]     [LMSans-Oblique]    \definefontsynonym [ComputerModernSans-Bold]        [LMSans-Bold] -  \definefontsynonym [ComputerModernSans-BoldItalic]  [LMSans-BoldItalic] +  \definefontsynonym [ComputerModernSans-BoldItalic]  [LMSans-BoldOblique]    \definefontsynonym [ComputerModernSans-BoldSlanted] [LMSans-BoldOblique]    \definefontsynonym [ComputerModernSans-Caps]        [LMSans-Regular] % [LMSans-CapsRegular]    \definefontsynonym [ComputerModernSans-CapsSlanted] [LMSans-Oblique] % [LMSans-CapsOblique] diff --git a/tex/context/base/unic-run.tex b/tex/context/base/unic-run.tex index 49b8b6d96..b8e154fd4 100644 --- a/tex/context/base/unic-run.tex +++ b/tex/context/base/unic-run.tex @@ -28,7 +28,7 @@     \dostepwiserecurse{0}{15}{1}{\unicodechar{\numexpr#1*256+#2+\recurselevel*16\relax}\VL}%     \AR} -\gdef\showunicodevector#1% +\gdef\showunicodevector[#1]%    {\starttable[|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|]       \NC\NC\dostepwiserecurse{0}{15}{1}{\ttx\uchexnumber\recurselevel\NC}\AR       \DC\DL[16]\DR @@ -42,17 +42,17 @@  %D \chardef\utfunicodetracer=0  %D \chardef\utfunicodetracer=7  %D -%D \showunicodevector{000} -%D \showunicodevector{001} -%D \showunicodevector{002} -%D \showunicodevector{003} -%D \showunicodevector{004} -%D \showunicodevector{005} -%D \showunicodevector{030} -%D \showunicodevector{031} -%D \showunicodevector{032} -%D \showunicodevector{033} -%D \showunicodevector{034} +%D \showunicodevector[000] +%D \showunicodevector[001] +%D \showunicodevector[002] +%D \showunicodevector[003] +%D \showunicodevector[004] +%D \showunicodevector[005] +%D \showunicodevector[030] +%D \showunicodevector[031] +%D \showunicodevector[032] +%D \showunicodevector[033] +%D \showunicodevector[034]  %D \stoptyping  %D \macros @@ -66,7 +66,7 @@     \dostepwiserecurse{0}{15}{1}       {\bTD        \edef\entrypoint{\the\numexpr#1*256+#2+##1*16\relax}% -      \chardef\utfunicodetracer0{\dontleavehmode   \strut\unicodechar\entrypoint\endgraf}% +      \chardef\utfunicodetracer0{\dontleavehmode    \strut\unicodechar\entrypoint\endgraf}%        \tt        \chardef\utfunicodetracer7{\dontleavehmode\txx\strut\unicodechar\entrypoint\endgraf}%        \chardef\utfunicodetracer3{\dontleavehmode\txx\strut\unicodechar\entrypoint\endgraf}% @@ -75,8 +75,9 @@     \bTD\uchexnumber{#2}\eTD     \eTR} -\gdef\showunicodetable#1% +\gdef\showunicodetable[#1]%    {\vbox\bgroup +   \setupcolors[\c!state=\v!start]%     \setupTABLE[\c!background=\v!screen,\c!backgroundscreen=.90,\c!frame=\v!off,\c!frameoffset=0pt,\c!width=8em,\c!height=6em]%     \setupTABLE[c]     [\v!each] [\c!align={middle,lohi}]%     \setupTABLE[c]     [\v!first][\c!background=\v!screen,\c!backgroundscreen=.85,\c!style=\tt\tfa]% diff --git a/tex/context/extra/mag-0000.tex b/tex/context/extra/mag-0000.tex index 52cff1eea..baad957b8 100644 --- a/tex/context/extra/mag-0000.tex +++ b/tex/context/extra/mag-0000.tex @@ -1,3 +1,7 @@ +% content=tex +% +% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa +  \usemodule[mag-01]   \setvariables diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index 3e86fa600..7bb8886fc 100644 --- a/tex/context/interface/keys-cz.xml +++ b/tex/context/interface/keys-cz.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="jedna"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="pod"/>      <cd:variable name="sym" value="sym"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="symbol"/>      <cd:variable name="text" value="text"/>      <cd:variable name="back" value="zpet"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="okr"/>      <cd:command name="sym" value="sym"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="pol"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="headsym"/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index e81dc46f4..f4d9ed144 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="eins"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="unter"/>      <cd:variable name="sym" value="sym"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="symbol"/>      <cd:variable name="text" value="text"/>      <cd:variable name="back" value="zurueck"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="mar"/>      <cd:command name="sym" value="sym"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="its"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="headsym"/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 2965e0ef7..e53c0f2fc 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="one"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="sub"/>      <cd:variable name="sym" value="sym"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="symbol"/>      <cd:variable name="text" value="text"/>      <cd:variable name="back" value="back"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="mar"/>      <cd:command name="sym" value="sym"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="its"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="headsym"/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index d89fec084..e2e571890 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="uno"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="sotto"/>      <cd:variable name="sym" value="sim"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="simbolo"/>      <cd:variable name="text" value="testo"/>      <cd:variable name="back" value="dietro"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="mar"/>      <cd:command name="sym" value="sim"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="el"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="headsym"/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 6350dc92d..869f146fc 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="een"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="sub"/>      <cd:variable name="sym" value="sym"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="symbool"/>      <cd:variable name="text" value="tekst"/>      <cd:variable name="back" value="terug"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="mar"/>      <cd:command name="sym" value="sym"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="its"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="kopsym"/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 11482fae3..acdf123ef 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.11.16"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.11.24">    <cd:variables>      <cd:variable name="one" value="unu"/> @@ -688,6 +688,7 @@      <cd:variable name="strut" value="strut"/>      <cd:variable name="sub" value="sub"/>      <cd:variable name="sym" value="sym"/> +    <cd:variable name="txt" value="txt"/>      <cd:variable name="symbol" value="simbol"/>      <cd:variable name="text" value="text"/>      <cd:variable name="back" value="inapot"/> @@ -1190,6 +1191,7 @@      <cd:command name="nop" value="nop"/>      <cd:command name="mar" value="mar"/>      <cd:command name="sym" value="sim"/> +    <cd:command name="txt" value="txt"/>      <cd:command name="its" value="el"/>      <cd:command name="ran" value="ran"/>      <cd:command name="headsym" value="headsym"/>  | 
