Page MenuHomePhabricator

texvcjs should not replace $\omicron$ with $\mathrm{o}$
Open, LowPublic

Description

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:

methodproscos
Aeasy to implement, generates standard LaTeXno unicode semantics, texvcjs modifies the code passed to the renderer
Bno texvcjs modifications, unicode semantics in MathMLcode 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.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 15 2020, 2:44 PM

@Debenben Can you have a look at the replacement list https://github.com/ag-gipp/texvc-latex/blob/master/texvc.pdf and check if there are further commands, where the replacements generate false results. Just by looking at the PDF, one can, for instance, see that also \Omicron is not italic-ish. I did never realize that because I was not aware of how \omicron is supposed to look. I do relay on your input here;-)

I realized that \Omicron (the uppercase variant) does not render on https://www.tuhh.de/MathJax/test/sample-dynamic.html

@Physikerwelt \Omicron being upright is fine, see https://tex.stackexchange.com/questions/119248.

I would use the unicode-math package for XeLaTeX or LuaLaTeX as reference here, for non-Latin languages we need unicode support anyway. A difference with the uppercase letters is that with LaTeX you get the unicode character 039F which is Greek capital letter omicron and in Wikipedia you get unicode character 004F which is Latin capital letter O, but their appearance is the same.

Physikerwelt triaged this task as Low priority.
Physikerwelt moved this task from Backlog to ready to go on the Texvcjs board.
Physikerwelt removed Physikerwelt as the assignee of this task.Mar 21 2020, 6:20 PM
Physikerwelt updated the task description. (Show Details)
Physikerwelt set Due Date to Apr 3 2020, 10:00 PM.

@Physikerwelt According to this post "omicron not working in latex" from 2015:

The mention of it (\omicron) in the wikibook was an error that has apparently been corrected since you asked the question.

And, as also mentioned in that post, the "Short Math Guide for LaTeX" by Michael Downes (AMS) says:

In the list of lowercase letters there is no omicron because it would be identical in appearance to Latin o.

Based on that, your proposed option A seems to be the right way to go. As a workaround, you may want to consider the unicode-math package that @Debenben mentioned.

Physikerwelt moved this task from Unsorted to All WMF wikis on the Community-consensus-needed board.
Physikerwelt moved this task from Backlog to Next on the User-Physikerwelt board.

@Physikerwelt: Hi, the Due Date set for this open task was two months ago.
Can you please either update or reset the Due Date (by clicking Edit Task), or set the status of this task to resolved in case this task is done? Thanks! :)

Aklapper added a project: Math.Jun 24 2020, 5:53 AM

No reply, hence I reset the Due Date.