Commit Graph

3200 Commits

Author SHA1 Message Date
Enrico Forestieri
9a831200a4 Fix bug #11007
The math color inset inherits the mode of the containing inset.
This mode is inferred by the kind of font in effect. Setting the
right mode allows to insert spaces where these should be allowed.
Another small glitch was that the selection was always parsed in
math mode, so that any space was swallowed, even if the inset would
allow them.
2021-03-01 10:38:02 +01:00
Enrico Forestieri
51ec16b6c7 Fix bug #3751
We lack the necessary font (cmb10) for drawing bold uppercase greek
letters. It would be overkill adding it for this sole purpose, so
adopt the same poor man's bold strategy used with \boldsymbol.
2021-02-28 00:33:43 +01:00
Enrico Forestieri
999831043e Fix bug #3294 2021-02-27 23:31:25 +01:00
Enrico Forestieri
7dc7315e5f Disable direct insertion of multiple spaces in mathed text
Fixes #1311

(cherry picked from commit 8202e4e571)
2021-02-05 22:14:12 +01:00
Enrico Forestieri
12f67ef154 Allow pasting references to mathed
A reference can be directly inserted into mathed but cannot be pasted
because the pasted material is returned in plain text format. This patch
allows getting a string from the cut stack in a suitable format allowing
the math parser to actually create an InsetRef.

Fixes #11539

(cherry picked from commit 22ee249c3e)
2021-02-01 16:49:21 +01:00
Jean-Marc Lasgouttes
9886bf96c1 Move handling of LFUN_COPY to BufferView
It turns out that the code is the same in texted ans mathed and that
whatever is done in InsetTabular is not useful.

This means that we do not need to deal Text::dispatch idiosyncrasies
(in particular forcing the cursor to be visible).

Fix bug #11225.

(cherry picked from commit 9e1db65932)
2021-01-11 16:31:05 +01:00
Enrico Forestieri
21b81bfd1e Fix on-screen display of special math fonts
Make sure that the on-screen representation of the special math fonts
mathbb, mathds, mathfrak, mathcal, and mathscr matches the latex output.
2020-10-30 15:53:35 +01:00
Juergen Spitzmueller
777bf805e2 Revert "Fix #11827"
Not ready yet.

This reverts commit 3a544072a5.
2020-07-31 09:17:34 +02:00
Daniel Ramoeller
3a544072a5 Fix #11827
Keep spacing of math intact.

(cherry picked from commit b521d36bfb)
2020-07-31 08:29:58 +02:00
Enrico Forestieri
79998fdc62 Fix placement of limits with integral signs
Since be836909c5 the positioning of super- and subscripts
for symbol fonts has been broken because the metrics of the
font of the environment (rather than those of the symbol itself)
were used.
2020-07-24 19:09:17 +02:00
Jean-Marc Lasgouttes
67c0ca678b Improve metrics for \limits in display mode
(cherry picked from commit 8d54457dbf)
2020-07-18 22:18:25 +02:00
Juergen Spitzmueller
83d76a66f6 Fix pasting of math grid with more rows in source than target (#11897) 2020-06-30 09:06:40 +02:00
Enrico Forestieri
10e1f90883 Add support for the doublestroke package
This commit adds the mathed command \mathds that selects a
font more appropriate than \mathbb for typesetting the
mathematical symbols for the natural (N), whole numbers (Z),
rational numbers (Q), real numbers (R), complex numbers (C),
and some others.

As in the \mathbb case, only capital letters are supported,
but in addition one can also typeset a symbol often used for
representing the indicator function (\mathds{1}) and the
letters a, h, k.

Fixes bug #11887.
2020-06-12 23:58:32 +02:00
Juergen Spitzmueller
3d0dd488c3 Disable append-column with gathered
Fixes #11812

(cherry picked from commit ed137ee435)
2020-04-05 17:18:15 +02:00
Stephan Witt
058283515a Fix a crash with uninitialized buffer member of MathData
See the details here: https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg210294.html
2020-02-08 16:33:51 +01:00
Jean-Marc Lasgouttes
b7c098c3fa Avoid blinking change tracking cur for math inset.
Since there is a margin above and below the inset, there is no problem
for putting it higher.

Fixes bug #11684.

(cherry picked from commit bf7f4d716c)
2020-01-26 23:17:55 +01:00
Jean-Marc Lasgouttes
0310dcb19e Revert "Set buffer when expanding macro"
This patch is not ready yet. Moreover, change the assertion in
InsetMathGrid::colAlign to a simple test.

As a consequence, math split inset might show a bad alignment in some
situations.

This reverts commit d3fd915662.
2019-11-16 12:04:09 +01:00
Jean-Marc Lasgouttes
f6282dfec7 Be careful before using buffer parameters in colAlign
Make InsetGrid::colAlign a normal method and make it check whether
buffer is valid before using it. This avoids crashes as we have seen
in 2.3.3 (see e.g. #11686).

There is still an assertion so that failure is noticeable before release.

(cherry picked from commit 44816adce6)
2019-10-22 18:10:00 +02:00
Jean-Marc Lasgouttes
d3fd915662 Set buffer when expanding macro
This avoids a crash in InsetMathSplit which uses the buffer() value.

Fixes bug #11686.

(cherry picked from commit 19abf29ea0)
2019-10-22 17:57:52 +02:00
Enrico Forestieri
fe426c2db8 Fix bug 11667
When automatic command termination was added to texstream it was
forgotten to reset its status after a math inset.

(cherry picked from commit 0573bf92e0)
2019-10-01 08:10:46 +02:00
Jean-Marc Lasgouttes
7940263517 Set buffer correctly when deleting column in math grid
This is a followup to ebe6612e.

Fixes bug #11623.

(cherry picked from commit 5915d69eaf)
2019-09-05 13:49:52 +02:00
Juergen Spitzmueller
7c0d9eb4d9 Fix text direction of references with XeTeX/bidi
Fixes: #11626
(cherry picked from commit 231b36d950)
2019-08-06 10:07:41 +02:00
Jean-Marc Lasgouttes
c047dc64bf Fixup 17571104: really avoid empty numbers in toc
For some reason, I missed this one when trying to fix the bug.

Fixes bug #11423.

(cherry picked from commit 5a22b2e391)
2019-07-07 13:23:45 -04:00
Enrico Forestieri
a2d181905a Fix bug #11586
Do not replace a latex command with the corresponding symbol
in the unicodesymbols file unless it can be encoded in the
document encoding.

The mhchem \ce inset is a text mode environment but allows entering
spaces and mathmode commands. However, even if it doesn't allow unicode
symbols, LyX allows entering them (by copy/paste, for example), causing
latex errors. As a unicode symbol may have a proper latex representation
from the unicodesymbols file, use it instead of the bare symbol. Here, we
don't care about the mode because both text and math mode should be allowed.
For example, the ⟶ symbol is not recognized but its latex representation
(\longrightarrow) is fine. Of course, there may be symbols that are
not recognized anyway, but this is better because they cause explicit
errors from mhchem instead of cryptic iconv errors in case they cannot
be represented in the document encoding.
2019-06-25 22:23:51 +02:00
Enrico Forestieri
f5510a8a8d Fix bug #11552
Do not write supefluous braces in optionals of a macro when saving.
2019-06-25 22:09:12 +02:00
Enrico Forestieri
7998616edb Properly fix #9616
Now all symbols in the unicodesymbols file having a mathcommand
are not wrapped in a \text inset anymore.

(cherry picked from commit 506324ef9d)
2019-06-25 21:41:21 +02:00
Enrico Forestieri
112616a97b Fix bug #10499
The array environment has to be explicitly parsed in math mode.

(cherry picked from commit 1a286c7910)
2019-06-25 21:33:29 +02:00
Enrico Forestieri
11fd6fe43d Fix bug #11595
Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.

(cherry picked from commit 1cb2a443b5)
2019-06-22 21:48:16 +02:00
Jean-Marc Lasgouttes
bc54a55491 Cell in delimiter inset should not be tight
Fixes bug #11337.

(cherry picked from commit 4da19ef833)
2019-05-25 14:15:38 +02:00
Jean-Marc Lasgouttes
23505a8a91 Newly created inline math is not numbered
The bad initialisation created phantom entries in equation ToC

Fixes bug #11423.

(cherry picked from commit 175711046d)
2019-05-13 10:05:33 +02:00
Jean-Marc Lasgouttes
f03c4a2db4 Fixup ad79ac40: reintroduce markers around delimiters
The reasoning behind this change was not correct.

Fixes bug #11516.

(cherry picked from commit 3b58e38dc6)
2019-04-10 14:39:09 +02:00
Jean-Marc Lasgouttes
e8d96cb9b1 Fix display of gather in lefteqn mode
The column is flushed when the display of equations is flushed.

Not sure what to do with RtL languages.

Fixes bug 11324.

(cherry picked from commit 7cb0284a3f)
2019-01-07 11:41:35 +01:00
Jean-Marc Lasgouttes
85e693806e Allow toggling (no)limits only after mathop symbol
In particular, introduce the new InsetMathScript::allowLimits method
that checks for that and honor it in getStatus/ddoDispatch.

Do the same for (over|under)brace

(cherry picked from commit 7b7ed64a0e)
(cherry picked from commit 6cfd733dea)
2019-01-05 15:18:09 +01:00
Enrico Forestieri
e65e84878f Amend [324b8287/lyxgit]
Avoid a crash by checking that a cell is not empty before
accessing its content.

No status line is needed as this amends a previous commit.
2019-01-02 09:22:56 +01:00
Enrico Forestieri
324b828717 Fix bug 11346
Enclose in braces an optional argument of a math macro when it
starts with an incomplete script inset or ends with a delimiter
size-modifier macro.

(cherry picked from commit 2dcb730026)
2018-12-20 11:57:54 +01:00
Jean-Marc Lasgouttes
ebe6612e26 Make sure inset buffer is correctly set in math grid
Make MathData::setBuffer set the buffer of insets that it contains.
Remove corresponding code from InsetMathNest.

update the buffer() property in the following tabular-feature
actions : copy-row, add-row, copy-col, add-col.

(cherry picked from commit 837bcbb043)
2018-12-14 19:39:54 +01:00
Jean-Marc Lasgouttes
0e6cb4e599 Set buffer correctly when changing math space type.
Fixes bug #7747.

(cherry picked from commit 2ec25c8eef)
2018-12-14 19:39:54 +01:00
Enrico Forestieri
eba2f14fa7 Fix display of single-char macro names
Essentially, all characters are allowed in single-char macro names.

Part of #11158.

(cherry picked from commit 95bc273a59)
2018-12-14 12:05:40 +01:00
Richard Heck
e694199837 Fix bug 9798.
Nameref support for math references.

(cherry picked from commit 5f6332bf46)
2018-12-11 17:58:07 -05:00
Enrico Forestieri
704eede69b Fix bug #11367
The overset, underset, and stackrel insets behave like the script
rather than the fraction inset.
2018-11-12 21:17:03 +01:00
Richard Kimberly Heck
7697bf7888 Revert "Fix bug #9348"
The fix changes behavior too much for stable. My bad.

This reverts commit e94ea46be7.
2018-10-08 16:27:47 -04:00
Enrico Forestieri
e94ea46be7 Fix bug #9348
(cherry picked from commit 503f7db224)
2018-10-06 12:43:09 +02:00
Richard Kimberly Heck
e67c119d80 Do not step equation numbers in deleted equations.
(cherry picked from commit df5805917b)
2018-10-04 00:20:19 -04:00
Jean-Marc Lasgouttes
ebd4e25588 Avoid crash with cursor down in math
This can happen when the inset that contains the cursor is outside of
the screen.

THis is only a workaround. The real solution would be a
processUpdateFlags(FitCursor) call, but the code is not ready for that
yet.

Fixes bug #11296.

(cherry picked from commit 17576fb83b)
2018-09-21 18:43:53 +02:00
Jean-Marc Lasgouttes
97f3f18007 Avoid space before completion in mathed
This can happen if the current element has space after it (e.g. before
a relation).

Fixes bug #11283.

(cherry picked from commit 1b5ccecd65)
2018-09-21 18:41:08 +02:00
Jean-Marc Lasgouttes
741d81ecc6 Do not remove character at start of paragraph when cutting
The part of code that removed space at start of paragraph have been
there forever, but its intent is unclear. For example, cutting text at
the end of a paragraph will lead to remove space at the start of this
same paragraph.

The removal of this functionality is offset by a rewrite of DEPM that
makes it more thorough.

Fixes bug #10503.

(cherry picked from commit e4dba53232)
2018-09-18 22:57:41 +02:00
Jean-Marc Lasgouttes
014227cc40 Fixes to input method handling
The goal of this patch is to make "self-insert <string>" act as a
sequence of individual self-insert calls. Once it is done, the
insertion of the commit string in GuiWorkArea can use that, which
fixes the issues described in bug 11183.

1/ in InsetMathNest, SELF_INSERT is rewritten to be a proper loop of
   interpretChar, instead of inserting the string as characters. This
   solves the issue of interpreting ^ properly.

2/ the text version does not need to be changed (the loop is rewritten
   using a range, though).

3/ Then {{{GuiWorkArea::inputMethodEvent}}} is changed to invoke
   directly self-insert. This removes the update issues.

Fixes bug 11183.

(cherry picked from commit ad5548cfe3)
2018-09-09 19:43:18 +02:00
Juergen Spitzmueller
d762d55558 Fix problem of unwanted spaces caused by macro definitions
Patch by Gilbert J. M. Forkel

Fixes: #11216
(cherry picked from commit 372712cfd9)
2018-07-31 08:49:50 +02:00
Jean-Marc Lasgouttes
874ad18178 Set caret height correctly for cells inside math rows
The code in 90cfe4ec3 only handled the cells which metrics are
computed directly, and missed those who were linearized inside a MathRow.

To fix this, we use the fact that all the positions in a math row have
the same height and make MathRow::metrics return a boolean indicating
whether it contains a caret for a given bufferview.

Fixes bug #11153.

(cherry picked from commit a3868e40a4)
2018-05-24 17:28:49 +02:00
Jean-Marc Lasgouttes
1c8a53458a Reset dim width when computing MathRow metrics
This was dropped by mistake in 7bcb78a77.

Fixes bug #11152.

(cherry picked from commit c58b914c80)
2018-05-22 20:28:12 +02:00