Subversion Repositories wimsdev

Rev

Rev 14658 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14658 Rev 15177
Line 1... Line 1...
1
GK, 2014-01-04:
1
## 2014-01-04 [GK]
2
	changed the syntax for the parameter ret_str in wims_mathml.y
2
changed the syntax for the parameter ret_str in wims_mathml.y
3
	to allow a valid compilation with bison-3.0; the compilation with
3
 to allow a valid compilation with bison-3.0; the compilation with
4
	previous versions of bison remains still valid. See the bug report
4
 previous versions of bison remains still valid. See the bug report
5
	at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733369
5
 at [bugs.debian.org](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733369)
-
 
6
 
6
done :
7
done :
-
 
8
 
7
- array row separators "\\" \cr "\tabularnewline" (...)
9
- array row separators "\\" \cr "\tabularnewline" (...)
8
- special space "\ " allowed
10
- special space "\ " allowed
9
- Accent replacing by htmlcodes (list is not yet complete...)
11
- Accent replacing by htmlcodes (list is not yet complete...)
10
- Added "\right." if unbalanced \left( ...
12
- Added "\right." if unbalanced \left( ...
11
 (preventing errors in mathml)
13
 (preventing errors in mathml)
Line 24... Line 26...
24
 
26
 
25
- added \bigint \biggint \bigggint without increasing fontsize (that results in loss of horizontal symmetry)
27
- added \bigint \biggint \bigggint without increasing fontsize (that results in loss of horizontal symmetry)
26
    Drawback (not solved yet...) is that "\left[ \biggint_{0}^{\pi} \right." the "[" will not take the stretched size of "\biggint"
28
    Drawback (not solved yet...) is that "\left[ \biggint_{0}^{\pi} \right." the "[" will not take the stretched size of "\biggint"
27
    Incase increase in fontsize, the "[" will stretch...have to see how this works...
29
    Incase increase in fontsize, the "[" will stretch...have to see how this works...
28
 
30
 
29
- transform {\\rm } in \textrm{ } in texmath.c (bpr)
31
- transform `{\\rm }` in `\textrm{ }` in texmath.c (bpr)
30
 
32
 
31
- if cal letters do not exist, take the roman one.
33
- if cal letters do not exist, take the roman one.
32
 
34
 
33
- restored converting ">" into "\gt" in wims_mathml.c
35
- restored converting ">" into "\gt" in wims_mathml.c
34
  restored converting "<" into "\lt" in wims_mathml.c
36
  restored converting "<" into "\lt" in wims_mathml.c
35
- solve f'(x) messing up javacript for clickfill  ( ' -> \' )
37
- solve f'(x) messing up javacript for clickfill  ( ' -> \' )
36
 
38
 
37
- \input{size}{id}{style}{readonly}
39
- `\input{size}{id}{style}{readonly}`
38
    size: 0,999 spaces allowed
40
  size: 0,999 spaces allowed
39
    id:0,999 spaces allowed -> mathml0 .. mathml999 (prefix mathml is hardcoded : reply1 = document.getElementById("mathml"+p);
41
  id:0,999 spaces allowed -> mathml0 .. mathml999 (prefix mathml is hardcoded : reply1 = document.getElementById("mathml"+p);
40
    style: no "" allowed ; spaces allowed
42
   style: no "" allowed ; spaces allowed
41
    readonly : 0,1  spaces allowed(0 = write ; 1=readonly)
43
   readonly : 0,1  spaces allowed(0 = write ; 1=readonly)
42
    example : \input{ 5 }{0 }{ color: red;fontcolor:blue;border 1px}{ 1}
44
   example : \input{ 5 }{0 }{ color: red;fontcolor:blue;border 1px}{ 1}
43
- \input added support for hexcolor background-color:#00ff00;
45
- \input added support for hexcolor background-color:#00ff00;
44
- corrected some flaws with stretchy parenthesis;
46
- corrected some flaws with stretchy parenthesis;
45
  corrected missing \right. procedure in wims_mathml.cc
47
  corrected missing \right. procedure in wims_mathml.cc
46
    \lpar \rpar usable in createxo for \left( without \right)
48
  * \lpar \rpar usable in createxo for \left( without \right)
47
    \lbracket \rbracket usable in createxo for \left[ without \right]
49
  * \lbracket \rbracket usable in createxo for \left[ without \right]
48
    \langle \rangle usable in createxo for \left< without \right>
50
  * \langle \rangle usable in createxo for \left< without \right>
49
 
51
 
50
- improved size & appearance of integral sign \int (larger)
52
- improved size & appearance of integral sign \int (larger)
51
    other sizes are bigint biggint bigggint
53
    other sizes are bigint biggint bigggint
52
    Now parenthesis around integral sign are stretchy
54
    Now parenthesis around integral sign are stretchy
53
    (),[],{},<>
55
    (),[],{},<>
54
    \lpar\rpar , \lbracket\rbracket, \lbrace\rbrace ,\langle\rangle
56
    \lpar\rpar , \lbracket\rbracket, \lbrace\rbrace ,\langle\rangle
55
- added array with vertical separators (will need testing)
57
- added array with vertical separators (will need testing)
56
- add dfrac ; set dfrac to be 120% of \frac{}{} ...tune in to your favorite value !
58
- add dfrac ; set dfrac to be 120% of \frac{}{} ...tune in to your favorite value !
57
    both frac/dfrac are in displaystyle.
59
  both frac/dfrac are in displaystyle.
58
- wims_mathml.l : add \Bf as "dialect" for \bf \boldfont
60
- wims_mathml.l : add \Bf as "dialect" for \bf \boldfont
59
- add \not =, \not=, \not\in, \not \in
61
- add \not =, \not=, \not\in, \not \in
60
- changed lpar/rpar lbracket/rbracket lbrace/rbrace to OTHERDELIM
62
- changed lpar/rpar lbracket/rbracket lbrace/rbrace to OTHERDELIM
61
- added support for unbalanced \lbracket (etc)
63
- added support for unbalanced \lbracket (etc)
62
- removed unused code (...)
64
- removed unused code (...)
Line 68... Line 70...
68
  now a single  "-" will produce on all rows a "\hline"
70
  now a single  "-" will produce on all rows a "\hline"
69
  now "-.-.-" will produce a hline under row1,row3,row5
71
  now "-.-.-" will produce a hline under row1,row3,row5
70
  (the MathML code attribute is:  rowlines="solid none solid none solid")
72
  (the MathML code attribute is:  rowlines="solid none solid none solid")
71
  The options do not adversely interfere with normal latex (for gif)
73
  The options do not adversely interfere with normal latex (for gif)
72
  example:
74
  example:
-
 
75
 
73
  \begin{array}{c|c:|c-.-.-.} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{array}
76
      \begin{array}{c|c:|c-.-.-.} 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \\ 1 & 2 & 3 \end{array}
74
 
77
 
75
- added lots of (probably useless) unicode symbols matching (ams)latex commands.
78
- added lots of (probably useless) unicode symbols matching (ams)latex commands.
76
  added file UNICODE-2-LATEX.txt to be used as "database" for future reference.
79
  added file UNICODE-2-LATEX.txt to be used as "database" for future reference.
77
  Note: not all commands are integrated in wims_mathml.l (just a random selection...)
80
  Note: not all commands are integrated in wims_mathml.l (just a random selection...)
78
  Note: the 'return' is just globally set ; it may need some fine tuning.
81
  Note: the 'return' is just globally set ; it may need some fine tuning.
Line 120... Line 123...
120
- corrected stupid typo error { n \choose k } : free $3 was not possible (should be $4 !)
123
- corrected stupid typo error { n \choose k } : free $3 was not possible (should be $4 !)
121
- corrected wrong n-th root display \root{3} \of{ 2^{456} }
124
- corrected wrong n-th root display \root{3} \of{ 2^{456} }
122
  the "\of" is now ignored : 2^{456} will now be under root-flag
125
  the "\of" is now ignored : 2^{456} will now be under root-flag
123
  other way of writing: \root{3}{2^{456}}
126
  other way of writing: \root{3}{2^{456}}
124
- added
127
- added
125
"\\longmapsto" {yylval = wims_mathml_copy_string("&#x27FC"); return MOL;}
128
  * "\\longmapsto" {yylval = wims_mathml_copy_string("&#x27FC"); return MOL;}
126
"\\Longmapsfrom" {yylval = wims_mathml_copy_string("&#x27FD"); return MOL;}
129
  * "\\Longmapsfrom" {yylval = wims_mathml_copy_string("&#x27FD"); return MOL;}
127
"\\Longmapsto" {yylval = wims_mathml_copy_string("&#x27FE"); return MOL;}
130
  * "\\Longmapsto" {yylval = wims_mathml_copy_string("&#x27FE"); return MOL;}
128
- 20/9/2012 added
131
- 20/9/2012 added
129
"\\large" { yylval=wims_mathml_copy_string("150%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
132
  * "\\large" { yylval=wims_mathml_copy_string("150%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
130
"\\Large" { yylval=wims_mathml_copy_string("180%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
133
  * "\\Large" { yylval=wims_mathml_copy_string("180%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
131
"\\huge"  { yylval=wims_mathml_copy_string("220%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
134
  * "\\huge"  { yylval=wims_mathml_copy_string("220%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
132
"\\Huge"  { yylval=wims_mathml_copy_string("260%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
135
  * "\\Huge"  { yylval=wims_mathml_copy_string("260%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
133
 
136
 
-
 
137
## 26/9/2012
134
-26/9/2012 added forgotten "^+-=" to recognisable "text value" in inputfield in \input{size}{id}{style}{value}{readonly}
138
added forgotten `^+-=` to recognisable "text value" in inputfield in `\input{size}{id}{style}{value}{readonly}`
135
  a {value} like "{10^3 - 10^2 = 9*10^2}" will be processed normally.
139
  a {value} like `{10^3 - 10^2 = 9*10^2}` will be processed normally.
-
 
140
 
-
 
141
## 5/11/2012 added "\cline{}" as empty command.
-
 
142
`\cline{2-5}` will now be ignored and not interpreted as "text"
-
 
143
  the horizontal line in matrix can be imitated by \begin{array}{c.c.c.c-c.}
-
 
144
  meaning a horizontal line under the 4-th row
-
 
145
  This non-latex syntax "{c.c.c.c-c.}" will be ignored in math-with-gifs
-
 
146
 
-
 
147
## 7/11/2012
-
 
148
  replace non-unique id="wims_mathml" by a unique id="wims_mathml..."
-
 
149
 
-
 
150
## 18/11/2012
-
 
151
  corrected some syntax issues only noticed by older compiler
-
 
152
  corrected compiler warnings for "time_t" etc
-
 
153
 
-
 
154
## 15/12/2012
-
 
155
  corrected stretchy parenthesis display flaw in \left( { 1 \over 2 } \right)
-
 
156
 
-
 
157
## 24/10/2013
-
 
158
  added forgotten char "/" to \input recognizable characters for "value" like '1/233'
136
 
159
 
137
-5/11/2012 added "\cline{}" as empty command.
-
 
138
    \cline{2-5} will now be ignored and not interpreted as "text"
-
 
139
    the horizontal line in matrix can be imitated by \begin{array}{c.c.c.c-c.}
-
 
140
    meaning a horizontal line under the 4-th row
-
 
141
    This non-latex syntax "{c.c.c.c-c.}" will be ignored in math-with-gifs
-
 
142
-7/11/2012
-
 
143
    replace non-unique id="wims_mathml" by a unique id="wims_mathml..."
-
 
144
-18/11/2012
-
 
145
    corrected some syntax issues only noticed by older compiler
-
 
146
    corrected compiler warnings for "time_t" etc
-
 
147
-15/12/2012
-
 
148
    corrected stretchy parenthesis display flaw in \left( { 1 \over 2 } \right)
-
 
149
-24/10/2013
-
 
150
    added forgotten char "/" to \input recognizable characters for "value" like '1/233'
-
 
151
    \input{size}{id}{style}{value}{readonly}
160
    \input{size}{id}{style}{value}{readonly}
152
    \input{10}{0}{background-color:lightblue;color:red;font-size:1.2em}{ 1/234 }{1}
161
    \input{10}{0}{background-color:lightblue;color:red;font-size:1.2em}{ 1/234 }{1}
153
    only interesting if a pre_filled_in input_field is needed...
162
  only interesting if a `pre_filled_in input_field` is needed...
154
    still problems with chars '>' '<' because they are converted into \lt \gt in wims_mathml.cc
163
  still problems with chars '>' '<' because they are converted into \lt \gt in wims_mathml.cc
-
 
164
 
155
-22/11/2013
165
## 22/11/2013
156
    added quick fix
166
  added quick fix
157
    \underrightarrow{123456789}
167
  \underrightarrow{123456789}
158
    \overrightarrow{12345678}
168
  \overrightarrow{12345678}
-
 
169
 
159
-24/11/2013
170
## 24/11/2013
160
   added \underleftarrow \overleftarrow \underleftrightarrow \overleftrightarrow
171
   added \underleftarrow \overleftarrow \underleftrightarrow \overleftrightarrow
-
 
172
 
161
-25/11/2013
173
## 25/11/2013
162
    in extra arrows: forgotten to add "wims_mathml_free_string($2);"
174
  in extra arrows: forgotten to add `wims_mathml_free_string($2);`
163
    TODO: check if these can be harmonized eg made more generic
175
  TODO: check if these can be harmonized eg made more generic
-
 
176
 
164
-25/11/2013
177
## 25/11/2013
165
    Harmonized UNDERARROW OVERARROW ; to add more just
178
  Harmonized UNDERARROW OVERARROW ; to add more just
-
 
179
 
166
    "\\my_new_under_Arrow" {yylval = wims_mathml_copy_string("&some_unicode_arrow;");  return UNDERARROW;}
180
  "\\my_new_under_Arrow" {yylval = wims_mathml_copy_string("&some_unicode_arrow;");  return UNDERARROW;}
167
    "\\my_new_over_Arrow"  {yylval = wims_mathml_copy_string("&some_unicode_arrow;");  return OVERARROW; }
181
  "\\my_new_over_Arrow"  {yylval = wims_mathml_copy_string("&some_unicode_arrow;");  return OVERARROW; }
168
    added as proof of concept:
182
    added as proof of concept:
169
    \overrightharpoonup
183
    \overrightharpoonup
170
    \overrightharpoondown
184
    \overrightharpoondown
171
    \underrightharpoonup
185
    \underrightharpoonup
172
    \underrightharpoondown
186
    \underrightharpoondown
173
 
187
 
174
-23/12/2013
188
## 23/12/2013
175
    - added new environment '\begin{html} any_valid_html_text \end{html}'
189
  - added new environment '\begin{html} any_valid_html_text \end{html}'
176
    - corrected (W3C) mathml string output for '\input{size}{id}{style}{value}{readonly}'
190
  - corrected (W3C) mathml string output for '\input{size}{id}{style}{value}{readonly}'
177
    - added str_replace() to replace '\lt' and '\gt' from SVG-text or HTML-text into  '<' and '>'
191
  - added str_replace() to replace '\lt' and '\gt' from SVG-text or HTML-text into  '<' and '>'
178
    - corrected SVG environment (trouble with \lt \gt)
192
  - corrected SVG environment (trouble with \lt \gt)
179
 
193
 
180
    We now use the 'W3C correct' annotations for embedding HTML / SVG in XML:
194
We now use the 'W3C correct' annotations for embedding HTML / SVG in XML:
-
 
195
 
181
    <semantics><annotation-xml encoding="application/xhtml+xml"> any_valid_html_text </annotation-xml></semantics>
196
    <semantics><annotation-xml encoding="application/xhtml+xml"> any_valid_html_text </annotation-xml></semantics>
182
    <semantics><annotation-xml encoding="SVG1.1"> 		 any_valid_svg_text  </annotation-xml></semantics>
197
    <semantics><annotation-xml encoding="SVG1.1">      any_valid_svg_text  </annotation-xml></semantics>
183
 
198
 
184
    Example:
199
  Example:
185
    my homebrew 'input_pseudo_latex'
200
  my homebrew 'input_pseudo_latex'
-
 
201
 
186
    \frac{ \input{2}{0}{color:red}{?}{0} }{ 1234 }
202
    \frac{ \input{2}{0}{color:red}{?}{0} }{ 1234 }
187
    is equivalent to:
203
  is equivalent to:
-
 
204
 
188
    \frac{ \begin{html}<input size='2' id='mathml0' style='color:red' value='?' />\end{html} }{ 1234 }
205
    \frac{ \begin{html}<input size='2' id='mathml0' style='color:red' value='?' />\end{html} }{ 1234 }
-
 
206
 
-
 
207
  In the html/svg environment, any thing goes, like the square root of an image...
189
 
208
 
190
    In the html/svg environment, any thing goes, like the square root of an image...
-
 
191
    \sqrt{ \begin{html} <img src="my_image.gif" alt="noalt" /> \end{html} }
209
    \sqrt{ \begin{html} <img src="my_image.gif" alt="noalt" /> \end{html} }
192
 
210
 
193
    These are all -of course- incompatible with Latex !
211
  These are all -of course- incompatible with Latex!
194
-25/12/2013
-
 
195
    -add 'xmlns="http://www.w3.org/1999/xhtml"' to <input />
-
 
196
    -remove the <mn></mn> around <input /> : no longer needed
-
 
197
 
212
 
-
 
213
## 25/12/2013
-
 
214
  - add 'xmlns="http://www.w3.org/1999/xhtml"' to <input />
-
 
215
  - remove the `<mn></mn>` around `<input /> `: no longer needed
198
    \input{5}{0}{color:red}{?}{0}
216
    `\input{5}{0}{color:red}{?}{0}`
199
    gets translated into:
217
    gets translated into:
200
 
218
 
201
    <semantics>
219
        <semantics>
202
	<annotation-xml encoding="application/xhtml+xml">
220
            <annotation-xml encoding="application/xhtml+xml">
203
	    <input type="text" xmlns="http://www.w3.org/1999/xhtml" size="5" id="mathml0" value="?" style="color:red" />
221
                <input type="text" xmlns="http://www.w3.org/1999/xhtml" size="5" id="mathml0" value="?" style="color:red" />
204
	</annotation-xml>
222
            </annotation-xml>
205
    </semantics>
223
        </semantics>
206
 
224
 
207
    If MathJax fixes it's bug concering the 'encoding' , the input-field will work natively in Chrome+MathJax extension...
225
If MathJax fixes it's bug concering the 'encoding', the input-field will work natively in Chrome+MathJax extension...
-
 
226
 
208
-26/12/2013
227
## 26/12/2013
209
    Fixing MathJax inputfield bug by using a 'textarea' instead of a 'input'
228
  Fixing MathJax inputfield bug by using a 'textarea' instead of a 'input'
-
 
229
 
210
    -Corrected 'rowlines' in 'array' environment (using 'none' instead of '')
230
  - Corrected 'rowlines' in 'array' environment (using 'none' instead of '')
211
     MathJax actually shows rowlines when rowlines="" ...
231
     MathJax actually shows rowlines when rowlines="" ...
212
 
232
 
213
    -Using a 'pre-styled textarea' as inputfield look-alike  : fixing the compatibility / bug issue with MathJaX in Chrome
233
  - Using a 'pre-styled textarea' as inputfield look-alike  : fixing the compatibility / bug issue with MathJaX in Chrome
214
     \input{4}{0}{color:red}{1234}{1}
234
  `\input{4}{0}{color:red}{1234}{1}`
215
     gets translated into:
235
  gets translated into:
-
 
236
 
216
     <semantics>
237
        <semantics>
217
      <annotation-xml encoding="application/xhtml+xml">
238
            <annotation-xml encoding="application/xhtml+xml">
218
       <textarea xmlns="http://www.w3.org/1999/xhtml" cols="4" rows="1" id="mathml0" style="vertical-align:middle;overflow:hidden;resize:none;color:red"  readonly="readonly">
239
                <textarea xmlns="http://www.w3.org/1999/xhtml" cols="4" rows="1" id="mathml0" style="vertical-align:middle;overflow:hidden;resize:none;color:red"  readonly="readonly">
219
         1234
240
                    1234
220
       </textarea>
241
                </textarea>
221
      </annotation-xml>
242
            </annotation-xml>
222
     </semantics>
243
        </semantics>
223
 
244
 
224
NOTE: revert to inputfields when MathJax is upgraded regarding usage of (X)HTML in MathML.
245
NOTE: revert to inputfields when MathJax is upgraded regarding usage of (X)HTML in MathML.
225
-28/12/2013
-
 
226
    Corrected non-stretchy perentheses
-
 
227
    wims_mathml.y: setting all LEFT/RIGHT delimiters to <mo stretchy="true">
-
 
228
 
246
 
229
-18/1/2014
247
## 28/12/2013
230
    added \limit : does nothing
248
  Corrected non-stretchy perentheses
231
    example: \int \limit_{123}^{123} is equal to \int_{123}^{123}
-
 
232
    note: in latex \limit will center the text above and/or under the symbol (\int,\wedge etc)
-
 
233
    If a identical behaviour (centered) is needed, use:
249
  wims_mathml.y: setting all LEFT/RIGHT delimiters to
234
    \underset{123}{ \overset{123} \int }
250
    <mo stretchy="true">
235
 
251
 
-
 
252
## 18/1/2014
-
 
253
  added \limit : does nothing
-
 
254
 
-
 
255
  example: `\int \limit_{123}^{123}` is equal to `\int_{123}^{123}`
-
 
256
 
-
 
257
  note: in latex \limit will center the text above and/or under the symbol (\int,\wedge etc)
-
 
258
 
-
 
259
  If a identical behaviour (centered) is needed, use:
-
 
260
    \underset{123}{ \overset{123} \int }
-
 
261
 
236
-9/3/2014
262
## 9/3/2014
237
    added \char44 == &#44 (bug 8461)
263
  added \char44 == &#44 (bug 8461)
-
 
264
 
238
-4/3/2015
265
## 4/3/2015
239
added {"\ {0,5}[a-zA-Z0-9#\ :\-\_\+\=\(\)\[\]\@\~\!\#\$\%\^\&\*\/\,;.*\^\?]{0,250}\ {0,5}"}
266
added `{"\ {0,5}[a-zA-Z0-9#\ :\-\_\+\=\(\)\[\]\@\~\!\#\$\%\^\&\*\/\,;.*\^\?]{0,250}\ {0,5}"}`
240
to recognizable chars in input
267
to recognizable chars in input
241
-5/3/2015 Simplified input "regex"  to "\\input{"\ {0,5}[0-9]{1,3}\ {0,5}"}{"*.*"}{"*.*"}{"*.*"}{"\ {0,3}[0-1]\ {0,3}"}"
-
 
242
-5/3/2015 last commit no good : multiple inputs in a single latex command are not recognized (??)
-
 
243
	 revert to 4/3
-
 
244
09-06-2015: add textcolor
-
 
245
- size font-size:1.0em; in inputfield
-
 
246
26/09/2015: now all mathcal fonts exist.
-
 
247
 
268
 
-
 
269
## 5/3/2015
248
30/09/2015: FOR TESTING: added a span element 'font-size=1em' around the math and set default tex-size=100% in mathml.c
270
Simplified input "regex"  to `"\\input{"\ {0,5}[0-9]{1,3}\ {0,5}"}{"*.*"}{"*.*"}{"*.*"}{"\ {0,3}[0-1]\ {0,3}"}"`
-
 
271
 
-
 
272
## 5/3/2015 last commit no good
-
 
273
multiple inputs in a single latex command are not recognized (??)
-
 
274
  revert to 4/3
-
 
275
 
-
 
276
## 09-06-2015: add textcolor
-
 
277
- size font-size:1.0em; in inputfield
249
 
278
 
-
 
279
## 26/09/2015
-
 
280
now all mathcal fonts exist.
-
 
281
 
-
 
282
## 30/09/2015
-
 
283
FOR TESTING: added a span element 'font-size=1em' around the math and set default tex-size=100% in mathml.c
-
 
284
 
-
 
285
## 30/04/2016
250
30/04/2016: in MathJaX V2.6 the issue with the inputfield in mathml seems to be resolved.
286
In MathJaX V2.6 the issue with the inputfield in mathml seems to be resolved.
251
Switching back from "textarea" to "inputfield"
287
Switching back from "textarea" to "inputfield"
252
Note+todo: latest html5 options for "input" are not yet implemented.
-
 
253
 
-
 
254
27/10/2016 : revert to textarea , because of some bug in Safari.
-
 
255
	     Mathjax can not cure this browser error:
-
 
256
	     https://github.com/mathjax/MathJax/issues/1644
-
 
257
	     the textarea will ignore an "enter" (keycode 13)  and will be in everyday usage similar to an input-field
-
 
258
	     revert to inputfield when Safari (and possibly other Webkit browsers) have better support
-
 
259
	     (but this willnot happen in the near future, I'm afraid...)
-
 
260
	     At the same time "exec.c" is modified: it will activate Mathjax for all non-real-gecko-browsers.
-
 
261
 
-
 
262
22/2/2017 ; fix for the pari [version > 2.9.0] printtex output "\*"
-
 
263
	    pari: printtex(35*x^6 - 8*x + 3) --> 35\*x^6  - 8\*x  + 3
-
 
264
	    "\\*"      {yylval=wims_mathml_copy_string("&nbsp;"); return MI;}
-
 
265
23/2/2017 pari printtex " \*" --> &InvisibleTimes;
-
 
266
08/05/2017 add ; in code as &#x
-
 
267
15/05/2017
-
 
268
added "_" as non-latex code for array environment.
-
 
269
	    latex usage:
-
 
270
\begin{array}{c|c:c|c -._.-.}
-
 
271
1 & 2 & 3 & 4 \\
-
 
272
1 & 2 & 3 & 4 \\
-
 
273
1 & 2 & 3 & 4 \\
-
 
274
1 & 2 & 3 & 4 \\
-
 
275
1 & 2 & 3 & 4 \\
-
 
276
1 & 2 & 3 & 4 \\
-
 
277
\end{array}
-
 
278
 
-
 
279
meaning:
-
 
280
 solid vertical lines between columns 1,2
-
 
281
 dashed 	vertical line between 2,3
-
 
282
 solid vertical lines between columns 3,4
-
 
283
 
-
 
284
 solid horizontal line between row 1,2
-
 
285
 no horizontal line between row 2,3
-
 
286
 dashed horizontal line between row 3,4
-
 
287
 no horizontal line between row 4,5
-
 
288
 solid horizontal line between row 5,6
-
 
289
 
288
 
-
 
289
Note+todo: latest html5 options for "input" are not yet implemented.
-
 
290
 
-
 
291
## 27/10/2016
-
 
292
revert to textarea, because of some bug in Safari.
-
 
293
  Mathjax can not cure this browser error:
-
 
294
  [MathJax issue 1644](https://github.com/mathjax/MathJax/issues/1644)
-
 
295
 
-
 
296
The textarea will ignore an "enter" (keycode 13) and will be in everyday usage similar to an input-field
-
 
297
  revert to inputfield when Safari (and possibly other Webkit browsers) have better support
-
 
298
  (but this will not happen in the near future, I'm afraid...)
-
 
299
  At the same time "exec.c" is modified: it will activate Mathjax for all non-real-gecko-browsers.
-
 
300
 
-
 
301
## 22/2/2017
-
 
302
fix for the pari [version > 2.9.0] printtex output "\*"
-
 
303
 
-
 
304
  pari: printtex(35*x^6 - 8*x + 3) --> 35\*x^6  - 8\*x  + 3
-
 
305
  "\\*"      {yylval=wims_mathml_copy_string("&nbsp;"); return MI;}
-
 
306
 
-
 
307
## 23/2/2017
-
 
308
 pari printtex " \*" --> &InvisibleTimes;
-
 
309
 
-
 
310
## 08/05/2017
-
 
311
 add ; in code as &#x
-
 
312
 
-
 
313
## 15/05/2017
-
 
314
added `_` as non-latex code for array environment.
-
 
315
 
-
 
316
latex usage:
-
 
317
 
-
 
318
    \begin{array}{c|c:c|c -._.-.}
-
 
319
    1 & 2 & 3 & 4 \\
-
 
320
    1 & 2 & 3 & 4 \\
-
 
321
    1 & 2 & 3 & 4 \\
-
 
322
    1 & 2 & 3 & 4 \\
-
 
323
    1 & 2 & 3 & 4 \\
-
 
324
    1 & 2 & 3 & 4 \\
-
 
325
    \end{array}
-
 
326
 
-
 
327
meaning:
-
 
328
 
-
 
329
    solid vertical lines between columns 1,2
-
 
330
    dashed  vertical line between 2,3
-
 
331
    solid vertical lines between columns 3,4
-
 
332
 
-
 
333
    solid horizontal line between row 1,2
-
 
334
    no horizontal line between row 2,3
-
 
335
    dashed horizontal line between row 3,4
-
 
336
    no horizontal line between row 4,5
-
 
337
    solid horizontal line between row 5,6
-
 
338
 
290
NOTE: the problem is the in mathml all attributes must be known before the actual table can be filled...so all layout information must be derived from the {c|c:c|c -._.-.}
339
NOTE: the problem is the in mathml all attributes must be known before the actual table can be filled...so all layout information must be derived from the `{c|c:c|c -._.-.}`
-
 
340
 
291
<mtable rowspacing="0.5ex" columnalign="center center center center" columnlines="solid dashed solid" rowlines="solid none dashed none solid none">
341
    <mtable rowspacing="0.5ex" columnalign="center center center center" columnlines="solid dashed solid" rowlines="solid none dashed none solid none">
-
 
342
 
292
To solve this in itex2mml/wims_mathml one must store the mathml strings into ca 6 variables...and print these when the \end{array is found...
343
To solve this in itex2mml/wims_mathml one must store the mathml strings into ca 6 variables...and print these when the \end{array is found...
293
 
344
 
-
 
345
## 17/05/2017
294
17/05/2017  a fix for \hline incompatibility between real latex and wims_mathml
346
a fix for \hline incompatibility between real latex and wims_mathml
-
 
347
 
-
 
348
`\hline` is now ignored (just an empty string...`\hline` never had a real meaning (ROWSEP) in wims_mathml)
-
 
349
  an array now can use both `\hline` and the "non-latex" syntax for horizontal lines `(-._)`
-
 
350
  the `\hline` will give the correct separation line in math-image-mode.
-
 
351
  `\cr \tabularnewline` are unchanged...giving 'ROWSEP'
295
 
352
 
296
	    \hline is now ignored (just an empty string...\hline never had a real meaning (ROWSEP) in wims_mathml)
-
 
297
	    an array now can use both "\hline" and the "non-latex" syntax for horizontal lines (-._)
-
 
298
	    the \hline will give the correct separation line in math-image-mode.
-
 
299
	    \cr \tabularnewline are unchanged...giving 'ROWSEP'
-
 
300
note:
353
note:
-
 
354
 
301
find ~/public_html/modules/[EHU]* -type f -name "*def" -exec grep -H "\\hline" "{}" ";"
355
    find ~/public_html/modules/[EHU]* -type f -name "*def" -exec grep -H "\\hline" "{}" ";"
302
will find only one hit: U1/algebra/docsyslin.fr/doc/1/exgauss.def
356
will find only one hit: U1/algebra/docsyslin.fr/doc/1/exgauss.def
303
 
357
 
-
 
358
## 31/5/2017: bug in MathJax
304
31/5/2017  bug in MathJax :  rowlines="" will show rowlines . So we explicitly declare rowlines=" none "
359
rowlines="" will show rowlines. So we explicitly declare rowlines=" none ".
305
 
360
 
306
27/6/2017 jm.evers
361
## 27/6/2017 [jm.evers]
307
introduced some accents in "math mode"
362
introduced some accents in "math mode"
308
LaTeX 	Description
363
LaTeX   Description
-
 
364
 
309
\`{o} 	grave accent
365
    \`{o}   grave accent
310
\'{o} 	acute accent
366
    \'{o}   acute accent
311
\^{o} 	circumflex
367
    \^{o}   circumflex
312
\"{o} 	umlaut, trema or dieresis
368
    \"{o}   umlaut, trema or dieresis
313
\H{o} 	long Hungarian umlaut (double acute)
369
    \H{o}   long Hungarian umlaut (double acute)
314
\~{o} 	tilde
370
    \~{o}   tilde
315
\c{c} 	cedilla
371
    \c{c}   cedilla
316
\k{a} 	ogonek
372
    \k{a}   ogonek
317
\l{} 	barred l (l with stroke)
373
    \l{}  barred l (l with stroke)
318
\={o} 	macron accent (a bar over the letter)
374
    \={o}   macron accent (a bar over the letter)
319
\b{o} 	bar under the letter
375
    \b{o}   bar under the letter
320
\.{o} 	dot over the letter
376
    \.{o}   dot over the letter
321
\d{u} 	dot under the letter
377
    \d{u}   dot under the letter
322
\r{a} 	ring over the letter
378
    \r{a}   ring over the letter
323
\u{o} 	breve over the letter
379
    \u{o}   breve over the letter
324
\v{s} 	caron/há?ek ("v") over the letter
380
    \v{s}   caron/há?ek ("v") over the letter
325
\t{oo} 	"tie" (inverted u) over the two letters
381
    \t{oo}  "tie" (inverted u) over the two letters
326
\o{} 	slashed o (o with stroke)
382
    \o{}  slashed o (o with stroke)
327
 
-
 
328
 
383
 
329
there is no way to introduce tex-like accents in the text{} / textrm{} command family.
384
there is no way to introduce tex-like accents in the text{} / textrm{} command family.
330
use something like this in "direct exec"
385
use something like this in "direct exec"
331
 
386
 
332
\Huge
387
    \Huge
333
\begin{array}{lll}
388
    \begin{array}{lll}
334
\"{O} & \'{O} & \`{O} \\
389
    \"{O} & \'{O} & \`{O} \\
335
\^{O} & \~{O} & \r{O} \\
390
    \^{O} & \~{O} & \r{O} \\
336
\c{O} & \.{O} & \={O} \\
391
    \c{O} & \.{O} & \={O} \\
337
\k{O} & \b{O} & \d{O} \\
392
    \k{O} & \b{O} & \d{O} \\
338
\O{} & \o{} & \l{} & \\
393
    \O{} & \o{} & \l{} & \\
339
\H{O} &  \t{uu} & \textrm{Hall}\"{o} \; \textrm{means Hallo in Danish ? }
394
    \H{O} &  \t{uu} & \textrm{Hall}\"{o} \; \textrm{means Hallo in Danish ? }
340
\end{array}
395
    \end{array}
341
 
396
 
342
29/6/2017 jm.evers
397
## 29/6/2017 [jm.evers]
343
added:
398
added:
-
 
399
 
344
if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng+1]='\0';
400
  if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng+1]='\0';
345
and removed freeing of $1 by introducing *s1 and freeing this pointer after use (see wims_mathml.y)
401
and removed freeing of `$1` by introducing `*s1` and freeing this pointer after use (see wims_mathml.y)
-
 
402
 
346
The problems are clear on Linux GCC :
403
The problems are clear on Linux GCC :
347
(clang|bison|flex FreeBSD no (!?) problems...)
404
(clang|bison|flex FreeBSD no (!?) problems...)
-
 
405
 
348
MathML: wims_mathml(82765,0x7fff77497000) malloc: *** error for object 0x10e29cb89: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug Image:
406
MathML: wims_mathml(82765,0x7fff77497000) malloc: *** error for object 0x10e29cb89: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug Image:
349
This solution works, but I do not understand why !!
407
This solution works, but I do not understand why !!
350
 
408
 
351
Found probable cause: the ~ was missing , and was causing the freeing due to another match of \~ (I guess...)
409
Found probable cause: the ~ was missing , and was causing the freeing due to another match of \~ (I guess...)
352
 
410
 
353
added user info for implemented arrows,symbols and stuff
411
added user info for implemented arrows,symbols and stuff
354
added Celcius and a few other missing things...
412
added Celcius and a few other missing things...
355
 
413
 
356
1/7/2017
414
## 1/7/2017
357
forgotten \u{}
415
forgotten \u{}
358
11/10/2017 all "e" will be typeset in mathvariant 'normal' as requested:
-
 
359
 
416
 
-
 
417
## 11/10/2017
-
 
418
all "e" will be typeset in mathvariant 'normal' as requested:
-
 
419
 
360
12/10/2017
420
## 12/10/2017
361
added lex macro EULER for 'e' (don't know of another trick to implement...)
421
added lex macro EULER for 'e' (don't know of another trick to implement...)
362
 
422
 
363
19/10/2017
423
## 19/10/2017
364
 delete the modification for EULER
424
 delete the modification for EULER
365
 
425
 
366
30/10/2017
426
## 30/10/2017
367
Correcting odd behaviour in Gecko's mathml : not showing an overline in the fancy themes
427
Correcting odd behaviour in Gecko's mathml : not showing an overline in the fancy themes
368
( plain theme [default] is not affected)
428
(plain theme [default] is not affected)
369
changed the mo-tag "wims_mathml.y" line 1497 (added space)
429
changed the mo-tag "wims_mathml.y" line 1497 (added space)
370
###
430
 
371
WIDEBAR closedTerm {
431
    WIDEBAR closedTerm {
372
  $$ = wims_mathml_copy3("<mover>", $2, "<mo>&#x000AF;</mo></mover>");
432
    $$ = wims_mathml_copy3("<mover>", $2, "<mo>&#x000AF;</mo></mover>");
373
  wims_mathml_free_string($2);
433
    wims_mathml_free_string($2);
374
};
434
    };
375
###
435
 
376
into
436
into
377
<mo> &#x000AF; </mo>
-
 
378
 
437
 
379
11/11/2017
-
 
380
added \it as alternative for \mathit or \emph --> ITALICS
438
    <mo> &#x000AF; </mo>
381
 
439
 
382
13/11/2017
440
## 11/11/2017
383
r12112 | obado | 2017-11-13 12:14:53 +0100 (Mon, 13 Nov 2017) | 1 line
441
added \it as alternative for \mathit or \emph --> ITALICS
384
[minor/css] replace the inline style (span element) "font-size:1em" on mathml by a css class, that can be eventually customised. (use themes/__css/maths.css)
-
 
385
 
442
 
386
3/7/2018 added \Longleftarow [BPR]
443
## 13/11/2017 - r12112 [obado]
-
 
444
replace the inline style (span element) "font-size:1em" on mathml by a css class, that can be eventually customised (use themes/_css/maths.css).
387
 
445
 
-
 
446
## 3/7/2018 [BPR]
-
 
447
added \Longleftarow
-
 
448
 
388
09/04/2018
449
## 09/04/2018
389
add changes included in itex2MML v1.4.10 :
450
add changes included in itex2MML v1.4.10 :
390
https://golem.ph.utexas.edu/~distler/code/itexToMML/revision/64
451
[itexToMML revision 64](https://golem.ph.utexas.edu/~distler/code/itexToMML/revision/64)
-
 
452
 
391
Add some new large math operators (\bigsqcap and \biginterleave)
453
Add some new large math operators (\bigsqcap and \biginterleave)
392
from the MathML3 Operator Dictionary.
454
from the MathML3 Operator Dictionary.
-
 
455
 
393
19/4/2019
456
## 19/4/2019
394
added '\cancel' as alternative syntax for '\slash'...
457
added '\cancel' as alternative syntax for '\slash'...
395
see https://wimsedu.info/?topic=utilisation-de-package-latex-specifique/#post-4941
458
see [wimsedu.info](https://wimsedu.info/?topic=utilisation-de-package-latex-specifique/#post-4941)
396
 
459
 
397
25/8/2019
460
## 25/8/2019
398
added (a few things to sync with KaTeX)
461
added (a few things to sync with KaTeX)
399
\brace,\brack
462
\brace,\brack
-
 
463
 
400
some array shortcuts : \cases,\aligned,\Bmatrix,\Vmatrix,\vmatrix,\pmatrix
464
some array shortcuts : \cases,\aligned,\Bmatrix,\Vmatrix,\vmatrix,\pmatrix
401
 
465
 
402
15/02/2020
466
## 15/02/2020
403
added \not\subset (without spaces)
467
added \not\subset (without spaces)
-
 
468
 
-
 
469
## 22/06/2020 - r15175 [obado]
-
 
470
replace textarea "rows" attribute by a style="width:" so it will work with all font-families (not only monospaces).
-
 
471
+ move inline style of .wims_mathml textarea to themes/_css/maths.css