Commit Graph

130 Commits

Author SHA1 Message Date
Richard Kimberly Heck
caf8708e5f Backport fix for #11223. From Enrico. 2022-11-22 21:16:40 -05: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
Jean-Marc Lasgouttes
4a935ed768 Fix metrics of math characters with 0 width
It seems that QTextLayout does not handle properly a single character
with 0 width. This breaks drawing of things like \not.

Actually the problem had been worked around already in lib/symbol. The
work around can therefore by removed now.
[additionally, remove extra spacing from \mapsto, \Mapsto]
2017-01-20 10:53:06 +01:00
Guillaume Munch
f77e5733cf Set mathrel for a few more lib/symbols
Improve display of textmode macros in lib/symbols
2017-01-03 20:35:41 +01:00
Guillaume Munch
e02f287f8b Add InsetMathClass to the list of math completions 2016-12-20 00:15:59 +01:00
Guillaume Munch
a592f6dc06 Fix display of \slash inside different fonts
Also give slash a proper symbol
2016-11-21 00:08:11 +01:00
Guillaume Munch
a9eb87a89d Correct computation of math font size
Move math style to FontInfo and compute the font sizes for scriptstyle and
scriptscriptstyle according to standard proportions: 0.73 and 0.55.

This is simpler and more accurate. It also fixes the font size of
${\scriptscriptstyle {\textstyle A}}A$ which exposed the limitations of the
previous approach.
2016-11-21 00:02:35 +01:00
Guillaume Munch
a78c0457ac lib/symbols: fix \arrownot 2016-11-17 22:47:26 +01:00
Jean-Marc Lasgouttes
7335ee8ea3 Cleanup of lib/symbols
Try as far as possible to use the same definitions as in the LaTeX files.

An example of that is the definition and subsequent use of \joinrel,
\relbar and \Relbar.

This is mostly Guillaume's work.
2016-11-17 08:48:32 +01:00
Guillaume Munch
be836909c5 Display properly math characters that behave like symbols
* set up a replacement of *, -, and : by the adequate symbols (#9893)

* fix the wrong character selection and operator spacing in \text mode

* hide some internal symbols from the auto-completion.
2016-11-13 20:06:35 +01:00
Guillaume Munch
ad7e2435cf Fix display of some math symbols
* Fix spacing in lib/symbols after recent commits about math spacing, as well as
  older spacing issues (e.g. \Join).

* InsetMathKern now uses the same em value as other math length commands.

What is nice is that the kerning amount now matches the ones found in the
packages definition (modulo 10mu that lyx currently adds between relations).

Testcase: $\CheckedBox\LEFTcircle\RIGHTcircle\photon\gluon\vcentcolon\dblcolon\Coloneqq\eqcolon\models\hookrightarrow\bowtie\hookleftarrow\Join\APLinv\neq$
2016-11-13 20:04:51 +01:00
Guillaume Munch
143a177ad3 Copy bit of documentation from Georg's commit log 2016-10-27 21:28:49 +02:00
Guillaume Munch
120f03fd8e Copy bit of documentation from MathFactory.cpp 2016-10-27 21:10:18 +02:00
Enrico Forestieri
2aa930bbe8 Fix display and export of some latex macros
Fixes #9742.
2016-09-10 18:32:44 +02:00
Georg Baum
338cef2a97 Fix regression of 88603655
The XHTML entries were added in the wrong field, if they are given we need
extra xhtml requires. The order is inconsistent, there are discussions on the
list about that but for now I'll use the existing order to fix the export tests.

The format of the lib/symbols file does not support "" for empty strings.
One would have to use x for fields that are not set (this is a hack), but
actually we know how to fill the extra field.
2016-08-21 20:39:52 +02:00
Richard Heck
8860365565 Fix some symbols that are displayed incorrectly in MathML export. 2016-07-30 21:08:06 -04:00
Enrico Forestieri
7c82ab3205 Fix display of \leq, \geq, and \lnot in mathed
Commit 343a379b used a wrong syntax that was causing the display
of the above symbols as blanks.
2016-07-04 21:55:00 +02:00
Georg Baum
083e6bb8a4 Fix MathML for imaginary part
image is the HTML image element
2016-07-02 14:37:05 +02:00
Georg Baum
343a379b88 Move duplicated symbols to the macro section
This helps to find them via unicodesymbols as I do for some STIX experiments
2016-06-26 20:36:44 +02:00
Scott Kostyshak
3cecd4d393 Remove \it and other oldfonts from math completion
\it and the other oldfont commands are deprecated and the new forms
(e.g. \mathit) should be used instead. The old forms can lead to a
warning in TeX Live 2015 and an error in TeX Live 2016.

Note that with this commit only affects completion, so LyX still
supports displaying e.g. \it in math if the user enters it without
completion.

This is consistent with 24d01111.

Thanks to Guillaume for the patch.
2016-06-25 19:40:18 -04:00
Jean-Marc Lasgouttes
d30fe45f4c Fixup 1b2aad9 : Cleanup of spacing in mathed
Now that 5mu are added on each side of : (because it is a relation), there is no need to do the same in the definition of \vcentcolon.

This is closer to what is done in mathtools.sty.
2016-05-29 17:55:55 -04:00
Günter Milde
137575010c Correct some charid values in lib/symbols. Fixes #9823. 2015-11-13 14:01:32 +01:00
Georg Baum
08b2859663 Do not require esint for \int (bug 9498)
We also get a consistent look with amsmath, so require esint or amsmath.
When resolving alternatives, do also take into account whether the package
is available. For this to work, we also need to test for amsmath.sty (which
was surprisingly not yet done).
2015-05-16 12:29:54 +02:00
Enrico Forestieri
0fc9b08e4d Fix output of \lightning in math mode.
The \lightning symbol is text mode only. Hence, for using it in
mathed, it must be inserted in a text mode environment such as
\mbox, \text, etc. However, as it is not marked as textmode,
LyX "helpfully" encloses it in \ensuremath everytime one tries
to put it in a text mode environment, thus defying the countermeasure.
By declaring it textmode only, LyX stops doing that and thus it can be
correctly output by simply selecting it and hitting Ctrl-M.
2015-04-12 00:47:18 +02:00
Georg Baum
24d011117f Remove unsupported macros from autocompletion
We have some math macros that exist only because LyX can display them easily,
but which require user preamble code. These commands should not appear in
autocompletion, they are only there to make the formulas of users who actually
need thgese symbols and know what to put into the preamble more beautiful.
2015-03-10 20:53:56 +01:00
Enrico Forestieri
f496ec373b Solve the "soft-hyphen" (0x00ad) symbol problem.
After the str-metrics merge, the kludge for displaying symbols whose
code point corresponds to a soft-hyphen was not working anymore.
The solution is replicating the offending glyphs with index 0x00ad
at a different index. They were replicated at 0x00ac, whose glyph
was missing in all affected fonts.

However, this would not work by alone because, if a system font with
same family name exists, it would be picked up instead of the right one
(at least on non-Windows platforms). For this reason, the style of the
fonts has been changed from "Regular" to "Lyx", so that we can discriminate
the right font. However, this requires using at least Qt 4.8. If an
older Qt is used *and* a system font with same family name is already
available, the affected glyphs will all turn out on screen as the
"logical not" symbol.

I have also set the executable flag on the font files, because on Windows
they are loaded only in this case.

This solves #9229.
2015-01-21 14:12:42 +01:00
Georg Baum
cc87f81002 Fix html export of \ne (second part of bug #9372)
The fix consists of two parts: The needed infrastructure to assign HTML
entities to global math macros, and the actual fix for \ne and \neq.
2014-12-29 21:13:42 +01:00
Georg Baum
1be6f59612 Fix HTML output of \gg and \ll
This is a part of bug #9372. The remaining part (\ne) is not easy to fix,
since \ne is a predefined macro internally, so the HTML output is done for
the expanded macro, and we have no machinery to assign a HTML output to a
complete macro.
2014-12-28 18:54:19 +01:00
Uwe Stöhr
e4fb40b284 symbols: support the AMS commands \l(r)v(V)ert
- fixes bug #3538
2014-11-16 23:09:28 +01:00
Georg Baum
c1ac09e11f Fix bug #7954 (now really)
Thanks to maciejr we know now what the remaining problem was with bug 7954:
My unicode symbol fallback works fine, the problem was that a font named
"Symbol" is available on OS X, but it does not use the font-specific encoding
we expect: Almost all glyphs are at their unicode code point.
Therefore the bug is fixed by re-enabling the unicode workaround and blocking
the Symbol font on OS X.
2014-06-07 10:54:17 +02:00
Georg Baum
8b18bbd97e Add missing symbols and dependencies
Some wasysym and amsmath symbols were missing, and some amssymb dependencies
as well.
2013-01-10 21:22:55 +01:00
Georg Baum
45052f56ab Handle text-only wasy symbols correctly.
Some macros defined by wasysym.sty work only in text mode: They either
produce an error in math mode, or wrong output. These symbols are now marked
as text symbols, so that no \ensuremath is created for LaTeX export if they
appear inside \text{}, and the correct images are created.
2013-01-10 21:22:54 +01:00
Georg Baum
731c1f9ac4 Fix commandline export of \implies.
See the added comment in lib/symbols for details.
2013-01-08 21:51:09 +01:00
Georg Baum
13b288bc5e Remove duplicate symbols
There were found with -dbg mathed ans entering a math inset.
I kept the AMS versions, except leadsto, which is only an approximation in AMS.
hbar was simply defined twice with identical definitions.
2012-12-28 13:25:42 +01:00
Georg Baum
f96f9684ce Fix errors found by generate_symbols_images.py
llltr is a copy-paste error, the correct name is llless.
astrosun needs the wasysym package (the automatism does not kick in because
the font is cmsy, not wasy).
2012-12-16 14:44:49 +01:00
Georg Baum
f67cf6f4bb Add support for stmaryrd.sty (bug #8434)
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:

- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
  was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
  add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
  nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
2012-12-15 13:10:31 +01:00
Pavel Sanda
bdcf2b3f91 Add bugzilla comment from Georg to lib/symbols.
It is difficult to break through the undocumented format.
2012-12-02 16:46:49 +01:00
Georg Baum
6332326cf6 Load mathtools.sty automatically (bug #7949) and make lyx2lyx reversion
more robust.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40574 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-05 20:53:48 +00:00
Uwe Stöhr
cc4a7fe79d symbols: fix #7962, OK for branch too?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40551 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-31 15:42:42 +00:00
Georg Baum
b7fbcd0b30 Partial support for mathtools.sty (part of bug #7949)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40521 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 17:50:43 +00:00
Julien Rioux
72cface90f Update links to the bug tracker.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40445 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-08 20:19:10 +00:00
Georg Baum
6954c542fb Generalize the esintoramsmath requirement:
Now you can also require a|b|c, and if any of the features is already used,
no other one will be loaded. The first feature wins if none is already used.
This is required for a part of bug #7811.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39884 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-18 19:32:02 +00:00
Uwe Stöhr
f5a03ab601 InsetSpace support for
- \negmedspace and \negthickspace outside of math
- \enspace, \hspace*, \hspace*{\fill} and \hfill inside math
(fileformat change)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39557 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 14:07:30 +00:00
Uwe Stöhr
30de1c744e - UI support for the LaTeX-package undertilde, fileformat change, fixed the remaining part of bug #6622, Georg already implemented the non-UI support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39464 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-10 03:37:33 +00:00
Georg Baum
467bf135e9 Partial fox for bug #6622: Display \undertilde on screen correctly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38636 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-08 10:23:56 +00:00
Georg Baum
32f6c066cc Partial fox for bug #6622: Display \utilde on screen correctly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38633 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-08 10:06:33 +00:00
Enrico Forestieri
618dd35108 Fix bug #4606 (\varPhi and similar characters not known by the LyX GUI)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36348 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-17 19:42:36 +00:00
Richard Heck
01013c0785 Refstyle support. The user can now choose between prettyref and restyle
for formatted references. Fixes #2295, in so far as it makes it possible
to translate formatted references.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35623 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-13 12:36:53 +00:00
Uwe Stöhr
a2c6c06908 better support for the mathdots package:
technically this package is the same as esint, only for dots instead of integrals -> therefore we can and should handle it the same as esint

-> add "use automatically" checkbox
-> load mathdots if \iddots is inserted

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35251 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-31 23:34:54 +00:00
Enrico Forestieri
87f155767a Better fix for bug #6851.
The old-style font changing macros really inherit the mode, so we have
to account for this.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35156 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-14 17:57:06 +00:00