From a8ed712217c78f3d7c3b5bd8845f51275c8111c7 Mon Sep 17 00:00:00 2001 From: Jens Frank Date: Sun, 29 Oct 2006 13:48:21 +0000 Subject: [PATCH] (bug 7741) MATH: fixed broken syntax of underbrace etc. Fixed arrays --- RELEASE-NOTES | 1 + math/lexer.mll | 2 ++ math/parser.mly | 5 +++-- math/texutil.ml | 16 ++++++++-------- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 2e51b1c15e..f7226377e4 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -100,6 +100,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 3224) Allow minor edits by bots to skip new message notification on user talk pages. This can be disabled by adjusting the 'nominornewtalk' permission. Patch by Werdna. +* (bug 7741) MATH: fixed broken syntax of underbrace etc. Fixed arrays == Languages updated == diff --git a/math/lexer.mll b/math/lexer.mll index e5bb1ddfba..61394096b5 100644 --- a/math/lexer.mll +++ b/math/lexer.mll @@ -77,6 +77,8 @@ rule token = parse | "\\end{vmatrix}" { END_VMATRIX } | "\\begin{Vmatrix}" { Texutil.tex_use_ams(); BEGIN_VVMATRIX } | "\\end{Vmatrix}" { END_VVMATRIX } + | "\\begin{array}" { Texutil.tex_use_ams(); BEGIN_ARRAY } + | "\\end{array}" { END_ARRAY } | "\\begin{cases}" { Texutil.tex_use_ams(); BEGIN_CASES } | "\\end{cases}" { END_CASES } | '>' { LITERAL (HTMLABLEC(FONT_UFH,">"," > ")) } diff --git a/math/parser.mly b/math/parser.mly index 4787db37b1..59a00b98d6 100644 --- a/math/parser.mly +++ b/math/parser.mly @@ -12,8 +12,8 @@ %token Tex.t->string*string*string)> FUN_AR2h %token Tex.t list->string*string*string)> FUN_INFIXh %token EOF CURLY_OPEN CURLY_CLOSE SUB SUP SQ_CLOSE NEXT_CELL NEXT_ROW -%token BEGIN__MATRIX BEGIN_PMATRIX BEGIN_BMATRIX BEGIN_BBMATRIX BEGIN_VMATRIX BEGIN_VVMATRIX BEGIN_CASES -%token END__MATRIX END_PMATRIX END_BMATRIX END_BBMATRIX END_VMATRIX END_VVMATRIX END_CASES +%token BEGIN__MATRIX BEGIN_PMATRIX BEGIN_BMATRIX BEGIN_BBMATRIX BEGIN_VMATRIX BEGIN_VVMATRIX BEGIN_CASES BEGIN_ARRAY +%token END__MATRIX END_PMATRIX END_BMATRIX END_BBMATRIX END_VMATRIX END_VVMATRIX END_CASES END_ARRAY %token LEFT RIGHT %type tex_expr @@ -93,6 +93,7 @@ lit: | BEGIN_BBMATRIX matrix END_BBMATRIX { TEX_MATRIX ("Bmatrix", $2) } | BEGIN_VMATRIX matrix END_VMATRIX { TEX_MATRIX ("vmatrix", $2) } | BEGIN_VVMATRIX matrix END_VVMATRIX { TEX_MATRIX ("Vmatrix", $2) } + | BEGIN_ARRAY matrix END_ARRAY { TEX_MATRIX ("array", $2) } | BEGIN_CASES matrix END_CASES { TEX_MATRIX ("cases", $2) } matrix: line { [$1] } diff --git a/math/texutil.ml b/math/texutil.ml index b4cd268c74..4f46855d51 100644 --- a/math/texutil.ml +++ b/math/texutil.ml @@ -425,14 +425,14 @@ let find = function | "\\left" -> LEFT | "\\right" -> RIGHT | "\\hat" -> FUN_AR1 "\\hat " - | "\\widehat" -> FUN_AR1 "\\widehat " - | "\\overline" -> FUN_AR1 "\\overline " - | "\\overbrace" -> FUN_AR1 "\\overbrace " - | "\\underline" -> FUN_AR1 "\\underline " - | "\\underbrace" -> FUN_AR1 "\\underbrace " - | "\\overleftarrow" -> FUN_AR1 "\\overleftarrow " - | "\\overrightarrow" -> FUN_AR1 "\\overrightarrow " - | "\\overleftrightarrow"->FUN_AR1 "\\overleftrightarrow " + | "\\widehat" -> LITERAL (TEX_ONLY "\\widehat ") + | "\\overline" -> LITERAL (TEX_ONLY "\\overline ") + | "\\overbrace" -> LITERAL (TEX_ONLY "\\overbrace ") + | "\\underline" -> LITERAL (TEX_ONLY "\\underline ") + | "\\underbrace" -> LITERAL (TEX_ONLY "\\underbrace ") + | "\\overleftarrow" -> LITERAL (TEX_ONLY "\\overleftarrow ") + | "\\overrightarrow" -> LITERAL (TEX_ONLY "\\overrightarrow ") + | "\\overleftrightarrow"->LITERAL (TEX_ONLY "\\overleftrightarrow ") | "\\check" -> FUN_AR1 "\\check " | "\\acute" -> FUN_AR1 "\\acute " | "\\grave" -> FUN_AR1 "\\grave " -- 2.20.1