Created attachment 52281 [details] math_newline_issue.odt Downstream bug may be found at: https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/281053 1) lsb_release -rd Description: Ubuntu 11.10 Release: 11.10 2) apt-cache policy libreoffice-writer libreoffice-writer: Installed: 1:3.4.3-3ubuntu2 Candidate: 1:3.4.3-3ubuntu2 Version table: *** 1:3.4.3-3ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main i386 Packages 100 /var/lib/dpkg/status apt-cache policy libreoffice-math libreoffice-math: Installed: 1:3.4.3-3ubuntu2 Candidate: 1:3.4.3-3ubuntu2 Version table: *** 1:3.4.3-3ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main i386 Packages 100 /var/lib/dpkg/status 3) What is expected to happen in LibreOffice Writer via the Terminal: cd ~/Desktop && wget https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/281053/+attachment/2417117/+files/math_newline_issue.tar.gz && file-roller -h math_newline_issue.tar.gz && cd math_newline_issue && lowriter -nologo math_newline_issue.odt is no upside down question marks are presented in the Math formulas. 4) What happens is the upside down question marks are present erroneously due to "newline" command. If "newline" is preceded or followed by some characters (as +, -, =, which are often needed), some error marks "¿" are obtained, and perhaps only a single line if displayed (it depends on the character and its relative position to "newline"). Examples : a+b_ij = newline = c+d # single line; error mark a+b_ij newline = c+d # two lines; missing "="; error mark a+b_ij newline + c+d # correct behaviour !! The "+" sign does fine after newline... a+b_ij + newline c+d # ... but not before: single line, error mark here a+b_ij = newline c+d # single line, error mark. The "=" sign does bad whether after or before newline
[This is an automated message.] This bug was filed before the changes to Bugzilla on 2011-10-16. Thus it started right out as NEW without ever being explicitly confirmed. The bug is changed to state NEEDINFO for this reason. To move this bug from NEEDINFO back to NEW please check if the bug still persists with the 3.5.0 beta1 or beta2 prereleases. Details on how to test the 3.5.0 beta1 can be found at: http://wiki.documentfoundation.org/QA/BugHunting_Session_3.5.0.-1 more detail on this bulk operation: http://nabble.documentfoundation.org/RFC-Operation-Spamzilla-tp3607474p3607474.html
Reproducible in: lsb_release -rd Description: Ubuntu precise (development branch) Release: 12.04 apt-cache policy libreoffice-impress libreoffice-impress: Installed: 1:3.5.0~beta2-2ubuntu3 Candidate: 1:3.5.0~beta2-2ubuntu3 Version table: *** 1:3.5.0~beta2-2ubuntu3 0 500 http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages 100 /var/lib/dpkg/status
reproduced in 3.6.0 master on Fedora 64 bit 3.4.3 and 3.5.0 beta on Windows XP 32 bit
Math always tries to get a complete expression from a single line[1]. i.e. it needs something standing after "=" or "+" at the same line. So the following formula will work: a+b_ij = {} newline {} = c+d I think it is not a bug... Opinions? [1] Formula parsing code: starmath/source/parse.cxx
Ivan Timofeev, thank you for taking a look at this. Using as a WORKAROUND: {} newline {} is acceptable in the all the cases mentioned in the Description. However, this report is about addressing how the use of newline does not have caveats as per the documentation: http://help.libreoffice.org/Math/Format http://help.libreoffice.org/Math/Entering_Line_Breaks So, any of the original of the examples provided in the Description are valid and should work, but not all do. It would be beneficial for newline be changed to work according to the expectation mentioned in the Description. As well, having newline's idiosyncrasies documented in the meantime would be nice for others who fall down the same hole.
(In reply to comment #5) > Using as a WORKAROUND: > {} newline {} > is acceptable in the all the cases mentioned in the Description. Not always "{} newline {}". You use {} when you need to provide the missing operand of a binary operator. For example, a+b_ij newline = c+d # left-hand side is missing at the second line a+b_ij newline {} = c+d # add {} - OK a+b_ij = newline c+d # right-hand side is missing at the first line a+b_ij = {} newline = c+d # add {} - OK And from my point of view, the requirement - "provide all operands, otherwise there will be the flipped question mark" - is simply awful, it would be a great improvement to get rid of it. newline's behavior will be much more intuitive.
Ivan Timofeev committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f52138deee9e129d0566f06d1d2138b6b159d16a fdo#41739: Math: do not skip "newline" on error
So - newline works everywhere now. That should reduce the number of confused users. :)
Thanks!
Ivan Timofeev committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5f80687188db3a29fb0c3a5fe587aeeb3e13dccd Revert "fdo#41739: Math: do not skip "newline" on error"
Sorry, I have reverted the commit, it causes awful hangs. The newline token needs to be handled in many other places, but I really fear to break the parser again in a more subtle way.
As this bug is not assigned and there has been no activity by the original patch author for months I'm moving this back to NEW.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.