https://bugs.documentfoundation.org/show_bug.cgi?id=155358
Bug ID: 155358
Summary: Render incomplete matrices while writing
Product: LibreOffice
Version: 7.5.1.2 release
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: enhancement
Priority: medium
Component: Formula Editor
Assignee: [email protected]
Reporter: [email protected]
Description:
______________________
1. PROBLEM DESCRIPTION
Currently, LibreOffice Math equations will not render incomplete parts. This is
most painful when writing equations with large matrices, since the live-preview
is effectively disabled until writing the matrix is finished.
For other structures, writing some scaffolding before filling in the contents
can help, for instance writing
left( right)
before filling in the contents between the parentheses. But for a matrix,
writing
left(matrix{
m_1' E # 0 # 0 # 0 # dotsaxis ##
0 # I_1' # 0 # 0 # dotsaxis ##
0 # 0 # m_2 E
}right)
still won't render, was matrices are only rendered when all rows have the same
length.
________________________
2. SUGGESTED ENHANCEMENT
Instead it could be rendered as
left(matrix{
m_1' E # 0 # 0 # 0 # dotsaxis ##
0 # I_1' # 0 # 0 # dotsaxis ##
0 # 0 # m_2 E # <?> # <?>
}right)
and something like
left(matrix{
m_1' E # 0 # 0 # 0 # dotsaxis ##
0 # I_1' # 0 # 0 # dotsaxis ##
}right)
could be rendered as either
left(matrix{
m_1' E # 0 # 0 # 0 # dotsaxis ##
0 # I_1' # 0 # 0 # dotsaxis
}right)
or
left(matrix{
m_1' E # 0 # 0 # 0 # dotsaxis ##
0 # I_1' # 0 # 0 # dotsaxis ##
<?> # <?> # <?> # <?> # <?>
}right)
________________________________________
3. WORKAROUND AND WHY IT IS INSUFFICIENT
This *can* be solved by preparing a scaffolding
left(matrix{
. # . # . # . # . # . ##
. # . # . # . # . # . ##
. # . # . # . # . # . ##
. # . # . # . # . # . ##
. # . # . # . # . # .
}right)
but is very inconvenient, and doesn’t work if during writing it turns out that
an additional column has to be added, especially in the middle. Additionally,
creating such a large scaffolding structure breaks the flow of writing a lot
more than a simpler construct like left( right).
The latter scaffoldings in many cases are even already supported as keyboard
shortcuts, such as
Shift+F10, B, H
to insert
left( <?> right)
and select the <?> placeholder. No such thing exists for matrices, for which a
whole wizard would be needed.
_______________________________________________
4. ADVANTAGE OF HANDLING SPECIAL CASE OF MATRIX
Similar issues arise for many other constructs. While eliminating the need for
a "scaffolding first" style of writing equations would be desirable, it would
results in unclear situations, especially when editing in the middle of an
equation.
For instance,
f(t) = sin(a +
could reasonably be rendered as
f(t) = sin(a + <?>)
but when encountering
f(t) = sin(a + cos(c + d)
its not clear if rendering this as
f(t) = sin(a + cos(c + d) )
would be a desirable change.
By contrast, filling up a matrix with <?> until it is a complete rectangular
matrix affects only the rendering of one component of the equation, and will at
worst result in shifting expression from one column to the next, when another
column is added in the middle.
___________
ATTACHMENTS
The enhancement request text with the equations being rendered:
* text_with_euqations.odt
* text_with_euqations.pdt
Steps to Reproduce:
In LibreOffice Math, write
matrix{
a # b # c ##
d # e ##
f
}
Actual Results:
Only a single ? is rendered, i.e. the matrix is not rendered at all
effectively.
Expected Results:
Instead it could be rendered as if the user had written
In LibreOffice Math, write
matrix{
a # b # c ##
d # e # <?> ##
f # <?> # <?>
}
Reproducible: Always
User Profile Reset: Yes
Additional Info:
Tested with:
Version: 7.5.1.2 (X86_64) / LibreOffice Community
Build ID: fcbaee479e84c6cd81291587d2ee68cba099e129
CPU threads: 12; OS: Linux 5.3; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF8); UI: en-US
Flatpak
Calc: threaded
Version: 7.3.6.2 / LibreOffice Community
Build ID: 30(Build:2)
CPU threads: 12; OS: Linux 5.3; UI render: default; VCL: gtk3
Locale: de-AT (en_US.UTF8); UI: en-US
Calc: threaded
--
You are receiving this mail because:
You are the assignee for the bug.