Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default for mo@symmetric is wrong #469

Closed
dpvc opened this issue May 17, 2013 · 6 comments

Comments

Projects
None yet
2 participants
@dpvc
Copy link
Member

commented May 17, 2013

The default for mo@symmetric should be false but is true in the mml ElementJax code. It should be changed to false.

@fred-wang

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2013

OK, I guess it is easy to fix, but I'm not sure how to write a test that will detect the change (perhaps it's not necessary).

@dpvc

This comment has been minimized.

Copy link
Member Author

commented Feb 8, 2014

A test case could compare a stretchy vertical arrow with symmetric="true" to one without symmetric to see if the results are the same or different (image comparison). Vertical arrows should default to symmetric="false".

@dpvc

This comment has been minimized.

Copy link
Member Author

commented Feb 9, 2014

It turns out that the spec was inconsistent on this (listed the default as both false and true). I asked for clarification on the MathML mailing list, and they indicated it should be "true" (as currently implemented in MathJax). Here is part of the conversation (from David Carlisle):

All the boolean attributes other than symmetric default to false, so in
the operator dictionary interpreting the lack of the property name as
the default or as false comes to the same thing.

For symmetric, now it's clarified as defaulting to true, as written an
operator dictionary could set it to false but the compressed notation
used in appendix C can not express that and so in fact they are all true
and "symmetric" in the table no effect other than a visual hint in the
sample dictionary.

An alternative would be to say that an omitted boolean property name
means false, but then we would have to check whether it needs adding
to more entries eg the vertical arrows which are the majority of
vertically stretchy characters for which currently symmetric isn't
explicit in the table.

So I'm deleting the branch where I made the change, and closing this issue (marking it "expected behavior").

@dpvc dpvc added Expected Behavior and removed Accepted labels Feb 9, 2014

@dpvc dpvc removed this from the Bugfix Version milestone Feb 9, 2014

@dpvc dpvc closed this Feb 9, 2014

@dpvc dpvc added Accepted and removed Expected Behavior labels Feb 10, 2014

@dpvc

This comment has been minimized.

Copy link
Member Author

commented Feb 10, 2014

Well, it turns out that the default really is supposed to be false after all:

Neil later checked the archives and the decision to change the default to false and add entries making it true for brackets in the operator dictionary was deliberate before MathML3. This fits better with arrows and also with the presentation style used for boolean attributes in the appendix (although that could have been changed of course).

so I'm reopening the issue, and will resurrect my path from above.

@dpvc dpvc reopened this Feb 10, 2014

dpvc pushed a commit to dpvc/MathJax that referenced this issue Feb 10, 2014

@dpvc dpvc added this to the Bugfix Version milestone Feb 10, 2014

@dpvc dpvc added Merged and removed In Development labels Feb 10, 2014

@dpvc

This comment has been minimized.

Copy link
Member Author

commented Feb 10, 2014

=> Merged

@dpvc dpvc closed this Feb 10, 2014

dpvc pushed a commit to mathjax/MathJax-test that referenced this issue Apr 21, 2014

@dpvc

This comment has been minimized.

Copy link
Member Author

commented Apr 21, 2014

=> In Test Suite.

MathMLToDisplay/Topics/StretchyChars/issue469.html

@dpvc dpvc added v2.4 and removed Merged labels Jun 30, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.