Currently, texvcjs replaces
- \omicron with \mathrm{o} and
- \Omicron with \mathrm{O} and
I am not aware of a LaTeX package that defines those macros. LaTeX experts might use o or O respectively.
However, there are UTF-8 symbols for \omicron (U+03BF) and \Omicron (U+039F).
According to the texvcjs logic, the checked output can always be rendered with LaTeX if all specified in the requiredPackages field are loaded.
MathJax natively supports the \omicron macro and I defined in the mathjax texvc extension that \Omicron is rendered as \mathrm{O} to be consistent with the current texvc interpretation.
Now, I basically see two options:
A)
texvcjs does the following replaces
- \omicron with o and
- \Omicron with O.
B)
- texvcjs does not touch \omicron and \Omicron.
- the MathJax texvc extension macro \Omicron is updated to output the UTF-8 symbol U+039F
- texvc reports the pseudo latex package mathoid as in the requiredPackages field.
I see the following pros and cos:
method | pros | cos |
A | easy to implement, generates standard LaTeX | no unicode semantics, texvcjs modifies the code passed to the renderer |
B | no texvcjs modifications, unicode semantics in MathML | code does not compile with LaTeX |
Original request from https://phabricator.wikimedia.org/T197842#5866335:
As far as I can see, we still use texvc to replace e.g. \omicron with \mathrm{o} although MathJax would render \omicron just fine. This means \mathrm{o} is not italic as it should be and cannot be changed with \mathit \mathbf etc. because unknown to the user \mathrm is already specified and e.g. we still remove whitespaces although MathJax would render whitespaces just fine.
The result of the consultation is to proceed with option A.