Commit Graph

1206 Commits

Author SHA1 Message Date
Günter Milde
81f5e596b4 File format update after 418016bf79
Removing unsupported encoding "pt254" from \inputencoding values makes documents using this value invalid (J.S.).
2016-12-07 18:38:41 +01:00
Uwe Stöhr
87c00f3383 add support for Urdu and Syriac
- fileformat change
- I could not update the tex2lyx testfiles because of bug #10440 (there is now a probable fix)
2016-10-28 00:21:58 +02:00
Uwe Stöhr
d9c52c7a3f support for Amharic, Asturian, Kannada and Khmer
- fileformat change
- I could not update the tex2lyx test files because of bug #10440
- maybe the lyx2lyx routine could be improved but since a document can also begin with another layout than "Standard" I could not use the lyx2lyx function put_cmd_in_ert
2016-10-22 15:33:59 +02:00
Uwe Stöhr
f179173e42 support for the languages Bosnian, Friulian, Macedonian, Piedmontese and Romansh
- file format change
- note that I could not update the tex2lyx test files because of bug #10440
2016-10-16 15:33:23 +02:00
Richard Heck
e57e008e88 Remove debugging code. 2016-08-05 21:39:58 -04:00
Juergen Spitzmueller
90f6eb01a4 Include all [scr]article styles in beamer article layouts.
File format change. On format reversion, we need to put some extra code
in the local layout that emulates the 2.3 behavior.
Simply Input'ing the respective layouts is unfortunately not enough,
due to the insertion order.

See #9977
2016-08-04 11:42:06 +02:00
Richard Heck
0f4c14bba2 Fix hang reported at #10307.
Also, add a FIXME explaining what we'd need to do to fix the
convert_TeX_brace_to_Argument routine properly.
2016-07-23 13:44:34 -04:00
José Matos
cca93dacae Improve the file format upgrade and downgrade for microtype
Add get_bool_value to parser_tools to be used in other places.
Make the upgrade convertion seamless from lyx writing the file (regarding
microtypes, there are still other dragons to chase. :-)
2016-07-13 15:01:17 +01:00
Richard Heck
5df323a0dd Introduce "inverted" branch insets: These are branches whose content
is output when a branch is NOT activated. Fixes bug #7698.

At the moment, inversion is controlled through the branch settings
dialog. There is no provision for inserting inverted insets directly,
or for changing them from the context menu. Both of these could be
done, of course. The latter would need LFUN_BRANCH_TOGGLE_INVERTED.
2016-07-11 23:56:32 -04:00
Richard Heck
ed87044d91 We do not need to enter the format numbers for 2.3 at this time.
The code just below fills thiss automatically.

(cherry picked from commit 3d8082346e16770f3af4ee6d617c8fe91e9292e1)
2016-07-11 22:49:29 -04:00
Richard Heck
a11e07a62f Only trim right end of lines in header. This allows us to preserve
whitespace in local layout.
2016-07-10 00:19:19 -04:00
Richard Heck
1db883e183 In lib/lyx2lyx/: s/while 1/while True/ 2016-06-25 17:38:06 -04:00
Richard Heck
92fae708ae Style. 2016-06-24 16:02:35 -04:00
Georg Baum
d66d6f7805 Remove external date inset
The external date inset was implemented as a demonstrator for external insets
in general. It was never intended for production code. Now that we have several
external insets defined we do not need the demonstrator anymore. This fixes
bugs #4398 and #9948.
2016-06-19 21:23:25 +02:00
Georg Baum
5ab19af782 Skip paragraph parameters for dash conversion
Some of them are directly passed to LaTeX, but for all of them a token
\twohyphens or \threehyphens is not valid. This fixes bug #10243.
2016-06-19 17:05:13 +02:00
Georg Baum
ff93b83953 implement lyx2lyx roundtrip for \use_microtype 2016-06-17 21:11:53 +02:00
Georg Baum
c6610453e0 Use unicode cmdline args consistently
Previously the commandline arguments were processed in an operating system
dependent encoding if running under python 2. Now they are converted to
unicode during the parsing, using the more modern argpase instead of optparse.
The individual conversion methods do no longer need to know anything about
commandline encoding. This fixes a bug similar to #10218 if running under
python 2 which I probably introduced during the python 3 conversion.
2016-06-16 22:05:56 +02:00
Georg Baum
166420d02c Make lyx2lyx infrastructure python3 ready
The LyX class works now with python 3. Certain file format conversions may
still fail (convert_multiencoding() is a hot candidate), but this will need
to be fixed in the individual modules.
2016-06-12 21:21:15 +02:00
Georg Baum
72c6602b13 Improve comments and add missing decoding call
We do already fill the first line of the body in the first pass, so the body
has to be converted to the correct encoding as well.
2016-06-11 14:46:48 +02:00
Georg Baum
9558d863c8 Some python 3 fixes for lyx2lyx
These were found by 2to3 and later adapted to use the compatibility code
which was already used in some parts of lyx2lyx, e.g. lyx_1_5.py.
2016-06-11 11:06:11 +02:00
Georg Baum
e93013057f Add missing backslashes
Found by 2to3, but useful for python2 as well for consistency reasons.
2016-06-08 22:17:14 +02:00
Pavel Sanda
ba2b86fa5d Introduce basic support for microtype.sty.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg192743.html
2016-06-02 22:48:58 -07:00
Scott Kostyshak
847b69ea89 lyx2lyx: Set last minor version of 2.1.x series 2016-04-11 20:41:23 -04:00
Enrico Forestieri
d4ca8d7404 Introduce the latexpar separator.
This is the same as the parbreak separator and is represented on screen
as the old parbreak. Old parbreak separators are converted to latexpar
separators when they are used for introducing blank lines in the
latex output rather than for separating environments.
Instead, parbreak separators are now represented on screen by a
double line. In essence, latexpar and parbreak separators produce
the same output but are represented differently on screen.
The context menu does not account for latexpar separators and only
"true" separators can be turned each into the other one.
2016-04-06 05:25:27 +02:00
Jean-Marc Lasgouttes
fd1ee3b424 Rename Caption:LongTableNoNumber to Caption:Unnumbered
The term LongTable has been deprecated and moreover the renaming makes the interface easier to the eye.

File format updated to 507. (conversion based on jamatos patch)
Layout format updated to 60.
tex2ylx tests updated.
Document EmbeddedObjects.lyx has been updated.
2016-03-30 16:07:00 +02:00
Uwe Stöhr
0d30333ec6 acmsiggraph.layout: revert c1e0b243 partly 2016-02-03 00:03:55 +01:00
Uwe Stöhr
4a8a2ef9a8 lyx_2_2.py: remove double code
thanks Guillaume
2016-01-27 22:51:49 +01:00
Guillaume Munch
f58638c704 New LFUN tabular-feature: convert "inset-modify tabular" in LyX files
* Increase LyX format

* New function convert_info_insets in lyx2lyx_tools.py
  Use this function in the future for future updates of info insets

* Convert "inset-modify tabular" to "tabular-feature" in info insets

* Remove icon naming hack regarding "inset-modify tabular"
2016-01-27 18:33:09 +01:00
Uwe Stöhr
c1e0b24304 acmsiggraph.layout: update layout for ACM siggraph 0.92
fileformat change: update fileformat for all files
2016-01-27 01:58:13 +01:00
Guillaume Munch
9267b2b245 Amend 5c2d0499 2016-01-14 20:17:46 +00:00
Guillaume Munch
5c2d049996 Add \save_transient_properties parameter (#9841)
Increment LyX format to 504.

With this new parameter, the user can indicate that some other parameters that
are frequently switched must not be recorded in the file (as if they were a
setting specific to the user or transient, rather than a document setting). This
will play nicer with version control systems.

See the discussion, e.g.:
http://thread.gmane.org/gmane.editors.lyx.devel/157824/focus=157993 (third
solution mentioned)

TODO:
* The interface remains to be set up. We cannot change this setting from LyX
  for now.
* If save_transient_properties is false, we should read the user setting as a
  per-user-per-document (session) setting (e.g. like the cursor position).
* Once the above is done, we can treat \justification the same way (but it would
  be even better if \justification was moved to lyxrc).
2016-01-12 21:25:34 +00:00
Juergen Spitzmueller
61b54f87df Simplify the logic 2015-12-28 16:11:26 +01:00
Juergen Spitzmueller
2e6f54b37f Eclude possible unwandted case 2015-12-28 16:10:26 +01:00
Juergen Spitzmueller
952a963c15 Escape correctly 2015-12-28 16:09:47 +01:00
Juergen Spitzmueller
28a22f40fb Whitespace 2015-12-28 13:42:36 +01:00
Juergen Spitzmueller
b930f2a18e Remove unneeded warning. 2015-12-28 12:34:11 +01:00
Juergen Spitzmueller
ee1a99b340 cosmetics 2015-12-28 12:26:29 +01:00
Juergen Spitzmueller
3762e3604a Assure backslash is on its own line in verbatim mode in get_ert
Also document the method
2015-12-28 09:15:21 +01:00
Juergen Spitzmueller
77f5baec8f Fix thinko in revert_newgloss: only dissolve ERTs in glosses! 2015-12-27 18:20:49 +01:00
Juergen Spitzmueller
106d89f7e6 revert_tabularvalign: fix removal of tabularvalign feature tag 2015-12-27 17:34:01 +01:00
Juergen Spitzmueller
6b5d5666ac Fix thinko in revert_tabularvalign 2015-12-27 17:23:16 +01:00
Juergen Spitzmueller
a80da13cc1 Rewrite and split the moderncv conversion routine.
This fixes several conversion problems, amongst others the redundant
\end_layout reported by Kornel.
2015-12-27 12:48:11 +01:00
Juergen Spitzmueller
4d7453ac86 Remove redundant \\end_layout in jss-article Code Chunk reversion. 2015-12-26 12:08:10 +01:00
Juergen Spitzmueller
c76d91bb47 Fix gloss, glossgroup and forest reversion routines.
These were using lyx2latex, assuming the result can be used in verbatim
insets as is, which is not the case (mostly due to \\backslash).

A new lyx2verbatim function is now used instead. Also, ERT insets are
dissolved in the gloss reversion process.
2015-12-25 12:03:38 +01:00
Richard Heck
1c66831825 Fix a couple minor issues noticed by tests. 2015-12-17 10:04:47 -05:00
Richard Heck
7831e11717 Simplify a bunch of tests in lyx2lyx code. 2015-11-28 23:58:50 -05:00
Richard Heck
01b4e811a6 Fix a few C++-isms that crept into lyx2lyx code. 2015-11-28 23:55:00 -05:00
Richard Heck
acf3e3a139 Clean up Solution and Solution* reversion code a bit. 2015-11-28 23:42:09 -05:00
Uwe Stöhr
6f221bab03 lyx_2_2.py: fix a logic mistake
- this message must be used for all cases
2015-11-29 04:26:14 +01:00
Uwe Stöhr
4ea80e077f lyx2lyx/lyx_2_2.py: correct reversion for solution*
- add reversion for the starred variant
- correct LaTeX output
2015-11-29 03:51:57 +01:00
Georg Baum
ad0643f4b5 Fix off by one error
Looks like I forgot to test this case without quotes, but fortunately the new
export test found it.
2015-11-28 18:25:33 +01:00
Richard Heck
2c602ab051 Simplify lyx2lyx code a bit, and correct a mistake in my previous
patch. Also fix some escaping problems (\end instead of \\end).

My testing revealed some other problems with this routine: stray
\noindent tags popping up here and there. I don't have time to fix
it right now but will try to come back to it.
2015-11-25 00:51:05 -05:00
Uwe Stöhr
13c6350155 lyx_2_1.py: fix a mistake in previous commit 2015-11-25 00:05:44 +01:00
Uwe Stöhr
bfc749eb23 stdlayouts.inc: support for verbatim*
fileformat change
2015-11-24 23:56:26 +01:00
Uwe Stöhr
0ae337014e theorems-ams: add solution environment
fixes bug #6363 now completely
2015-11-18 02:36:49 +01:00
Uwe Stöhr
cc6c86ff3b theorems.inc: add environment "solution"
fileformat change, fixes bug #6363
2015-11-18 01:14:30 +01:00
Georg Baum
1fc3d051b1 Set \origin correctly when upgrading docs
lyx2lyx did not yet know about /systemlyxdir/ and set \origin to the path
where my git tree lives instead. This path is not usable except on my machine,
so better write something more usable instead.
This is a special command line switch of lyx2lyx, so it does not interfere
with normal usage. I did not try to deduce the systemlyxdir from lyx2lyx to
be on the safe side.
2015-11-11 21:35:12 +01:00
Georg Baum
2fc430d5ae Store both sets of font selections
This is one part of bug 9744: If you toggle between TeX fonts and non-TeX
fonts, the settings of the other choice are no longer thrown away, but stored
and re-activated if you switch back. Most parts of the patch are purely
mechanical (duplicating some BufferParams members), the only non-mechanical
change is in the GUI logic.
2015-11-09 07:36:42 +01:00
Uwe Stöhr
43a80ef7df lyx_2_2.py: add a safe guard 2015-11-04 02:18:28 +01:00
Uwe Stöhr
4933399507 lyx_2_2.py: fix the conversion of colored boxes 2015-11-04 01:36:39 +01:00
Uwe Stöhr
e52a4b738c lyx2lyx/lyx_2_2.py: remove unused code 2015-11-04 01:22:03 +01:00
Uwe Stöhr
62a69584e6 achemso.layout: add a flex inset
- this one is in achemso since version 3.8

- fileformat change
2015-11-04 01:18:13 +01:00
Richard Heck
4c16c61579 Add warning message if we do no conversion. 2015-11-01 16:32:52 -05:00
Richard Heck
221932f63a If lyx2lyx is asked to convert a file to the format it already is,
then just perform a null conversion. This seems better than aborting
with an error. I can imagine a script that converted all files in a
certain directory to format 498, and you don't want it to be an error
if one of them is already 498.

Prior to this, what lyx2lyx would do is convert to the lowest format
in the current version. So, e.g., asked to convert 498 to 498 it would
convert to 474. That is obviously wrong.
2015-11-01 16:27:58 -05:00
Juergen Spitzmueller
0314464392 remove debug message. 2015-10-31 12:10:49 +01:00
Uwe Stöhr
2c1851e2ec moderncv.layout: update some styles and add new ones
- support for at least modernCV 1.5 (layout will still work with moderncv 1.3 as before)
- fileformat change
2015-10-28 02:27:32 +01:00
Uwe Stöhr
ce933b1e14 colored-boxes.lyx: new example file for the tcolorbox.module
- also improve the tcolorbox.module

This is a fileformat change - only to be able to revert the new styles defined in the module.
2015-10-19 07:10:09 +02:00
Jean-Marc Lasgouttes
b7909e7e6c Remove support for precompiled headers for autotools
This was turned off by default for a long time, and it does not seem
to have any use these days.
2015-09-25 12:05:40 +02:00
Georg Baum
81e592603d Support units in external inset bbox
This brings the external inset on par with the graphics insets as far as the
clipping option is concerned. The graphicxs package supports both: A bounding
box without units (which means that bp ia assumed), and a bounding box with
units, so we can simply output the values including the units.
2015-07-16 22:06:35 +02:00
Georg Baum
0cbcc8a166 Remove InsetGraphics noUnzip parameter
Being able to compile document with zipped .eps files was a useful feature of
the graphicxs package 20 years ago, but the LyX support is no longer relevant:
- The flag is ignored if preview is on
- If pdflatex is used then uncompressing happens during the compilation anyway
- If set, the flag prevents LyX from issuing proper error messages if
something with the image is wrong
- For hard disk capacities from 20 years ago not uncompressing is a useful
feature, but for current hard disk capacities it does not matter
- The external inset does not have it, and if we want to merge both insets
one day we would need to implement it there, which is even more difficult
than in InsetGraphics
2015-07-16 20:44:47 +02:00
Georg Baum
a2f127f8c3 Fix lyx2lyx unicodesymbols escaping
The escaping of symbols read from unicodesymbols was inconsistent, which lead
to wrong replacements (bug 9559). Now the escaping is consistent: unicode_reps
contains unescaped LaTeX commands, the needed escaping for LyX files is
applied in put_cmd_in_ert() and lyx2latex().
2015-06-14 12:44:44 +02:00
Juergen Spitzmueller
aa4d41d282 Fix reversion of mathtools xarrows (bug #9620). 2015-06-14 10:47:31 +02:00
Uwe Stöhr
1b74cc421e lyx2lyx/lyx_2_2.py: fix typo in comment 2015-06-14 02:15:30 +02:00
Juergen Spitzmueller
77fa81a902 Fix revert_textcolor method (bug #9620) 2015-06-13 12:48:36 +02:00
Juergen Spitzmueller
111102909b Escape backslash 2015-06-13 11:37:36 +02:00
Richard Heck
e5323de7cf Try to fix bug #9587 correctly.
See the discussion there for the reasons for the changes.
2015-06-01 21:52:02 -04:00
Uwe Stöhr
098f160fc0 lyx2lyx/lyx_2_2.py: refine the colorbox reversion 2015-06-02 00:00:14 +02:00
Uwe Stöhr
abc922fc27 lyx2lyx/lyx_2_2.py: fix colorbox reversion
fixes bug #9587
2015-06-01 21:19:11 +02:00
Uwe Stöhr
5239a27bfc lyx2lyx/lyx_2_2.py: set correct default color 2015-06-01 20:57:45 +02:00
Uwe Stöhr
b621975fa7 lyx2lyx/lyx_2_2.py: remove unused code 2015-06-01 20:46:05 +02:00
Uwe Stöhr
266a047249 jss.layout: use Flex Inset for Code Chunk style as proposed by JMarc 2015-05-27 23:31:21 +02:00
Uwe Stöhr
f3c1a4fbeb jss.layout: remove superfluous Appendix style
- remove also the new superfluous lyx2lyx code
- update the template file
2015-05-27 02:13:04 +02:00
Uwe Stöhr
30f2accf77 jss.layout: changes as requested by the user in bug#9516
- added appendix style and lyx2lyx reversion
- add support for parsing \noindent
- update example file
2015-05-26 01:15:29 +02:00
Juergen Spitzmueller
dbe0096c12 Rename ref prefix "sub:" to "subsec:"
This solves a macro conflict between subfloat's \subref and our own
\subref definition (bug #7550)

File format change.
2015-05-24 13:50:21 +02:00
Uwe Stöhr
e6c225d582 jss.layout: support for more layouts
Since lyX 2.0 we support to use the in_preamble tag. This allows to support more commands. For an unknown reason I forgot the jss.layout when I updated the other layouts once.

Fileformat change
2015-05-24 03:34:36 +02:00
Uwe Stöhr
24b0ea7c95 lyx2lyx/lyx2lyx_tools.py: add support for parsing newline in lyx2latex 2015-05-23 23:58:19 +02:00
Enrico Forestieri
2e78738bf0 This is supposed to end with a '/' 2015-05-19 23:18:56 +02:00
Uwe Stöhr
5a1384d35c lyx2lyx/lyx_2_2.py: remove a hack
thanks Richard "hack" ;-) for the hint
2015-05-18 22:36:29 +02:00
Enrico Forestieri
a0afd3459f Take into account the file system encoding. 2015-05-17 18:02:47 +02:00
Georg Baum
69abac9605 Improve revert of mutlicolumn
Old LyX version can cope with degenerated multicolumn cells spanning only one
column, so these should not cause a conversion of the whole formula to ERT.
Such columns are used to set border lines or alignment for single cells.
2015-05-17 16:39:14 +02:00
Georg Baum
39329935f3 Parse \multicolumn in math (bug 396)
The math parser could not handle multicolumn grids. This is a problem because
there is no true ERT in math (everything is parsed).
Now multicolumn cells are parsed correctly. The display is also somewhat OK,
but apart from that any multicolumn related UI is missing. Since the file
format change is now done the UI can be added at any later point. The most
important part of bug 396 is now fixed: tex2lyx does not create invalid .lyx
files anymore for formulas containing \multicolumn.

I updated the tex2lyx test cases that produce correct output. tex2lyx does
still produce invalid output for the test cases which are not updated because
of the previous format change.
2015-05-17 13:43:37 +02:00
Uwe Stöhr
8ede3618f0 lyx2lyx/lyx_2_2.py: fix for a lyx2lyx issue
I don't understand why the string "shadowsize" is not already in the file because when I convert from format 474 to 489 it is added. So why is it not there when I convert from format 474 to 491.
2015-05-17 02:48:22 +02:00
Uwe Stöhr
d33caae010 lyx2lyx/lyx_2_2.py: correct a value 2015-05-16 23:29:09 +02:00
Uwe Stöhr
88593e0ec6 support for colored boxes
adds support to set colors for some box types (support for the LaTeX commands \fcolorbox and \colorbox)

fileformat change
2015-05-16 03:22:37 +02:00
Uwe Stöhr
53be3321ba lyx2lyx/lyx_2_2.py: a fix 2015-05-15 04:21:47 +02:00
Uwe Stöhr
225ecc581f lyx2lyx/lyx_2_2.py: correct a description 2015-05-15 03:41:43 +02:00
Uwe Stöhr
e35bb3126a support for all default colors of the package xcolor
fileformat change
2015-05-14 22:23:44 +02:00
Enrico Forestieri
306b136cc0 Fix bug #4812 (Layout in local directory lost on Save As, Copying)
The "save-as" part of the bug is fixed by extending the \textclass tag
such that, if a local layout file is used, its path relative to the
document directory is now stored together with the name. If a relative
path cannot be used, an absolute one is used but, in this case, the
document is not usable on a different platform.

The "copy" part is fixed by introducing a new \origin tag, which is
written when the file is saved. This tag stores the absolute path of
the document directory. If the document is manually copied to a
different location, the local layout file is retrivied by using
\origin (which is only updated on save).
This new tag may prove useful also for locating other files when the
document is manually moved to a different directory.

As in the original implementation the files needed for the layout
(for example, a latex class) had to be in the same directory as the
layout file, this directory has also to be added to TEXINPUTS.
2015-05-13 22:02:13 +02:00
Uwe Stöhr
8010b90cb4 add ability to change box line thickness and separation
fileformat change
2015-05-11 21:30:32 +02:00
Uwe Stöhr
94f6bf3367 lyx_2_2.py: fix a typo 2015-05-10 01:35:55 +02:00