Bug 77940

Summary: Formatting error when use equation insert on the component '=' in relation operation
Product: LibreOffice Reporter: liangyx25
Component: Formula EditorAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED NOTABUG    
Severity: normal CC: ilmari.lauhakangas, khaled, shimi.chen
Priority: medium    
Version: Inherited From OOo   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 39750    
Attachments: compare on the form of original equation and deduction with bug
"%=" in each line
Example of the bug

Description liangyx25 2014-04-25 17:34:46 UTC
Created attachment 97972 [details]
compare on the form of original equation and deduction with bug

When I spread an equation in several sections such as compoud Section1 = Compound Section2 = Compound Section3 = Compound Section 4 ,and so on.
  That's the process of equation deduction from formular one to another and so on.
  So, for the readability, the operation making 'newline' before the the component '='is inevitable ,then the compound Section2 and following will start in the next line ,break the uniform of the total equation.
  That comes the bug :
     It seems that every component '=' needs two formulars in the left and right around ,which construct an entire equation,but as we have start a new line , the left formular around the original component '=' seems to be left floating and not passing its properties to the next line.       
     And what's more the next line (starting with component '=' and the right formular originally around it) seems not inheritting the properties from the originally entire equation ,then the new started next line (formed by the 'newline'operation) needs a new left formular itself ,but actually the left formular is left above, so it left with an unrecognizable character '?',actually in handstand, in the left . 
    See the attached screenshot for vivid view.
Comment 1 luis 2015-01-01 02:37:40 UTC
Created attachment 111601 [details]
"%=" in each line

"%=" in each line. like this:


%=-(1 over 2 + i {sqrt{3}}over{2})
Comment 2 luis 2015-01-01 02:41:43 UTC
fedora 21 
gnome-shell 3.14

libreoffice
Versión: 4.3.4.1
Id. de compilación: 4.3.4.1-10.fc21
Comment 3 Buovjaga 2015-01-02 10:15:08 UTC
Ok, as we got a "no repro" result, I would like the original reporter to test on LibreOffice version 4.3 or 4.4 RC.

If the problem persists, change back to UNCONFIRMED. If not, change to RESOLVED WORKSFORME. Thanks.
Comment 4 QA Administrators 2015-07-18 17:36:02 UTC Comment hidden (obsolete)
Comment 5 Shimi Chen 2015-07-18 18:42:45 UTC
I can confirm this bug.
Let me try and make the issue more clear:
Starting a math object with the "=" sign makes sense sometimes (mathematically), if you are continuing a calculation from the previous line.

Trying to start a new line with the "=" sign results in an inverse red question mark, as the "=" symbol in LO Math objects expects to have elements on both of it's sides.

This is strongly related to bug 41739, yet not a duplicate of it.

As luis tried to convey, there is a workaround, which is to add a "%" sign before the "=".

I'm setting this to NEW but it could be argued that this is not a bug at all. It all depends on what the project believes the behavior of "=" should be. I personally tend to agree with the reporter, as I also use "=" a lot in new lines. It would be much more convenient for "=" to be rendered regardless of the existence of elements on both sides.
Comment 6 Shimi Chen 2015-07-18 18:43:20 UTC
Created attachment 117315 [details]
Example of the bug
Comment 7 QA Administrators 2016-09-20 10:18:21 UTC Comment hidden (obsolete)
Comment 8 Shimi Chen 2016-10-31 09:24:59 UTC
Still occurs in 5.2.2.2.0 (Arch Linux x86-64).
Comment 9 QA Administrators 2017-11-01 22:12:33 UTC Comment hidden (obsolete)
Comment 10 QA Administrators 2021-08-31 03:55:41 UTC Comment hidden (obsolete)
Comment 11 QA Administrators 2023-09-01 03:14:45 UTC Comment hidden (obsolete)
Comment 12 ⁨خالد حسني⁩ 2023-09-07 22:14:33 UTC
That is how the StarMath syntax works. You can also use empty curly brackets “{}” before the equal sign.