* Height of square root
[not found] ` <200904180129.31516@centrum.cz>
@ 2009-04-17 23:29 ` Tomas Kisela
2009-04-18 8:09 ` Taco Hoekwater
0 siblings, 1 reply; 4+ messages in thread
From: Tomas Kisela @ 2009-04-17 23:29 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1: Type: text/plain, Size: 695 bytes --]
Hi everybody,
There's my issue:
If I switch a size of body font, the height of square root doesn't adapt well for letters exceeding a baseline (in my example "y"). Here is my code:
\starttext
\startformula
\sqrt{x^2+y^2} \sqrt{x^2+a^2}
\stopformula
\switchtobodyfont[17pt]
\startformula
\sqrt{x^2+y^2} \sqrt{x^2+a^2}
\stopformula
\switchtobodyfont[23pt]
\startformula
\sqrt{x^2+y^2} \sqrt{x^2+a^2}
\stopformula
\stoptext
If I compile it on http://live.contextgarden.net/, everything looks fine, but on my ConTeXt (2009.04.17 19:32 MKIV on Win Vista) I get the result in attachment.
Do you have any ideas what's the problem and how can I fix it?
Thanks,
Tomas
[-- Attachment #2: sqrt.pdf --]
[-- Type: application/pdf, Size: 18167 bytes --]
[-- Attachment #3: Type: text/plain, Size: 487 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Height of square root
2009-04-17 23:29 ` Height of square root Tomas Kisela
@ 2009-04-18 8:09 ` Taco Hoekwater
2009-04-18 10:27 ` Hans Hagen
2009-04-18 21:38 ` Tomas Kisela
0 siblings, 2 replies; 4+ messages in thread
From: Taco Hoekwater @ 2009-04-18 8:09 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1: Type: text/plain, Size: 742 bytes --]
Tomas Kisela wrote:
> Hi everybody,
>
> There's my issue:
> If I switch a size of body font, the height of square root doesn't adapt well for letters exceeding a baseline (in my example "y"). Here is my code:
>
> \starttext
> \startformula
> \sqrt{x^2+y^2} \sqrt{x^2+a^2}
> \stopformula
> \switchtobodyfont[17pt]
> \startformula
> \sqrt{x^2+y^2} \sqrt{x^2+a^2}
> \stopformula
> \switchtobodyfont[23pt]
> \startformula
> \sqrt{x^2+y^2} \sqrt{x^2+a^2}
> \stopformula
> \stoptext
>
> Do you have any ideas what's the problem and how can I fix it?
There is a bug in math-dim.lua: the \Umathradicalvgap parameters are not
set up properly. Attached is an improved version. Hans, can you put the
fix in the next beta?
Best wishes,
Taco
[-- Attachment #2: math-dim.lua --]
[-- Type: text/plain, Size: 13863 bytes --]
if not modules then modules = { } end modules ['math-dim'] = {
version = 1.001,
comment = "companion to math-ini.tex",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "see context related readme files"
}
-- Beware: only Taco really understands what these dimensions do so if you
-- run into problems ...
local abs, next = math.abs, next
mathematics = mathematics or { }
local defaults = {
['axis']={
['default']={ "AxisHeight", "axis_height" },
},
['accent_base_height']={
['default']={ "AccentBaseHeight", "x_height" },
},
['fraction_del_size']={
['default']={ "0", "delim2" },
['cramped_display_style']={ "0", "delim1" },
['display_style']={ "0", "delim1" },
},
['fraction_denom_down']={
['default']={ "FractionDenominatorShiftDown", "denom2" },
['cramped_display_style']={ "FractionDenominatorDisplayStyleShiftDown", "denom1" },
['display_style']={ "FractionDenominatorDisplayStyleShiftDown", "denom1" },
},
['fraction_denom_vgap']={
['default']={ "FractionDenominatorGapMin", "default_rule_thickness" },
['cramped_display_style']={ "FractionDenominatorDisplayStyleGapMin", "3*default_rule_thickness" },
['display_style']={ "FractionDenominatorDisplayStyleGapMin", "3*default_rule_thickness" },
},
['fraction_num_up']={
['default']={ "FractionNumeratorShiftUp", "num2" },
['cramped_display_style']={ "FractionNumeratorDisplayStyleShiftUp", "num1" },
['display_style']={ "FractionNumeratorDisplayStyleShiftUp", "num1" },
},
['fraction_num_vgap']={
['default']={ "FractionNumeratorGapMin", "default_rule_thickness" },
['cramped_display_style']={ "FractionNumeratorDisplayStyleGapMin", "3*default_rule_thickness" },
['display_style']={ "FractionNumeratorDisplayStyleGapMin", "3*default_rule_thickness" },
},
['fraction_rule']={
['default']={ "FractionRuleThickness", "default_rule_thickness" },
},
['limit_above_bgap']={
['default']={ "UpperLimitBaselineRiseMin", "big_op_spacing3" },
},
['limit_above_kern']={
['default']={ "0", "big_op_spacing5" },
},
['limit_above_vgap']={
['default']={ "UpperLimitGapMin", "big_op_spacing1" },
},
['limit_below_bgap']={
['default']={ "LowerLimitBaselineDropMin", "big_op_spacing4" },
},
['limit_below_kern']={
['default']={ "0", "big_op_spacing5" },
},
['limit_below_vgap']={
['default']={ "LowerLimitGapMin", "big_op_spacing2" },
},
--~ ['....']={
--~ ['default']={ "DisplayOperatorMinHeight", "....." },
--~ },
['overbar_kern']={
['default']={ "OverbarExtraAscender", "default_rule_thickness" },
},
['overbar_rule']={
['default']={ "OverbarRuleThickness", "default_rule_thickness" },
},
['overbar_vgap']={
['default']={ "OverbarVerticalGap", "3*default_rule_thickness" },
},
['quad']={
['default']={ "font_size(f)", "math_quad" },
},
['radical_kern']={
['default']={ "RadicalExtraAscender", "default_rule_thickness" },
},
['radical_rule']={
['default']={ "RadicalRuleThickness", "<not set>" },
},
['radical_vgap']={
['default']={ "RadicalVerticalGap", "default_rule_thickness+(abs(default_rule_thickness)/4)" },
['display_style']={ "RadicalDisplayStyleVerticalGap", "default_rule_thickness+(abs(math_x_height)/4)" },
},
['space_after_script']={
['default']={ "SpaceAfterScript", "script_space" },
},
['stack_denom_down']={
['default']={ "StackBottomShiftDown", "denom2" },
['cramped_display_style']={ "StackBottomDisplayStyleShiftDown", "denom1" },
['display_style']={ "StackBottomDisplayStyleShiftDown", "denom1" },
},
['stack_num_up']={
['default']={ "StackTopShiftUp", "num3" },
['cramped_display_style']={ "StackTopDisplayStyleShiftUp", "num1" },
['display_style']={ "StackTopDisplayStyleShiftUp", "num1" },
},
['stack_vgap']={
['default']={ "StackGapMin", "3*default_rule_thickness" },
['cramped_display_style']={ "StackDisplayStyleGapMin", "7*default_rule_thickness" },
['display_style']={ "StackDisplayStyleGapMin", "7*default_rule_thickness" },
},
['sub_shift_down']={
['default']={ "SubscriptShiftDown", "sub1" },
},
['sub_shift_drop']={
['default']={ "SubscriptBaselineDropMin", "sub_drop" },
},
['sub_sup_shift_down']={
['default']={ "SubscriptShiftDown", "sub2" },
},
['sub_top_max']={
['default']={ "SubscriptTopMax", "abs(math_x_height*4)/5" },
},
['subsup_vgap']={
['default']={ "SubSuperscriptGapMin", "4*default_rule_thickness" },
},
['sup_bottom_min']={
['default']={ "SuperscriptBottomMin", "abs(math_x_height)/4" },
},
['sup_shift_drop']={
['default']={ "SuperscriptBaselineDropMax", "sup_drop" },
},
['sup_shift_up']={
['cramped_display_style']={ "SuperscriptShiftUpCramped", "sup3" },
['cramped_script_script_style']={ "SuperscriptShiftUpCramped", "sup3" },
['cramped_script_style']={ "SuperscriptShiftUpCramped", "sup3" },
['cramped_text_style']={ "SuperscriptShiftUpCramped", "sup3" },
['display_style']={ "SuperscriptShiftUp", "sup1" },
['script_script_style']={ "SuperscriptShiftUp", "sup2" },
['script_style']={ "SuperscriptShiftUp", "sup2" },
['text_style']={ "SuperscriptShiftUp", "sup2" },
},
['sup_sub_bottom_max']={
['default']={ "SuperscriptBottomMaxWithSubscript", "abs(math_x_height*4)/5" },
},
['underbar_kern']={
['default']={ "UnderbarExtraDescender", "0" },
},
['underbar_rule']={
['default']={ "UnderbarRuleThickness", "default_rule_thickness" },
},
['underbar_vgap']={
['default']={ "UnderbarVerticalGap", "3*default_rule_thickness" },
},
['connector_overlap_min']={
['default']={ "MinConnectorOverlap", "0.25*default_rule_thickness" },
},
['over_delimiter_vgap']={
['default']={ "StretchStackGapBelowMin", "big_op_spacing1" },
},
['over_delimiter_bgap']={
['default']={ "StretchStackTopShiftUp", "big_op_spacing3" },
},
['under_delimiter_vgap']={
['default']={ "StretchStackGapAboveMin", "big_op_spacing2" },
},
['under_delimiter_bgap']={
['default']={ "StretchStackBottomShiftDown", "big_op_spacing4" },
},
}
local styles = {
'cramped_display_style',
'cramped_script_script_style',
'cramped_script_style',
'cramped_text_style',
'display_style',
'script_script_style',
'script_style',
'text_style',
}
for k, v in next, defaults do
for _, s in next, styles do
if not v[s] then
v[s] = v.default
end
end
end
-- we cannot use a metatable because we do a copy (takes a bit more work)
--
-- local mt = { } setmetatable(defaults,mt)
--
-- mt.__index = function(t,s)
-- texio.write_nl("GETTING " .. s)
-- return t.default or t.text_style or 0
-- end
function mathematics.dimensions(dimens)
if dimens.SpaceAfterScript then
return { }, table.fastcopy(dimens)
elseif dimens.AxisHeight or dimens.axis_height then
local t = { }
local math_x_height = dimens.x_height or 10*65526
local default_rule_thickness = dimens.FractionDenominatorGapMin or dimens.default_rule_thickness or 0.4*65526
dimens["0"] = 0
dimens["0.25*default_rule_thickness"] = default_rule_thickness/4
dimens["3*default_rule_thickness"] = 3*default_rule_thickness
dimens["4*default_rule_thickness"] = 4*default_rule_thickness
dimens["7*default_rule_thickness"] = 7*default_rule_thickness
dimens["abs(math_x_height*4)/5"] = abs(math_x_height * 4) / 5
dimens["default_rule_thickness+(abs(default_rule_thickness)/4)"] = default_rule_thickness+(abs(default_rule_thickness)/4)
dimens["default_rule_thickness+(abs(math_x_height)/4)"] = default_rule_thickness+(abs(math_x_height)/4)
dimens["abs(math_x_height)/4"] = abs(math_x_height)/4
dimens["abs(math_x_height*4)/5"] = abs(math_x_height*4)/5
dimens["<not set>"] = false
dimens["script_space"] = false -- at macro level
for variable, styles in next, defaults do
local tt = { }
for style, default in next, styles do
local one, two = default[1], default[2]
local value = dimens[one]
if value then
tt[style] = value
else
value = dimens[two]
if value == false then
tt[style] = nil
else
tt[style] = value or 0
end
end
end
t[variable] = tt
end
local d = {
AxisHeight = t . axis . text_style,
AccentBaseHeight = t . accent_base_height . text_style,
FractionDenominatorDisplayStyleGapMin = t . fraction_denom_vgap . display_style,
FractionDenominatorDisplayStyleShiftDown = t . fraction_denom_down . display_style,
FractionDenominatorGapMin = t . fraction_denom_vgap . text_style,
FractionDenominatorShiftDown = t . fraction_denom_down . text_style,
FractionNumeratorDisplayStyleGapMin = t . fraction_num_vgap . display_style,
FractionNumeratorDisplayStyleShiftUp = t . fraction_num_up . display_style,
FractionNumeratorGapMin = t . fraction_num_vgap . text_style,
FractionNumeratorShiftUp = t . fraction_num_up . text_style,
FractionRuleThickness = t . fraction_rule . text_style,
LowerLimitBaselineDropMin = t . limit_below_bgap . text_style,
LowerLimitGapMin = t . limit_below_vgap . text_style,
OverbarExtraAscender = t . overbar_kern . text_style,
OverbarRuleThickness = t . overbar_rule . text_style,
OverbarVerticalGap = t . overbar_vgap . text_style,
RadicalDisplayStyleVerticalGap = t . radical_vgap . display_style,
RadicalExtraAscender = t . radical_kern . text_style,
RadicalRuleThickness = t . radical_rule . text_style,
RadicalVerticalGap = t . radical_vgap . text_style,
SpaceAfterScript = t . space_after_script . text_style,
StackBottomDisplayStyleShiftDown = t . stack_denom_down . display_style,
StackBottomShiftDown = t . stack_denom_down . text_style,
StackDisplayStyleGapMin = t . stack_vgap . display_style,
StackGapMin = t . stack_vgap . text_style,
StackTopDisplayStyleShiftUp = t . stack_num_up . display_style,
StackTopShiftUp = t . stack_num_up . text_style,
SubscriptBaselineDropMin = t . sub_shift_drop . text_style,
SubscriptShiftDown = t . sub_shift_down . text_style,
SubscriptTopMax = t . sub_top_max . text_style,
SubSuperscriptGapMin = t . subsup_vgap . text_style,
SuperscriptBaselineDropMax = t . sup_shift_drop . text_style,
SuperscriptBottomMaxWithSubscript = t . sup_sub_bottom_max . text_style,
SuperscriptBottomMin = t . sup_bottom_min . text_style,
SuperscriptShiftUp = t . sup_shift_up . text_style,
SuperscriptShiftUpCramped = t . sup_shift_up . cramped_text_style,
UnderbarExtraDescender = t . underbar_kern . text_style,
UnderbarRuleThickness = t . underbar_rule . text_style,
UnderbarVerticalGap = t . underbar_vgap . text_style,
UpperLimitBaselineRiseMin = t . limit_above_bgap . text_style,
UpperLimitGapMin = t . limit_above_vgap . text_style,
MinConnectorOverlap = t . connector_overlap_min . text_style,
StretchStackGapBelowMin = t . over_delimiter_vgap . text_style,
StretchStackTopShiftUp = t . over_delimiter_bgap . text_style,
StretchStackGapAboveMin = t . under_delimiter_vgap . text_style,
StretchStackBottomShiftDown = t . under_delimiter_bgap . text_style,
}
d.AccentBaseHeight = 0
--~ texio.write_nl(table.serialize(d))
return t, d -- this might change
else
return { }, { }
end
end
[-- Attachment #3: Type: text/plain, Size: 487 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Height of square root
2009-04-18 8:09 ` Taco Hoekwater
@ 2009-04-18 10:27 ` Hans Hagen
2009-04-18 21:38 ` Tomas Kisela
1 sibling, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2009-04-18 10:27 UTC (permalink / raw)
To: mailing list for ConTeXt users
Taco Hoekwater wrote:
> Tomas Kisela wrote:
>> Hi everybody,
>>
>> There's my issue:
>> If I switch a size of body font, the height of square root doesn't
>> adapt well for letters exceeding a baseline (in my example "y"). Here
>> is my code:
>>
>> \starttext
>> \startformula \sqrt{x^2+y^2} \sqrt{x^2+a^2}
>> \stopformula
>> \switchtobodyfont[17pt]
>> \startformula \sqrt{x^2+y^2} \sqrt{x^2+a^2}
>> \stopformula
>> \switchtobodyfont[23pt]
>> \startformula \sqrt{x^2+y^2} \sqrt{x^2+a^2}
>> \stopformula
>> \stoptext
>>
>> Do you have any ideas what's the problem and how can I fix it?
>
> There is a bug in math-dim.lua: the \Umathradicalvgap parameters are not
> set up properly. Attached is an improved version. Hans, can you put the
> fix in the next beta?
sure
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Height of square root
2009-04-18 8:09 ` Taco Hoekwater
2009-04-18 10:27 ` Hans Hagen
@ 2009-04-18 21:38 ` Tomas Kisela
1 sibling, 0 replies; 4+ messages in thread
From: Tomas Kisela @ 2009-04-18 21:38 UTC (permalink / raw)
To: ntg-context
Thanks a lot.
Tomas
______________________________________________________________
> Od: taco@elvenkind.com
> Komu: mailing list for ConTeXt users <ntg-context@ntg.nl>
> Datum: 18.04.2009 10:12
> Předmět: Re: [NTG-context] Height of square root
>
>Tomas Kisela wrote:
>> Hi everybody,
>> > There's my issue:
>> If I switch a size of body font, the height of square root doesn't adapt well for letters exceeding a baseline (in my example "y"). Here is my code:
>> > starttext
>> startformula > sqrt{x^2+y^2} sqrt{x^2+a^2}
>> stopformula
>> switchtobodyfont[17pt]
>> startformula > sqrt{x^2+y^2} sqrt{x^2+a^2}
>> stopformula
>> switchtobodyfont[23pt]
>> startformula > sqrt{x^2+y^2} sqrt{x^2+a^2}
>> stopformula
>> stoptext
>> > Do you have any ideas what's the problem and how can I fix it?
>
>There is a bug in math-dim.lua: the Umathradicalvgap parameters are not
>set up properly. Attached is an improved version. Hans, can you put the
>fix in the next beta?
>
>Best wishes,
>Taco
>
>
>
>if not modules then modules = { } end modules ['math-dim'] = {
> version = 1.001,
> comment = "companion to math-ini.tex",
> author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
> copyright = "PRAGMA ADE / ConTeXt Development Team",
> license = "see context related readme files"
>}
>
>-- Beware: only Taco really understands what these dimensions do so if you
>-- run into problems ...
>
>local abs, next = math.abs, next
>
>mathematics = mathematics or { }
>
>local defaults = {
> ['axis']={
> ['default']={ "AxisHeight", "axis_height" },
> },
> ['accent_base_height']={
> ['default']={ "AccentBaseHeight", "x_height" },
> },
> ['fraction_del_size']={
> ['default']={ "0", "delim2" },
> ['cramped_display_style']={ "0", "delim1" },
> ['display_style']={ "0", "delim1" },
> },
> ['fraction_denom_down']={
> ['default']={ "FractionDenominatorShiftDown", "denom2" },
> ['cramped_display_style']={ "FractionDenominatorDisplayStyleShiftDown", "denom1" },
> ['display_style']={ "FractionDenominatorDisplayStyleShiftDown", "denom1" },
> },
> ['fraction_denom_vgap']={
> ['default']={ "FractionDenominatorGapMin", "default_rule_thickness" },
> ['cramped_display_style']={ "FractionDenominatorDisplayStyleGapMin", "3*default_rule_thickness" },
> ['display_style']={ "FractionDenominatorDisplayStyleGapMin", "3*default_rule_thickness" },
> },
> ['fraction_num_up']={
> ['default']={ "FractionNumeratorShiftUp", "num2" },
> ['cramped_display_style']={ "FractionNumeratorDisplayStyleShiftUp", "num1" },
> ['display_style']={ "FractionNumeratorDisplayStyleShiftUp", "num1" },
> },
> ['fraction_num_vgap']={
> ['default']={ "FractionNumeratorGapMin", "default_rule_thickness" },
> ['cramped_display_style']={ "FractionNumeratorDisplayStyleGapMin", "3*default_rule_thickness" },
> ['display_style']={ "FractionNumeratorDisplayStyleGapMin", "3*default_rule_thickness" },
> },
> ['fraction_rule']={
> ['default']={ "FractionRuleThickness", "default_rule_thickness" },
> },
> ['limit_above_bgap']={
> ['default']={ "UpperLimitBaselineRiseMin", "big_op_spacing3" },
> },
> ['limit_above_kern']={
> ['default']={ "0", "big_op_spacing5" },
> },
> ['limit_above_vgap']={
> ['default']={ "UpperLimitGapMin", "big_op_spacing1" },
> },
> ['limit_below_bgap']={
> ['default']={ "LowerLimitBaselineDropMin", "big_op_spacing4" },
> },
> ['limit_below_kern']={
> ['default']={ "0", "big_op_spacing5" },
> },
> ['limit_below_vgap']={
> ['default']={ "LowerLimitGapMin", "big_op_spacing2" },
> },
>
>--~ ['....']={
>--~ ['default']={ "DisplayOperatorMinHeight", "....." },
>--~ },
>
> ['overbar_kern']={
> ['default']={ "OverbarExtraAscender", "default_rule_thickness" },
> },
> ['overbar_rule']={
> ['default']={ "OverbarRuleThickness", "default_rule_thickness" },
> },
> ['overbar_vgap']={
> ['default']={ "OverbarVerticalGap", "3*default_rule_thickness" },
> },
> ['quad']={
> ['default']={ "font_size(f)", "math_quad" },
> },
> ['radical_kern']={
> ['default']={ "RadicalExtraAscender", "default_rule_thickness" },
> },
> ['radical_rule']={
> ['default']={ "RadicalRuleThickness", "<not set>" },
> },
> ['radical_vgap']={
> ['default']={ "RadicalVerticalGap", "default_rule_thickness+(abs(default_rule_thickness)/4)" },
> ['display_style']={ "RadicalDisplayStyleVerticalGap", "default_rule_thickness+(abs(math_x_height)/4)" },
> },
> ['space_after_script']={
> ['default']={ "SpaceAfterScript", "script_space" },
> },
> ['stack_denom_down']={
> ['default']={ "StackBottomShiftDown", "denom2" },
> ['cramped_display_style']={ "StackBottomDisplayStyleShiftDown", "denom1" },
> ['display_style']={ "StackBottomDisplayStyleShiftDown", "denom1" },
> },
> ['stack_num_up']={
> ['default']={ "StackTopShiftUp", "num3" },
> ['cramped_display_style']={ "StackTopDisplayStyleShiftUp", "num1" },
> ['display_style']={ "StackTopDisplayStyleShiftUp", "num1" },
> },
> ['stack_vgap']={
> ['default']={ "StackGapMin", "3*default_rule_thickness" },
> ['cramped_display_style']={ "StackDisplayStyleGapMin", "7*default_rule_thickness" },
> ['display_style']={ "StackDisplayStyleGapMin", "7*default_rule_thickness" },
> },
> ['sub_shift_down']={
> ['default']={ "SubscriptShiftDown", "sub1" },
> },
> ['sub_shift_drop']={
> ['default']={ "SubscriptBaselineDropMin", "sub_drop" },
> },
> ['sub_sup_shift_down']={
> ['default']={ "SubscriptShiftDown", "sub2" },
> },
> ['sub_top_max']={
> ['default']={ "SubscriptTopMax", "abs(math_x_height*4)/5" },
> },
> ['subsup_vgap']={
> ['default']={ "SubSuperscriptGapMin", "4*default_rule_thickness" },
> },
> ['sup_bottom_min']={
> ['default']={ "SuperscriptBottomMin", "abs(math_x_height)/4" },
> },
> ['sup_shift_drop']={
> ['default']={ "SuperscriptBaselineDropMax", "sup_drop" },
> },
> ['sup_shift_up']={
> ['cramped_display_style']={ "SuperscriptShiftUpCramped", "sup3" },
> ['cramped_script_script_style']={ "SuperscriptShiftUpCramped", "sup3" },
> ['cramped_script_style']={ "SuperscriptShiftUpCramped", "sup3" },
> ['cramped_text_style']={ "SuperscriptShiftUpCramped", "sup3" },
> ['display_style']={ "SuperscriptShiftUp", "sup1" },
> ['script_script_style']={ "SuperscriptShiftUp", "sup2" },
> ['script_style']={ "SuperscriptShiftUp", "sup2" },
> ['text_style']={ "SuperscriptShiftUp", "sup2" },
> },
> ['sup_sub_bottom_max']={
> ['default']={ "SuperscriptBottomMaxWithSubscript", "abs(math_x_height*4)/5" },
> },
> ['underbar_kern']={
> ['default']={ "UnderbarExtraDescender", "0" },
> },
> ['underbar_rule']={
> ['default']={ "UnderbarRuleThickness", "default_rule_thickness" },
> },
> ['underbar_vgap']={
> ['default']={ "UnderbarVerticalGap", "3*default_rule_thickness" },
> },
> ['connector_overlap_min']={
> ['default']={ "MinConnectorOverlap", "0.25*default_rule_thickness" },
> },
> ['over_delimiter_vgap']={
> ['default']={ "StretchStackGapBelowMin", "big_op_spacing1" },
> },
> ['over_delimiter_bgap']={
> ['default']={ "StretchStackTopShiftUp", "big_op_spacing3" },
> },
> ['under_delimiter_vgap']={
> ['default']={ "StretchStackGapAboveMin", "big_op_spacing2" },
> },
> ['under_delimiter_bgap']={
> ['default']={ "StretchStackBottomShiftDown", "big_op_spacing4" },
> },
>}
>
>local styles = {
> 'cramped_display_style',
> 'cramped_script_script_style',
> 'cramped_script_style',
> 'cramped_text_style',
> 'display_style',
> 'script_script_style',
> 'script_style',
> 'text_style',
>}
>
>for k, v in next, defaults do
> for _, s in next, styles do
> if not v[s] then
> v[s] = v.default
> end
> end
>end
>
>-- we cannot use a metatable because we do a copy (takes a bit more work)
>--
>-- local mt = { } setmetatable(defaults,mt)
>--
>-- mt.__index = function(t,s)
>-- texio.write_nl("GETTING " .. s)
>-- return t.default or t.text_style or 0
>-- end
>
>function mathematics.dimensions(dimens)
> if dimens.SpaceAfterScript then
> return { }, table.fastcopy(dimens)
> elseif dimens.AxisHeight or dimens.axis_height then
> local t = { }
> local math_x_height = dimens.x_height or 10*65526
> local default_rule_thickness = dimens.FractionDenominatorGapMin or dimens.default_rule_thickness or 0.4*65526
> dimens["0"] = 0
> dimens["0.25*default_rule_thickness"] = default_rule_thickness/4
> dimens["3*default_rule_thickness"] = 3*default_rule_thickness
> dimens["4*default_rule_thickness"] = 4*default_rule_thickness
> dimens["7*default_rule_thickness"] = 7*default_rule_thickness
> dimens["abs(math_x_height*4)/5"] = abs(math_x_height * 4) / 5
> dimens["default_rule_thickness+(abs(default_rule_thickness)/4)"] = default_rule_thickness+(abs(default_rule_thickness)/4)
> dimens["default_rule_thickness+(abs(math_x_height)/4)"] = default_rule_thickness+(abs(math_x_height)/4)
> dimens["abs(math_x_height)/4"] = abs(math_x_height)/4
> dimens["abs(math_x_height*4)/5"] = abs(math_x_height*4)/5
> dimens["<not set>"] = false
> dimens["script_space"] = false -- at macro level
> for variable, styles in next, defaults do
> local tt = { }
> for style, default in next, styles do
> local one, two = default[1], default[2]
> local value = dimens[one]
> if value then
> tt[style] = value
> else
> value = dimens[two]
> if value == false then
> tt[style] = nil
> else
> tt[style] = value or 0
> end
> end
> end
> t[variable] = tt
> end
> local d = {
> AxisHeight = t . axis . text_style,
> AccentBaseHeight = t . accent_base_height . text_style,
> FractionDenominatorDisplayStyleGapMin = t . fraction_denom_vgap . display_style,
> FractionDenominatorDisplayStyleShiftDown = t . fraction_denom_down . display_style,
> FractionDenominatorGapMin = t . fraction_denom_vgap . text_style,
> FractionDenominatorShiftDown = t . fraction_denom_down . text_style,
> FractionNumeratorDisplayStyleGapMin = t . fraction_num_vgap . display_style,
> FractionNumeratorDisplayStyleShiftUp = t . fraction_num_up . display_style,
> FractionNumeratorGapMin = t . fraction_num_vgap . text_style,
> FractionNumeratorShiftUp = t . fraction_num_up . text_style,
> FractionRuleThickness = t . fraction_rule . text_style,
> LowerLimitBaselineDropMin = t . limit_below_bgap . text_style,
> LowerLimitGapMin = t . limit_below_vgap . text_style,
> OverbarExtraAscender = t . overbar_kern . text_style,
> OverbarRuleThickness = t . overbar_rule . text_style,
> OverbarVerticalGap = t . overbar_vgap . text_style,
> RadicalDisplayStyleVerticalGap = t . radical_vgap . display_style,
> RadicalExtraAscender = t . radical_kern . text_style,
> RadicalRuleThickness = t . radical_rule . text_style,
> RadicalVerticalGap = t . radical_vgap . text_style,
> SpaceAfterScript = t . space_after_script . text_style,
> StackBottomDisplayStyleShiftDown = t . stack_denom_down . display_style,
> StackBottomShiftDown = t . stack_denom_down . text_style,
> StackDisplayStyleGapMin = t . stack_vgap . display_style,
> StackGapMin = t . stack_vgap . text_style,
> StackTopDisplayStyleShiftUp = t . stack_num_up . display_style,
> StackTopShiftUp = t . stack_num_up . text_style,
> SubscriptBaselineDropMin = t . sub_shift_drop . text_style,
> SubscriptShiftDown = t . sub_shift_down . text_style,
> SubscriptTopMax = t . sub_top_max . text_style,
> SubSuperscriptGapMin = t . subsup_vgap . text_style,
> SuperscriptBaselineDropMax = t . sup_shift_drop . text_style,
> SuperscriptBottomMaxWithSubscript = t . sup_sub_bottom_max . text_style,
> SuperscriptBottomMin = t . sup_bottom_min . text_style,
> SuperscriptShiftUp = t . sup_shift_up . text_style,
> SuperscriptShiftUpCramped = t . sup_shift_up . cramped_text_style,
> UnderbarExtraDescender = t . underbar_kern . text_style,
> UnderbarRuleThickness = t . underbar_rule . text_style,
> UnderbarVerticalGap = t . underbar_vgap . text_style,
> UpperLimitBaselineRiseMin = t . limit_above_bgap . text_style,
> UpperLimitGapMin = t . limit_above_vgap . text_style,
> MinConnectorOverlap = t . connector_overlap_min . text_style,
> StretchStackGapBelowMin = t . over_delimiter_vgap . text_style,
> StretchStackTopShiftUp = t . over_delimiter_bgap . text_style,
> StretchStackGapAboveMin = t . under_delimiter_vgap . text_style,
> StretchStackBottomShiftDown = t . under_delimiter_bgap . text_style,
> }
> d.AccentBaseHeight = 0
>--~ texio.write_nl(table.serialize(d))
> return t, d -- this might change
> else
> return { }, { }
> end
>end
>
>___________________________________________________________________________________
>If your question is of interest to others as well, please add an entry to the Wiki!
>
>maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
>webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
>archive : https://foundry.supelec.fr/projects/contextrev/
>wiki : http://contextgarden.net
>___________________________________________________________________________________
>
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-04-18 21:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <200904180122.8726@centrum.cz>
[not found] ` <200904180123.8966@centrum.cz>
[not found] ` <200904180124.30059@centrum.cz>
[not found] ` <200904180125.11300@centrum.cz>
[not found] ` <200904180126.11414@centrum.cz>
[not found] ` <200904180127.28464@centrum.cz>
[not found] ` <200904180128.16558@centrum.cz>
[not found] ` <200904180129.31516@centrum.cz>
2009-04-17 23:29 ` Height of square root Tomas Kisela
2009-04-18 8:09 ` Taco Hoekwater
2009-04-18 10:27 ` Hans Hagen
2009-04-18 21:38 ` Tomas Kisela
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).