summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/context/ruby/ctxtools.rb74
-rw-r--r--scripts/context/ruby/newtexexec.rb22
-rw-r--r--scripts/context/ruby/texmfstart.rb347
-rw-r--r--tex/context/base/colo-ini.tex20
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-itm.tex196
-rw-r--r--tex/context/base/core-ref.tex4
-rw-r--r--tex/context/base/core-sec.tex31
-rw-r--r--tex/context/base/enco-run.tex11
-rw-r--r--tex/context/base/font-run.tex16
-rw-r--r--tex/context/base/mult-com.tex3
-rw-r--r--tex/context/base/mult-con.tex3
-rw-r--r--tex/context/base/type-akb.tex1
-rw-r--r--tex/context/base/type-enc.tex4
-rw-r--r--tex/context/base/unic-run.tex29
-rw-r--r--tex/context/extra/mag-0000.tex4
-rw-r--r--tex/context/interface/keys-cz.xml4
-rw-r--r--tex/context/interface/keys-de.xml4
-rw-r--r--tex/context/interface/keys-en.xml4
-rw-r--r--tex/context/interface/keys-it.xml4
-rw-r--r--tex/context/interface/keys-nl.xml4
-rw-r--r--tex/context/interface/keys-ro.xml4
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"/>