Commit Graph

21764 Commits

Author SHA1 Message Date
Georg Baum
42f36c1b94 Parse starred InsetLayout correctly
Previously, an InsetLayout was not found if the LaTeX name was starred, e.g.
for "\caption*".
2015-01-03 17:39:20 +01:00
Georg Baum
8b75ce5830 Fix misparsing of \textgreek without polyglossia
\textgreek was interpreted as the polyglossia version even if polyglossia
was not used. Now the symbols defined in unicodesymbols are detected correctly
and converted to unicode, while others are converted to ERT (bug #8553).
2015-01-03 17:27:22 +01:00
Georg Baum
9c54ee6f0d Handle unknown table column specifiers (bug #9311)
Previously tex2lyx did ignore table columns if the column specifier was
unknown. This can lead to data loss, and now it does not ignore these columns,
but assumes that the column specifiers use only once character. This can still
lead to data loss, but less often.
2015-01-03 17:06:39 +01:00
Georg Baum
dbbc4239a6 Fix HTML output of \gg, \ll and \ne (bug #9372)
The fix consists of three parts: The fix for \ll and \gg, the needed
infrastructure to assign HTML entities to global math macros, and the actual
fix for \ne and \neq.
2014-12-30 13:39:52 +01:00
Juergen Spitzmueller
0be08dde6d Do not warn about changed modules when changing modules.
Part of #9356
Also fixes #9365
2014-12-25 10:50:21 +01:00
Juergen Spitzmueller
cc58d61744 Do not silently dismiss unapplied document changes when adding module
Part of #9356
2014-12-25 10:45:45 +01:00
Juergen Spitzmueller
b215e58ed1 Output package options before loading any package.
Fixes: #9355
2014-12-22 09:21:28 +01:00
Juergen Spitzmueller
c213243600 When switching classes, warn user about all unapplied document changes
Currently, this is limited to modules.

Part of #9356.
2014-12-21 17:45:39 +01:00
Jean-Marc Lasgouttes
1ae74b2dd7 \\subfloat captions are moving arguments
Therefore insets should be protected in these captions.

Fixes bug: #9346.
2014-12-08 17:39:56 +01:00
Jean-Marc Lasgouttes
53436891f7 Let the Foot inset have a different Layout when inside a title
This allows to address two main issues
 * \thanks does only accept one paragraph, while \footnote allows several (ticket #2666)
 * footnotes in titling environments were not numbered on screen.

Moreover, the code reduces hardcoding of features, which is always a good thing.

There are several pieces in this commit:

 * new numbering type \fnsymbol for counters

 * the Foot inset changes its layoutName() to Foot:InTitle when inside a paragraph with InTitle property. This is set when running updateBuffer.

 * Foot:intitle uses the \thanks command, does not allow multiple paragraphs and marks its contents as moving argument.

 * The InsetLayouts for Foot now have properLaTeXName/Type, so that InsetFoot::latex can be removed; further code simplification is probably possible.

 * HTML preamble has been updated (thanks rgheck).

Fixes: #2666
2014-12-08 10:15:02 +01:00
Jean-Marc Lasgouttes
565cb2a3f0 Fix a couple of compiler warnings 2014-12-08 09:47:45 +01:00
Uwe Stöhr
cdeb542fc0 tex2lyx: backport support for relative sizes and glue lengths 2014-12-04 00:48:27 +01:00
Uwe Stöhr
515e70a7da tex2lyx/Preamble.cpp: add support for all \defskip lengths
backports commit c2e0f223
2014-12-04 00:41:51 +01:00
Uwe Stöhr
a0b723f2b7 tex2lyx/Preamble.cpp: remove unused code 2014-12-04 00:36:00 +01:00
Uwe Stöhr
6d8cb0055e tex2lyx: support for the Libertine fonts 2014-12-04 00:18:32 +01:00
Uwe Stöhr
44682af7d9 mathed: infoize some messages
- fixes bug #1908
2014-12-04 00:11:57 +01:00
Uwe Stöhr
88355eea86 tex2lyx/TODO.txt: \=*{char} is already supported by tex2lyx 2014-11-23 01:33:34 +01:00
Uwe Stöhr
90405fe39b tex2lyx/TODO.txt: the UGM fonts are already fully supported 2014-11-23 00:40:30 +01:00
Georg Baum
e32147a1fe Fix memory error detected by valgrind
The assignment name = sub.str(1) reads from the first argument given to
regex_match(), but previously this was a temporary object which was already
out of scope. This did probably not matter much in practice, but invoked
undefined behaviour, and as we all know this is allowed ton format your hard
disk or kill to your cat, so better fix this.
2014-11-19 20:42:04 +01:00
Georg Baum
3cc5283940 Fix recursive math macro crash (bug #9140)
This is different from bug #8999, since in this case a new macro instance is
created. You still get a TeX capacity exceeded error if you try to typeset the
exported document, but this is the same as for bug #8999 and better than a
crash.
2014-11-16 09:37:29 +01:00
Uwe Stöhr
085d3937c6 tex2lyx: support for \item with opt arg in itemize environment 2014-11-15 21:22:21 +01:00
Georg Baum
8b31f838c5 Make the fix for bug 8999 actually work
This backports 1cdbb94f which was spotted by cppcheck.
2014-11-14 21:28:40 +01:00
Georg Baum
acc771b212 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-11-14 19:09:34 +01:00
Stephan Witt
e354f5e4aa #9317 add method cleanDuplicateEnvVars() to correct the broken environment with duplicate PATH values passed by Yosemite's launchd(8) 2014-11-13 19:13:40 +01:00
Georg Baum
24426cc614 Fix memory errors found by Alfredo with valgrind
BufferParams::setDocumentClass() deletes the old document class of the buffer
and creates a copy of the new one. Therefore, the stored layout pointers in
the paragraphs (actually only one paragraph exists) are dangling afterwards.
Resetting them before setting the document class helps here.
In the long term we need to get rid of BufferParams::setDocumentClass()
completely, this is very ugly.
2014-11-12 20:31:32 +01:00
Uwe Stöhr
7410208b72 tex2lyx/TODO.txt: backport info/update from master 2014-11-11 01:23:20 +01:00
Uwe Stöhr
7b20cc5258 tex2lyx: backport new features from master
- support for bibtopic, \nameref and 2 math fonts
2014-11-10 02:23:05 +01:00
Enrico Forestieri
b16b1ddb58 Fix CAS computation of a selected subformula.
Invoking a computer algebra system program for computing a selected
subformula has never worked (checked with all LyX versions back to 1.3)
and, moreover, in the presence of a selection things go awry.
This commit allows this computation by replacing the selected
subformula with the result of the computation.
2014-11-10 00:47:50 +01:00
Enrico Forestieri
5644470576 Fix issue with CAS.
See http://thread.gmane.org/gmane.editors.lyx.devel/153516
This regression was due to a thinko in [43f6b167/lyxgit].
2014-11-09 21:33:53 +01:00
Uwe Stöhr
aa82c1cc19 InsetFootlike.cpp: disallow to use listings in foot-like insets
- fixes bug #9321 also for branch
2014-11-06 00:31:42 +01:00
Jean-Marc Lasgouttes
02a2241727 Fix wrong test: boolean variable is never negative
This has been spotted by clang++.
2014-11-05 18:23:32 +01:00
Richard Heck
3ca8502ae9 Do not truncate references in outline pane (bug 9312).
(cherry picked from commit 1f45e6527a)
2014-10-30 18:43:25 -04:00
Richard Heck
9574d680e2 Fixes for LyX on OSX 10.10 (Yosemite). From Stephan Witt. 2014-10-27 11:16:08 -04:00
Richard Heck
bd2c17f9fb Sort debug options in the message pane by string. This makes it
much easier to find what you need, especially when we're trying
to help users. Previously, they were sorted by their enum values.

(cherry picked from commit de3daf040b)
2014-10-26 18:00:29 -04:00
Uwe Stöhr
515a4f0fee LaTeXFeatures.cpp: fix bug #9266 also for branch
mhchem loads amsmath and needs therefore be loaded after it but before packages that redefine commands of amsmath. We already take care of esint but not of wasysym
2014-10-26 13:44:42 +01:00
Richard Heck
bdb6abf9b7 Fix bug #9296. The key may be multiple keys.
(cherry picked from commit 080a4d84e2)
2014-10-16 16:38:18 -04:00
Juergen Spitzmueller
34513a4abe Fix key code 2014-10-10 18:24:22 +02:00
Enrico Forestieri
a291c70658 Fix export of xfig external insets (bug #9244).
The check for a latex format is very fragile. Both libmagic and our
guessing from contents cannot distinguish the pstex and pdftex formats
used by the xfig external inset. Moreover, it may also happen that
lyx files are mistaken as latex ones. Thus, when the guessed format
is latex, the only solution is to give precedence to the format
determined by the file extension.
2014-09-28 21:28:16 +02:00
Stephan Witt
3ca1a69918 #8849 catch exception in enchant speller backend and avoid multiple speller lookups for missing dictionaries 2014-09-28 19:39:15 +02:00
Juergen Spitzmueller
e627bf3ba6 Add support for the pdfcomment package.
Fixes: #6975.
2014-09-27 09:55:25 +02:00
Juergen Spitzmueller
2eeed6cf13 Fix bug with wrong baseline calculation in last paragraph (2nd attempt)
This time, we consider the cases where a \par is not wanted (single-par insets, tabular cells).

Fixes: #9231
2014-09-27 09:42:48 +02:00
Scott Kostyshak
2cc0de8b8b Fix alignment rendering of multirow in LyX (#8976)
Multirow cells now have the same alignment rendering in LyX
as in the output. The alignment of a multirow can change as
long as the column is not of fixed width. If the column is
of fixed width, the multirow is left-aligned.

When setting a multirow, the alignment is copied from
the last cell in the selection.
2014-09-26 22:38:13 -04:00
Juergen Spitzmueller
15957d003a Revert fix for #9231
This is more complicated than I thought.
2014-08-28 08:22:47 +02:00
Enrico Forestieri
43c669fb13 Fix the -geometry command line argument for Windows.
The command line argument -geometry WIDTHxHEIGHT±XOFF±YOFF
specifies a preferred size and location for the main window.
Currently, this is semi-broken on Windows. Indeed, only
specifying WIDTH and HEIGHT places the main window such that
the left and top borders are invisible such that the window cannot
be moved. Moreover, the XOFF and YOFF parts (when present) are
used to specify the distance of the window from the left and top
or right and bottom edges of the screen, when using '+' or '-',
respectively. However, -geometry 800x600-20-20, instead of placing
the window such that its bottom and right edges are at a distance
of 20 pixels from the corresponding screen edges, places the
window such that its left and top borders are out of the screen.
This is corrected by this commit.
2014-08-25 20:55:03 +02:00
Richard Heck
8302d1bab1 Possible fix for the mystery crash, which is bug #9049.
Investigation of bug #9236 showed that crash to be due to a Paragraph's
holding a dangling pointer to an old and deleted Layout after the
DocumentClass was reset. Since the backtraces look almost identical, it
seems likely that we have the same problem here.

Since this crash seems almost always to involve tables, I looked at the
code in switchBetweenClasses() and found that the Paragraphs that belong
to "hidden" table cells are not seen by the initial recursion using a
ParIterator: It skips right over them. This was confirmed by test code
suggested by Enrico, with results reported in Trac.

The present patch attempts to deal with this problem in the second
recursion, over Insets. When we see an InsetTabular, we call a new
routine that recurses through the cells, looking for hidden ones. If it
finds a hidden one, it then resets the Layout for the cell's Paragraphs
(there should be only one, but we do not make any assumptions) to the
PlainLayout that belongs to the new DocumentClass. This is good enough,
since such cells never have content.

There is extensive discussion of the patch here:
  https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg185095.html
Additional testing by Enrico and me confirmed the existence of the
dangling pointer.

(cherry picked from commit 54c2ab2732)
2014-08-15 10:46:56 -04:00
Richard Heck
1757ef2a99 Use a const ref here. Guess it was a thinko when I did it.
(cherry picked from commit b9fe1dd10b)
2014-08-12 12:33:29 -04:00
Richard Heck
090bd44740 Fix bug #9236: After we recreate the DocumentClass, we have to apply
it to the document.

(cherry picked from commit c2fdbbe01a)
2014-08-07 15:16:16 -04:00
Enrico Forestieri
e2d834e8d0 Fix bug #9146 (Graphics conversion problem).
If LyX does not know about a given file format, it may easily
happen that the format is recognized as "latex" and this causes
bug #9146. This patch limits the check for a latex format to
non-binary files. The strategy for deciding that a file has
binary content is the same as that adopted by the "less" program.
This is a stripped down backport of the more complex fix in master.
2014-08-04 18:52:20 +02:00
Enrico Forestieri
a8b7e0a18b Add some postscript and pdf viewers for Unix and Windows.
For Windows: AcroRd32, SumatraPDF and gsview (both 32 and 64 bit versions).
For Unix: qpdfview.

Qpdfview is a nice alternative to Okular for KDE users and a superior
alternative to Evince for Gnome users, due to its complete synctex
support. It only depends on Qt libraries for the graphical interface.
2014-08-03 19:26:34 +02:00
Enrico Forestieri
47e263fa7f Fix compatibility issue with 64-bit cygwin. 2014-08-03 18:53:33 +02:00