summaryrefslogtreecommitdiff
path: root/source/luametatex/source/tex/texmath.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/tex/texmath.c')
-rw-r--r--source/luametatex/source/tex/texmath.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/luametatex/source/tex/texmath.c b/source/luametatex/source/tex/texmath.c
index e93714000..d849d4d52 100644
--- a/source/luametatex/source/tex/texmath.c
+++ b/source/luametatex/source/tex/texmath.c
@@ -4066,6 +4066,7 @@ void tex_run_math_fence(void)
halfword leftclass = unset_noad_class;
halfword rightclass = unset_noad_class;
halfword source = 0;
+ halfword factor = scaling_factor;
halfword attrlist = null;
quarterword st = (quarterword) cur_chr;
halfword style = cur_list.math_style;
@@ -4090,7 +4091,7 @@ void tex_run_math_fence(void)
}
while (1) {
/* todo: break down */
- switch (tex_scan_character("hdanlevpcrsutbHDANLEVPCRSUTB", 0, 1, 0)) {
+ switch (tex_scan_character("hdanlevpcrsutbfHDANLEVPCRSUTBF", 0, 1, 0)) {
case 0:
goto CHECK_PAIRING;
case 'a': case 'A':
@@ -4125,6 +4126,11 @@ void tex_run_math_fence(void)
dp = tex_scan_dimen(0, 0, 0, 0, NULL);
}
break;
+ case 'f': case 'F':
+ if (tex_scan_mandate_keyword("factor", 1)) {
+ factor = tex_scan_int(0, NULL);
+ }
+ break;
case 'h': case 'H':
if (tex_scan_mandate_keyword("height", 1)) {
ht = tex_scan_dimen(0, 0, 0, 0, NULL);
@@ -4353,12 +4359,14 @@ void tex_run_math_fence(void)
switch (st) {
case left_fence_side:
tex_aux_append_math_fence(fence, open_noad_subtype);
+ fence_nesting_factor(fence) = factor;
break;
case middle_fence_side:
tex_aux_append_math_fence(fence, middle_noad_subtype);
break;
case right_fence_side:
tex_aux_append_math_fence(fence, close_noad_subtype);
+ fence_nesting_factor(fence) = factor;
break;
case left_operator_side:
{