Commit Graph

2896 Commits

Author SHA1 Message Date
Georg Baum
5dedf8005d Fix dataloss for align env inside math
The math parser aborts with an error message on \begin{align} and
\begin{align*} if this is not the hull inset. This is now fixed, however
this is not complete support for these two environments (the GUI does not
respect the numbering). It is only the minimal fix that ensures that no data
loss occurs for documents imported by tex2lyx.
2014-02-27 21:25:19 +01:00
Georg Baum
7f373e8de1 Fix misparsing of alternative simple formulas
This comes from trying to run tex2lyx on the AMS math test document
testmath.tex. Both \(...\) and \begin{math}...\end{math} are defined as
inline math formulas in standard LaTeX. tex2lyx recognizes this, but the
math parser in LyX did not handle "\begin_inset Formula \(" and
"\begin_inset Formula \begin{math}" correctly.
The fix is simple and safe: If we are in undecided mode (this is only true
for the first token of a math inset), create a hull inset of the respective
kind. Otherwise, handle the commands as before.
2014-02-26 21:54:09 +01:00
Georg Baum
9130bdb5ec Add missing math delim decorations
This avoids a message "Deco was not found. Programming error?" on stderr.
The added decorations are defined by amsmath, and equivalent to \vert (single
vertical bar) and \Vert (double vertical bar), respectively. They are used to
distinguish the single and paired versions (for use with \left and \right).
These symbols should cause amsmath to be loaded, but this would be too
dangerous to implement now.
2014-02-26 21:18:31 +01:00
Georg Baum
bd79001387 whitespace 2014-02-25 21:21:47 +01:00
Georg Baum
877e73e0a2 Fix bug #8784 (mathml export for scripts)
For displaystyle scripts we need to use munder, mover or munderover.
2014-02-22 19:01:20 +01:00
Enrico Forestieri
3c1969574f Fix bug #8889 by always issuing \protect in fragile environments. 2014-02-22 10:30:55 -05:00
Georg Baum
acb7906fb5 Fix remaining part of bug #8967
Now interactive insertion of \smash[t] and \smash[b] is possible again.
\smash with optional argument behaves now exactly as in LyX 2.0.x, and without
optional argument it is supported by InsetMathPhantom.
2014-02-21 21:31:35 +01:00
Georg Baum
227675ee02 Fix regression of 18779013 for \smash
When adding native support for \smash in 18779013 I overlooked that amsmath
redefines \smash to take an optional argument t or b. These optional
arguments are not parsed correctly anymore (bug 8967). This change fixes
the regression, so that \smash with optional argument appears in red, as it
was before th introduction of the native smash inset.
In the future, we should have native support for \smash[t] and \smash[b]
as well, but this would be a file format change (automatic amsmath loading),
and it is too late for 2.1.0.
2014-02-19 20:50:57 +01:00
Uwe Stöhr
789a6ebf2a InsetMathXArrow.cpp; code simplification 2014-02-17 02:11:57 +01:00
Uwe Stöhr
e9ce68dddc InsetMathXArrow.cpp: the cells of \xleftarrow must be centered
the cells are centered in the output so also center them in LyX
2014-02-17 01:23:16 +01:00
Uwe Stöhr
8c33f73cc7 MathSupport.cpp: fix drawing of leftrightarrow
- to see the difference use this in a formula:
\overleftrightarrow{aasasasasassdsdsdasdsdsd}
2014-02-17 01:19:31 +01:00
Jean-Marc Lasgouttes
e7a1cce551 Rename some LFUN names to match their text name
Also, rename copy-label-as-reference to label-copy-as-reference and update LFUNs.lyx accordingly.
2014-02-13 13:50:33 +01:00
Juergen Spitzmueller
8b1504d7ad Do not crash with empty (invalid) math environments (part of #8359) 2014-02-10 09:24:14 +01:00
Juergen Spitzmueller
d4f04513c2 Fix LFUN_MATH_AMS_MATRIX: it was possible to generate corrupt documents (part of #8359) 2014-02-10 09:23:17 +01:00
Vincent van Ravesteijn
fc6b8c64f8 Return true to indicate we might have invalidated the cursor
If we don't do so, Cursor::notifyCursorLeavesOrEnters might continue with
an invalidated cursor.

Fixes-bug: #8329
2014-02-07 23:04:15 +01:00
Vincent van Ravesteijn
6ed292122d Make the export of macros thread-safer
When we export the file to latex, we use the redefinition_ variable to check whether we should output newcommand or renewcommand. This variable was set by the MathMacroTemplate::metrics() function, and this caused problem when the export is running in a different thread as the GUI.

In general, the metrics() functions should not change the Buffer; we have updateBuffer/updateMacros for that purpose.
2013-10-12 02:36:08 +02:00
Georg Baum
561c5bfd50 Fix missing updates for lazy MacroData
Not all accessors did update the data previously. Therefore it could happen
that document export from the command line would output \newcommand, and from
GUI it would output \renewcommand for the same macro, simply because in the
GUI case the data was updated as a side effect of the GUI thread reading some
other member.
I also removed the mutable flag for requires_, since this member is always
set on construction and does not need any lazy update.
2013-10-11 20:38:05 +02:00
Vincent van Ravesteijn
8164fea772 Encodings: Use BufferEncodings where needed 2013-09-29 15:26:22 +02:00
Tommaso Cucinotta
0b6edb0b2f Revert "Let non-ASCII chars within regexp insets match their occurrence within TEXT, rather than MATHS (seems the most recurrently needed scenario)."
This reverts commit 6a3792bdbb.
2013-08-24 17:42:14 +01:00
Tommaso Cucinotta
203dab97c3 Now the regexp insets entered in Advanced F&R search/replace boxes do not preview anymore independently, unless embedded/nested within other math elements.
Fixing crash as described in #7805.
2013-08-24 13:06:05 +01:00
Richard Heck
30d3fcd640 Fix bug #8746: Images have to have alt tags. 2013-06-12 17:25:39 -04:00
Pavel Sanda
63c193afef Remove years forgotten files.
http://marc.info/?l=lyx-devel&m=136956959518828&w=2
http://marc.info/?l=lyx-devel&m=120506622513617&w=2
2013-06-03 02:35:32 -07:00
Pavel Sanda
f75becdc4e Years forgotten file 2013-05-25 16:40:19 -07:00
Pavel Sanda
0ce10160da Header cleanup cont. 2013-05-25 16:38:20 -07:00
Pavel Sanda
f6d505c1ee Years forgotten files. 2013-05-23 22:17:20 -07:00
Pavel Sanda
84c5e67e07 Header cleanup cont. 2013-05-23 22:12:29 -07:00
Lars Gullik Bjønnes
704328d348 Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Jean-Marc Lasgouttes
623d2f9530 More llvm/clang warnings
This is mostly unused private class members.

There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
2013-05-02 18:27:32 +02:00
Jean-Marc Lasgouttes
bd2e7480b1 A first batch of potential bugs spotted by llvm/clang
There are more warnings left, but these are the easiest to fix. And some of them are real bugs (assignments with == instead of =).
2013-05-02 16:38:25 +02:00
Pavel Sanda
154319d063 Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
2013-05-02 00:30:16 -07:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Jean-Marc Lasgouttes
d243e53f54 Another assertion that got transformed in 1b1f8dd2 2013-04-27 20:14:43 +02:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Tommaso Cucinotta
6a3792bdbb Let non-ASCII chars within regexp insets match their occurrence within TEXT, rather than MATHS (seems the most recurrently needed scenario).
See also: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177747.html
2013-04-07 23:35:32 +01:00
Richard Heck
c56d524cd6 Use master buffer's setting for math output type. 2013-03-27 14:51:27 -04:00
Richard Heck
dd7d76cc6c Disable extractFunctions() for MathML and HTML output.
I'm not sure there was all that much benefit to doing this, but
if so then it could be re-enabled, if we fixed extractFunctions().
2013-03-27 12:05:00 -04:00
Richard Heck
ff91db5ece Add some notes about problems with extractFunctions(). 2013-03-27 12:01:44 -04:00
Richard Heck
56796c2a9e Implement math-as-HTML output for InsetMathExFunc. 2013-03-27 11:41:29 -04:00
Jean-Marc Lasgouttes
11e0d941a2 Implement inset-select-all in mathed 2013-03-22 14:42:47 +01:00
Richard Heck
2c75ad0294 Allowing direct, read-write access to the references cache just seems
like a bad idea.
2013-03-18 19:32:30 -04:00
Richard Heck
872c71ffa6 Try again to fix Kornel's slowness problem. The previous attempt was
worth doing, as we were creating too much output for tooltips anyway.
But we need to ignore BibTeX insets altogether, as the collection of
the references, etc, is too slow.
2013-03-09 12:42:56 -05:00
Richard Heck
86994bf753 Add a member to TocItem that tells us whether the item in question
is included in output.
2013-03-08 16:38:18 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Georg Baum
6e2d8cf10a Fix sideset keyboard short cuts
\sideset1 can't be entered via keyboard, so I renamed the commands.
2013-02-26 21:38:27 +01:00
Georg Baum
efaae780db Fix regression of 5261ae6a2
Somehow I overlooked that \sideset also supports nonscript arguments for
left and right. This is now fixed, although I do not like the toolbar names.
If somebody knows something better, please improve.
2013-02-24 21:23:50 +01:00
Georg Baum
5261ae6a29 Fix bug #1424: Native \sideset inset
The toolbar image is the one Uwe attached to the bug report. Note that
\sideset works only for operators like \sum in the nucleus. LyX allows
any content, so you might get a LaTeX error. I don't know how to prevent
wrong content in the nucleus.
2013-02-17 11:08:58 +01:00
Pavel Sanda
5000a016cf Fix #7865 - Math autocorrection is broken
Patch from Martin Vermeer.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177004.html
2013-02-09 21:51:30 -08: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
Juergen Spitzmueller
3c41319f0b Disable caption-insert in mathed 2013-01-05 09:42:27 +01:00
Georg Baum
de5e348727 Fix bug #8468: Wrong import of UTF8 CJK.
Actually, the test case showed several problems:
- ERT insets did use layout "Standard", not "Plain Layout"
- The font scale was read correctly, but tex2lyx claimed that it did ignore
  the option "scaled=0.95"
- If a third argument of the CJK environment was given, it caused the whole
  environment to be put in ERT with a broken encoding. This is now fixed for
  the bug test case by using the \font_cjk header variable, but the encoding
  problem still exists for unsupported encodings. I'll file a separate bug
  for that.
- The CJKutf8 package was not handled in the preamble parsing. Therefore the
  chinese comment in the preamble was read with a wrong encoding, and guessing
  the document language did not work.
The new file CJKutf8.tex was created by copying and modifying CJK.tex, but
unfortunately it is impossible to tell git to inherit the history of CJK.tex
for the new file (search the web for git svn copy if you want to know details).
2012-12-30 20:52:49 +01:00
Georg Baum
56ece75ad9 Fix bug #8464: stackrel with subscript.
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
2012-12-28 20:08:43 +01:00
Georg Baum
6cf364d30e Generate debug output for symbol macros as well
This is useful for debugging, and it will enable
development/tools/generate_symbols_images.py to generate a few more images.
2012-12-28 13:25:41 +01:00
Georg Baum
01a6d4252b Full delimiter support for llbracket and rrbracket
stmaryrd.sty sets these symbols up as variable size math delimiters (i.e.
they may be used with \left and \right). Now LyX knows about that and offers
them in the delimiter dialog as well as single symbols.
2012-12-16 15:49:42 +01:00
Georg Baum
8838648858 Add script for automatic toolbar image creation.
Manually created toolbar images are needed in many cases, but for simple
symbols automatically generated ones are better than nothing.
2012-12-16 14:44:18 +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
Vincent van Ravesteijn
0cd8c03d17 CMake: Put projects into subdirs
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
2012-12-15 11:02:06 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Pavel Sanda
541828ebf5 Another witch hunting case: break-paragraph -> paragraph-break. 2012-09-29 18:06:42 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Scott Kostyshak
80c126b092 Typos
Clean up some comments, LFUN documentation, an error message,
and lyx --help output.
2012-09-12 19:38:26 -04:00
Enrico Forestieri
f251e01892 Fix bug #8305: ^ symbol does not render into upward arrow when using mhchem
The mhchem package treats the caret both as a shorthand for \uparrow or
as a superscript operator according to whether it is surrounded by
spaces or not. The \ce and \cf insets allow inserting spaces but there
is no provision for inserting a space after the caret, which is always
considered by LyX as a superscript operator. The solution here is to
insert a space after the caret if the superscript is empty or an empty
brace inset.

Mathed does not allow empty superscripts, so an empty brace has to be
inserted when working in LyX. On the other hand, when importing latex
code, an empty superscript is retained.

This has no effect whatsoever for normal latex code, as a space after
the caret is ignored. In any case, the output is only changed if an
empty brace inset is used as superscript. Specifically, the output is
changed from "^{{}}" to "^ {}".
2012-08-21 01:30:51 +02:00
Jean-Marc Lasgouttes
a756403301 "Performance" fixes suggested by cppcheck
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
 * do not use it++ for iterators, ++it is better
 * do not use size() to test for emptyness, empty() is here
 * do not use "const T" as a function parameter, "const & T" is better

I doubt that any of these is a real performance problem, but the code is cleaner anyway.
2012-05-28 22:42:44 +02:00
Georg Baum
c9f68139cb Do not swallow math comments in tex2lyx.
This is not needed, since LyX supports comments in math. Data loss with math
comments containing a backslash in LyX has been fixed as well.
The test case was found in bug #8104.
2012-05-06 16:48:44 +02:00
Vincent van Ravesteijn
9541e6b851 Fix compilation
Compile fix for [b0b8e5f5/lyxgit].
2012-05-03 17:58:02 +02:00
Vincent van Ravesteijn
6377296492 Fix bug #5167: Correctly paint special characters in InsetMathFont
When using, e.g., a 'mathcal' inset in math, the inline completion and
other special characters like '\#', '{..}' are are painted in the
'mathcal' font as well. This is overcome by setting the mathnormal font
before painted these characters.
2012-05-03 16:36:19 +02:00
Vincent van Ravesteijn
b0b8e5f54c Move metrics computation close to drawing for drawStrRed/Black 2012-05-03 16:35:45 +02:00
Vincent van Ravesteijn
26dcfcd343 Fix bug #8089: Handle spaces at the end of the stream
If the stream is good (i.e. there are still tokens) and we expect an
argument, we call getArg(). However, if there are only spaces, the stream
suddenly isn't good anymore after 'skipSpaces' and we would get an error
when calling 'getChar'. Therefore we have to check whether the stream is
still good.
2012-05-02 14:41:08 +02:00
Vincent van Ravesteijn
1ef930c058 MathParser: Do not rewind the stream if we can't read from it
If the stream is not good, we don't need to 'putback', because we didn't
read anything yet. If we now do rewind the stream, we are asking for
problems as in bug #8089.

This was introduced in [3cafb856\lyxgit] to fix bug #4318.
2012-05-02 14:40:14 +02:00
Vincent van Ravesteijn
3c0e3c16c8 Fix bug #8078: Assertions in xhtml output on Windows 2012-04-30 12:58:32 +02:00
Jean-Marc Lasgouttes
9059843121 Simpler fix for undo support when entering \hline in an equation
* Avoid undo step when using backspace in macro mode
 * Use recordUndoInset when entering macro mode (if one enters something like \hline, the outer inset itself will be modified)
 * Use recordUndoInset when pasting in an INsetMathGrid (same reason as above)
2012-04-17 22:21:45 +02:00
Jean-Marc Lasgouttes
201dcc8ec3 Revert "Fix undo of entering \hline"
This reverts commit 1fa39e1f95.
2012-04-17 22:21:45 +02:00
Georg Baum
1fa39e1f95 Fix undo of entering \hline
It was broken with 6d75800f5d as noticed by Enrico. The fix is to use undo
groups (thanks Jean-Marc).
2012-04-08 19:15:49 +02:00
Georg Baum
1a6c599917 Extend the notermination flag to math as well.
Math commands need it as well as text commands. At the same time, this
further unifies the checking for termination and fixes cases of wrong
output (e.g. for 0x2005).
2012-03-25 15:57:38 +02:00
Georg Baum
6d75800f5d Fix bug #6936.
If \hline is entered, do not create an unknown inset, but increase the number
of hlines of the current row if that is allowed. The same idea is applied to
copy-paste (not part of the bug report).
This is also a test for committing via git.
2012-03-25 11:16:32 +02:00
Richard Heck
2627eb26e5 Convert InsetMathCancel.* to UTF-8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40712 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-06 22:38:46 +00:00
Richard Heck
23832ce191 HTML output for InsetMathCancel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40711 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-06 22:38:41 +00:00
Uwe Stöhr
cf4e6ddad9 InsetMathCancel: add MathML output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40710 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-06 17:35:29 +00:00
Jean-Marc Lasgouttes
98cd6c60f7 * InsetMathScript::doDispatch : properly record undo information before
changing limits status (fixes bug #8007)
* InsetMathScript::getStatus (new) : handle properly status for LFUN_MATH_LIMITS here, along with checkmark support for the menu)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40700 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-02 13:39:05 +00:00
Lars Gullik Bjønnes
e770e95861 Fixup multi-line comment to use block-comment
The small ascii art in InsetMathCancel::draw has line continuation characters at
eol, this make consecutive lines be andled as one. The use of a block comment
instead of single line comments makes this less of a "problem." Also it removes
a warning with gcc 4.7.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40699 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-02 00:25:13 +00:00
Uwe Stöhr
65f26a7a14 add support for the package cancel in math (fixes #6819); fileformat change only for the preamble handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40663 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-23 01:49:49 +00:00
Georg Baum
187790135b Fix bug #5029: Support \smash, \mathclap, \mathllap and \mathrlap.
Also improve lyx2lyx roundtrip for automatically loaded packages.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40589 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-08 12:34:12 +00: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
Georg Baum
6be6d9a947 First step towards a more generic package off/auto/on handling:
Internal machinery, no file format change and no UI change yet


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40562 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-03 20:51:07 +00:00
Richard Heck
8a226ec47a Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40449 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-08 23:07:40 +00:00
Georg Baum
bb0432d74a Beautify output of \usepckage statements (each statement is on its own line
now) and move more packages to the new exclude mechanism.
The remaining ones are not so easy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40442 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-08 20:05:51 +00:00
Richard Heck
38b9a4530e New methods in LaTeXFeatures specifically for collection of CSS
information on XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40407 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:13 +00:00
Vincent van Ravesteijn
7287a259c5 Change the type of the context menu name to string
There is no need for GUI-elements to use docstring.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40058 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 14:48:55 +00:00
Richard Heck
be793db531 Fix display of section headings, etc, that include math in the TOC
and menus. The newline we were writing previously caused all kinds
of problems. Writing a whole array in some cases would also cause
problems. So we do less.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39971 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-25 18:43:51 +00:00
Richard Heck
acc709a600 Fix some indentation issues.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39970 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-25 18:43:47 +00:00
Georg Baum
8e8c214bef Fix some bugs related to spaces in math:
- Interpret argument of LFUN_SPACE_INSERT correctly
- Use InsetMathSpace instead of InsetMathSpecialChar for "\ " (bug # 7728)
- Use InsetMathSpace instead of InsetMathChar for ~ (bug # 7728).
  This fixes also the display in LyX (previously a literal ~ was displayed).
Using InsetMathSpace enables also the "Insert Formatting" menu entries.
No file format change is needed, since the LaTeX export is unchanged.
Note that there are still some bugs related to spaces in math:
#7746, #7747, #7749, #7842


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39947 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 20:19:49 +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
Georg Baum
76962d5515 Fix on-screen alignment of multline equations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39882 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-18 18:46:57 +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
Jürgen Spitzmüller
70390b0283 Disable space tyes that are not supported in mathed (for these, a thinspace was inserted as a fallback).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39537 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-27 10:58:48 +00:00
Jürgen Spitzmüller
6a3ff009db Issue the math space dialog (not the text one) when in math (bug 7746).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39536 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-27 10:45:59 +00:00
Tommaso Cucinotta
ef7a142f3f Fixed longstanding bug in Advanced Find&Replace, when dealing with documents containing braces.
Corresponding test-case needed a fix as well and now it is passed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39518 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-25 19:16:14 +00:00
Richard Heck
2514bb04c1 Fix bug #7656.
I don't think we need to record anything yet, since we are not changing
anything here. The dialog will call a new LFUN to do the change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39253 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-07 19:48:50 +00:00
Abdelrazak Younes
f9e9956169 Split InsetLabel::updateCommand() into:
* uniqueLabel(docstring & label) to enforce label unicity
 * updateLabel() to update only the label.
 * InsetLabel::updateLabelAndRefs() to update label & refs
 * InsetLabel::updateReferences() to update the references

This fixes bug #7655


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39250 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-06 17:40:51 +00:00
Richard Heck
07ca26fa27 Clarify comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39220 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-30 02:17:49 +00:00
Richard Heck
dfc2a2792e Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39219 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-30 02:16:34 +00:00
Tommaso Cucinotta
a48baee56f Now Adv. F&R correctly interprets escape sequences within regexp insets, e.g., \\ or \(, for finding characters with a special meaning in regular expression context (\^()[]).
Added corresponding regression tests findadv-re-01 and -02 for finding these special characters.
Unfortunately, braces {} are a little bit special and don't work yet. Added findadv-re-03 regression test to not forget about this case.
This goes along the line of fixing issues reported by Andrew Parsloe and summarised as #7638.
Last note: Still there will be cases when the Advanced F&R won't work, especially if the text to be found and/or the search pattern is preceded by backslashes or others.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39135 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-19 16:41:23 +00:00
Tommaso Cucinotta
f67834bb22 Disabled possibility to type macros in regexp-mode. Now typing \ inserts a \ (no need to type twice) while in regexp mode.
Addressing issue 4. at: http://permalink.gmane.org/gmane.editors.lyx.devel/136992


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39017 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-12 01:19:07 +00:00
Tommaso Cucinotta
5a4f151fb8 Now a regexp inset with a \backslash compiles.
This is needed when instant preview is on,
so we avoid the empty preview due to latex compilation error.
Fixing issue 1. reported at: http://permalink.gmane.org/gmane.editors.lyx.devel/136992.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39015 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-11 23:21:14 +00:00
Tommaso Cucinotta
314f995cf2 Now the cursor is visible while at the rightmost part of a regexp inset.
Fixing issue 2. reported at: http://permalink.gmane.org/gmane.editors.lyx.devel/136992.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39013 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-11 22:06:06 +00:00
Richard Heck
da03e5b1c4 Make sure we do not crash here in release mode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38720 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-12 13:28:23 +00:00
Richard Heck
d7de1f2a1e Fix XHTML output for fractions and fix a crash reported on the list
by Jan Paul Imhoff. The problem was that we were assuming (as we still
do in some places) that there are always at least two cells.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38717 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-12 13:16:36 +00:00
Tommaso Cucinotta
b5399db9c5 Fixing positioning of cells in multi-row align environments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38714 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-11 19:44:27 +00:00
Tommaso Cucinotta
bca9a6ca73 Fix #7549, due to a problem in exporting to plaintext a
multicell inset, where we now export all of the cells
separated by "\t", instead of only the first cell.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38712 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-11 18:59:54 +00:00
Peter Kümmel
897edc10c0 cmake: move CMakeLists.txt into source dir (multiple steps)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38691 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-10 17:44:41 +00:00
Georg Baum
eed26c2ca6 Fix bug #7511 by moving the old label instead of creating a new one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38640 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-08 11:19:55 +00:00
Georg Baum
8356e9e2c0 remove dead code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38638 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-08 10:56:53 +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
Richard Heck
5855043599 Initial work to fix bug involving embedded macros and
XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38613 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-07 11:57:08 +00:00
Richard Heck
47a95c1094 Fix bug #7531, also reported by Jim Oldfield. Need to use master
buffer's counters.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38597 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-05 20:31:47 +00:00
Enrico Forestieri
2c9c4ee672 Some math font changing commands only work in math mode, so let's
assure to switch to math mode if needed. This helps avoiding latex
errors (see http://thread.gmane.org/gmane.editors.lyx.general/69580)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38579 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-04 00:29:36 +00:00
Enrico Forestieri
d4bcdae8d7 Fix deletion of empty last row for \smallmatrix (part of bug #7484).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38475 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-22 15:06:59 +00:00
Vincent van Ravesteijn
b29ef9e1a5 Fix bug #7444. We are only interested in whether the dimension has been stored in the cache. Therefore we have to use hasDim, otherwise we get a negative response just because the x-y is not set.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38403 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-15 10:54:52 +00:00
Richard Heck
815a9bd97e Not sure why this was there: Of course we need to escape < and >.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38363 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-13 13:05:52 +00:00
Richard Heck
855ea23faa Remove debugging code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38242 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-04 12:25:52 +00:00
Pavel Sanda
5168f2879c Typo. Merged manual still doesn't export via xhtml.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38210 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-02 14:42:09 +00:00
Richard Heck
30339c03ad Fix preview of generated math images under XHTML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38205 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-02 13:04:11 +00:00
Richard Heck
77185fe83d Substack support for XHTML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38197 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 23:41:17 +00:00
Richard Heck
740e89de17 The mode setting stuff wasn't working properly for XHTML, so this patch
simplifies it and hopefully does get it working.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38195 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 22:34:40 +00:00
Richard Heck
844296cd47 Remove debugging code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38194 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 21:30:48 +00:00
Richard Heck
707d369d72 Get math within text working for XHTML export.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38193 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 21:18:37 +00:00
Richard Heck
17f1b1d04a Better preview for images.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38192 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:44:23 +00:00
Richard Heck
d7a2ae0bf3 Don't try to create a math preview image if we're just previewing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38191 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:32:33 +00:00
Richard Heck
4052facca6 If we encounter a macro we don't recognize, then export this bit of math
as an image.

The math macro now exports as XHTML + MathML and can be viewed in
Firefox.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38190 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:15:43 +00:00
Richard Heck
0b1fdca0fa Fix last commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38189 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:03:41 +00:00
Richard Heck
75a7a2203d More informative normalization for math macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38188 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:03:15 +00:00
Richard Heck
f22a3988b3 Revert unintentional commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38187 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 19:28:26 +00:00
Richard Heck
461c973d62 Clean up XHTML output a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38185 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 19:18:25 +00:00
Richard Heck
eceefd3d31 Remove debugging code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38183 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 18:35:06 +00:00
Vincent van Ravesteijn
7e566747fd Fix bug #7351 (oart 2). Missing update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38131 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-29 17:09:46 +00:00
Richard Heck
3f27f951cb This is intended to be a pure renaming of the Inset::name() routine,
preparatory to fixing #7080. Note that mathed uses the same routine, but
for a completely different purpose, so I did not rename it there. I have
seen no difference in behavior after testing, e.g., opening and
exporting Math.lyx, and also re-saving it and looking at the diff.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38109 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-28 22:33:04 +00:00
Georg Baum
dd23151da9 Fix part 1 of bug #7351
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38017 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-23 21:05:44 +00:00
Georg Baum
85df237aff fix bug 7351 part 3: Do not count inline formulas for eqn number counter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37976 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-20 12:12:08 +00:00
Vincent van Ravesteijn
49459f6fc4 Fix bug #7345: Crash when right clicking on displayed math with selection
Two things have been fixed here:
1) the selection should not be cleared when the user right clicks a math inset that is part of the selection,
2) the type of context menu should be determined at mouse-press, because that is the moment when the cursor is set. However, we should do it after setting the cursor, because setting the cursor might change the selection status and this influences the choice for the type of context menu.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37961 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-19 13:14:13 +00:00
Enrico Forestieri
6d425078a7 When an error occurs, don't highlight more than necessary.
Currently, if an inset outputs a newline, the new latex row is still
associated with a previous id/pos. Now, if a latex error occurs before
this newline, we would still highlight everything associated to that
id/pos, even if it is extraneous to the error.
This is avoided by associating the new latex row with the id/pos in
effect right before entering the inset. If an inset does not output
a newline, it is not excluded from the selection, consistent with the
fact that the text of the inset does appear in the error description.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37903 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-12 01:40:01 +00:00
Georg Baum
f176a18434 Fix bug #6919 by splitting Inset::noFontChange() into inheritFont() and
resetFontEdit(). The former is used for on-screen and export formatting,
and the latter is used for interactive editing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37761 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-22 19:41:04 +00:00
Vincent van Ravesteijn
5036ca8500 Constify InsetMathNest::setMouseHover and remove the const_cast from BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37632 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 10:07:00 +00:00
Vincent van Ravesteijn
77292f028d Remove unimplemented function declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37630 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 10:02:00 +00:00
Pavel Sanda
2f572f7a28 Rest of gcc 4.6 issues from Orion Poplawski.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37604 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-12 22:10:56 +00:00
Peter Kümmel
b9b6c12782 compile.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37591 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 22:57:41 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 02:41:13 +00:00
Georg Baum
3d4f76cf2d Fix bug #7252
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37288 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-21 19:18:27 +00:00
Richard Heck
790f75759b This should be const.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37203 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-13 18:30:24 +00:00