Rev 14658 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 14658 | Rev 15177 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 |
|
1 | ## 2014-01-04 [GK] |
2 |
|
2 | changed the syntax for the parameter ret_str in wims_mathml.y |
3 |
|
3 | to allow a valid compilation with bison-3.0; the compilation with |
4 |
|
4 | previous versions of bison remains still valid. See the bug report |
5 |
|
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 |
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 | - |
39 | - `\input{size}{id}{style}{readonly}` |
38 |
|
40 | size: 0,999 spaces allowed |
39 |
|
41 | id:0,999 spaces allowed -> mathml0 .. mathml999 (prefix mathml is hardcoded : reply1 = document.getElementById("mathml"+p); |
40 |
|
42 | style: no "" allowed ; spaces allowed |
41 |
|
43 | readonly : 0,1 spaces allowed(0 = write ; 1=readonly) |
42 |
|
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 |
|
48 | * \lpar \rpar usable in createxo for \left( without \right) |
47 |
|
49 | * \lbracket \rbracket usable in createxo for \left[ without \right] |
48 |
|
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 |
|
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("⟼"); return MOL;} |
128 | * "\\longmapsto" {yylval = wims_mathml_copy_string("⟼"); return MOL;} |
126 | "\\Longmapsfrom" {yylval = wims_mathml_copy_string("⟽"); return MOL;} |
129 | * "\\Longmapsfrom" {yylval = wims_mathml_copy_string("⟽"); return MOL;} |
127 | "\\Longmapsto" {yylval = wims_mathml_copy_string("⟾"); return MOL;} |
130 | * "\\Longmapsto" {yylval = wims_mathml_copy_string("⟾"); 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 |
|
138 | added forgotten `^+-=` to recognisable "text value" in inputfield in `\input{size}{id}{style}{value}{readonly}` |
135 | a {value} like |
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 |
|
162 | only interesting if a `pre_filled_in input_field` is needed... |
154 |
|
163 | still problems with chars '>' '<' because they are converted into \lt \gt in wims_mathml.cc |
- | 164 | ||
155 |
|
165 | ## 22/11/2013 |
156 |
|
166 | added quick fix |
157 |
|
167 | \underrightarrow{123456789} |
158 |
|
168 | \overrightarrow{12345678} |
- | 169 | ||
159 |
|
170 | ## 24/11/2013 |
160 | added \underleftarrow \overleftarrow \underleftrightarrow \overleftrightarrow |
171 | added \underleftarrow \overleftarrow \underleftrightarrow \overleftrightarrow |
- | 172 | ||
161 |
|
173 | ## 25/11/2013 |
162 |
|
174 | in extra arrows: forgotten to add `wims_mathml_free_string($2);` |
163 |
|
175 | TODO: check if these can be harmonized eg made more generic |
- | 176 | ||
164 |
|
177 | ## 25/11/2013 |
165 |
|
178 | Harmonized UNDERARROW OVERARROW ; to add more just |
- | 179 | ||
166 |
|
180 | "\\my_new_under_Arrow" {yylval = wims_mathml_copy_string("&some_unicode_arrow;"); return UNDERARROW;} |
167 |
|
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 |
|
188 | ## 23/12/2013 |
175 |
|
189 | - added new environment '\begin{html} any_valid_html_text \end{html}' |
176 |
|
190 | - corrected (W3C) mathml string output for '\input{size}{id}{style}{value}{readonly}' |
177 |
|
191 | - added str_replace() to replace '\lt' and '\gt' from SVG-text or HTML-text into '<' and '>' |
178 |
|
192 | - corrected SVG environment (trouble with \lt \gt) |
179 | 193 | ||
180 |
|
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"> |
197 | <semantics><annotation-xml encoding="SVG1.1"> any_valid_svg_text </annotation-xml></semantics> |
183 | 198 | ||
184 |
|
199 | Example: |
185 |
|
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 |
|
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 |
|
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 |
|
216 | `\input{5}{0}{color:red}{?}{0}` |
199 | gets translated into: |
217 | gets translated into: |
200 | 218 | ||
201 | <semantics> |
219 | <semantics> |
202 |
|
220 | <annotation-xml encoding="application/xhtml+xml"> |
203 |
|
221 | <input type="text" xmlns="http://www.w3.org/1999/xhtml" size="5" id="mathml0" value="?" style="color:red" /> |
204 |
|
222 | </annotation-xml> |
205 | </semantics> |
223 | </semantics> |
206 | 224 | ||
207 |
|
225 | If MathJax fixes it's bug concering the 'encoding', the input-field will work natively in Chrome+MathJax extension... |
- | 226 | ||
208 |
|
227 | ## 26/12/2013 |
209 |
|
228 | Fixing MathJax inputfield bug by using a 'textarea' instead of a 'input' |
- | 229 | ||
210 |
|
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 |
|
233 | - Using a 'pre-styled textarea' as inputfield look-alike : fixing the compatibility / bug issue with MathJaX in Chrome |
214 |
|
234 | `\input{4}{0}{color:red}{1234}{1}` |
215 |
|
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 |
|
247 | ## 28/12/2013 |
230 |
|
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 |
|
249 | wims_mathml.y: setting all LEFT/RIGHT delimiters to |
234 |
|
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 |
|
262 | ## 9/3/2014 |
237 |
|
263 | added \char44 == , (bug 8461) |
- | 264 | ||
238 |
|
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 |
|
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 |
|
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(" "); return MI;} |
- | |
265 | 23/2/2017 pari printtex " \*" --> ⁢ |
- | |
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(" "); return MI;} |
|
- | 306 | ||
- | 307 | ## 23/2/2017 |
|
- | 308 | pari printtex " \*" --> ⁢ |
|
- | 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 |
|
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 |
|
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 |
363 | LaTeX Description |
- | 364 | ||
309 | \`{o} |
365 | \`{o} grave accent |
310 | \'{o} |
366 | \'{o} acute accent |
311 | \^{o} |
367 | \^{o} circumflex |
312 | \"{o} |
368 | \"{o} umlaut, trema or dieresis |
313 | \H{o} |
369 | \H{o} long Hungarian umlaut (double acute) |
314 | \~{o} |
370 | \~{o} tilde |
315 | \c{c} |
371 | \c{c} cedilla |
316 | \k{a} |
372 | \k{a} ogonek |
317 | \l{} |
373 | \l{} barred l (l with stroke) |
318 | \={o} |
374 | \={o} macron accent (a bar over the letter) |
319 | \b{o} |
375 | \b{o} bar under the letter |
320 | \.{o} |
376 | \.{o} dot over the letter |
321 | \d{u} |
377 | \d{u} dot under the letter |
322 | \r{a} |
378 | \r{a} ring over the letter |
323 | \u{o} |
379 | \u{o} breve over the letter |
324 | \v{s} |
380 | \v{s} caron/há?ek ("v") over the letter |
325 | \t{oo} |
381 | \t{oo} "tie" (inverted u) over the two letters |
326 | \o{} |
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 |
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 | ( |
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>¯</mo></mover>"); |
432 | $$ = wims_mathml_copy3("<mover>", $2, "<mo>¯</mo></mover>"); |
373 | wims_mathml_free_string($2); |
433 | wims_mathml_free_string($2); |
374 | }; |
434 | }; |
375 | ### |
435 | |
376 | into |
436 | into |
377 | <mo> ¯ </mo> |
- | |
378 | 437 | ||
379 | 11/11/2017 |
- | |
380 |
|
438 | <mo> ¯ </mo> |
381 | 439 | ||
382 |
|
440 | ## 11/11/2017 |
383 |
|
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 |
|
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 |