Commit Graph

1508 Commits

Author SHA1 Message Date
Richard Kimberly Heck
96ea84e042 Speed up convert_specialchars. Part of #11200. 2018-07-21 22:18:22 -04:00
Richard Kimberly Heck
4cb209b121 Speed up convert_captionlayouts. Part of #11200. 2018-07-21 22:18:09 -04:00
Juergen Spitzmueller
e6e3777363 Add support for bib files encoding
File format change.

Fixes: #6223
2018-07-07 15:25:35 +02:00
Juergen Spitzmueller
9dcb24d578 Support varwidth's V tabular column type
This effectively enables linebreaks, multipars and layout changes in
non-fixed width (i.e., standard) table columns.

Fixes: #6577

TODO: metrics are wrong (too wide) on screen with linebreaks.
2018-07-01 19:18:38 +02:00
Juergen Spitzmueller
f38816bf16 Add support for tabularx/xltabular
I.e., variable width columns in single and multiple page tables

Files format change.

Fixes: #4154, #4155
2018-06-24 10:05:15 +02:00
Juergen Spitzmueller
98621be1ba Support \cite command in tufte classes
This is an extra command used for sidenote citations. Since we do not
provide \cite with natbib (which tufte uses) as a choice, we use the
new AddToCiteEngine feature to add it.

File format change.

Fixes: #11150
2018-05-21 13:46:04 +02:00
Juergen Spitzmueller
aa9543fa2b Add support for global float alignment
It is now possible in the float settings (doc dialog) to specify a global
(inner) alignment for floats, and in the float settings, this can be
overridden (just as with float placement)

Fixes: #8665

File format change.
2018-05-10 20:15:11 +02:00
Juergen Spitzmueller
57dc817581 Add \nospellcheck font property
This revives a ten year old idea (and patch) by Dov.

You can now mark in the character dialog text and exclude it from spell
checking.

Fixes: #1042

File format change

Remaining issue: The instant spell checking marks are not immediately
removed, but only after some editing.
2018-05-06 19:48:21 +02:00
José Matos
94905f9ce3 Use insert_document_option to remove Georgian when reverting.
Less code for the same functionality. :-)
2018-04-28 18:47:32 +01:00
José Matos
08182ead14 Remove spurious spaces at the end of lines 2018-04-28 18:31:31 +01:00
José Matos
ea8b0df0e4 Add new semantic functions to add an remove document options.
The objective is to identify common operations and place them
in functions in order to improve the readability and correctness of the code.

is_document_option(document, option):
  Find if _option_ is a document option (\\options in the header).

insert_document_option(document, option):
  Insert _option_ as a document option.

remove_document_option(document, option):
  Remove _option_ as a document option.
2018-04-28 15:10:09 +01:00
José Matos
91ded82b52 Small improvement to pre-historic file format conversion. 2018-04-28 14:57:57 +01:00
José Matos
1fe328666c Improve the readability of lyx2lyx -l option
Example:
$ lyx2lyx -l
...
2.2     stable format:       508
        stable versions:     ['2.2.0', '2.2.1', '2.2.2', '2.2.3', '2.2.4']
        development formats: 475 - 507

2.3     stable format:       544
        stable versions:     ['2.3.0']
        development formats: 509 - 543

2.4     stable format:       -- not yet --
        stable versions:     -- not yet --
        development formats: 545 - 550
2018-04-28 14:42:31 +01:00
Juergen Spitzmueller
26ea1e1496 Align fontenc with document fonts
Following a request by Günter, we consider the document fonts (only rm
for now) when selecting an appropriate font encoding.

See #9741

The new default font encoding setting "auto" does

* consider the font encoding needed by the language(s), which can now
  have fallback alternatives
* Consider which font encoding is provided by the document font

Thus, cm now will result in OT1 fontenc, if the language can deal with
that.

The font_enc pref is ditched: it is no longer needed.

The automatism is still very basic and is subject to extension.

File format and prefs format change.
2018-04-22 19:06:46 +02:00
Juergen Spitzmueller
02d37932d0 \textcyr -> \textcyrillic
Use the command as defined by Babel. This allows us to use the (more
advanced) Babel command if provided instead of rolling our own.

I add a dummy file format change in case it turns out we need to
do something here for old documents (e.g. with user preamble definitions)
2018-04-21 16:28:15 +02:00
Juergen Spitzmueller
97e1806c4a Add a floating landscape inset 2018-04-18 16:20:19 +02:00
Juergen Spitzmueller
2551614ff1 Add Landscape module
Support for the (pdf)lscape package.

Fixes: #10801
2018-04-18 14:36:49 +02:00
Juergen Spitzmueller
feab528fd1 Add support for rotated longtabulars (via [pdf]lscape)
Fixes: #9194

See #9194 for why we use an earlier file format change here.
2018-04-18 13:22:29 +02:00
Richard Kimberly Heck
aabd3514dc Update version number in lyx2lyx. 2018-03-26 10:41:49 -04:00
Juergen Spitzmueller
cf9f077100 lyx2lyx fixes for the recent font additions. 2018-03-16 09:02:29 +01:00
Juergen Spitzmueller
6a0f0d28a5 Add support for xcharter font.
File format change.

Patch by Yuriy Skalko.
2018-03-15 15:44:49 +01:00
Uwe Stöhr
d3c51876a9 add support for the PT fonts
- fileformat change
- I also started https://wiki.lyx.org/LyX/NewInLyX24 for new features
2018-03-10 19:59:48 +01:00
Juergen Spitzmueller
e0a5babde7 Add literal param to InsetInclude
This is used by lstinput

File format change.

Fixes: #10544.
2018-02-23 08:58:16 +01:00
Juergen Spitzmueller
5b331b1466 Fix convert_separator routine with ancient LyX files. 2018-02-19 18:03:52 +01:00
Günter Milde
8f86b72cf4 lyx2lyx fixes and cleanup.
Don't insert empty line when translating QuoteInsets to literal
quotes.

Fix regexp pattern in re/convert_dashligatures.

Adjust logic in re/convert_dash(ligatur)es.
2018-02-09 16:49:23 +01:00
Günter Milde
e4f90cdf65 lyx2lyx refactoring.
Avoid duplicate code. Fix some corner-cases.
2018-02-07 18:49:21 +01:00
Günter Milde
2ddaa0a59b New lyx2lyx parser tools find_substring() and set_bool_value(). 2018-02-07 18:49:20 +01:00
Günter Milde
2b451f01f5 Add newlines around \backslash in put_cmd_in_ert.
Fix for 2fce4d49ee.
2018-02-04 10:16:54 +01:00
Günter Milde
2fce4d49ee lyx2lyx refactoring.
* use unicode.transform() instead of loop over replacements
* telling variable names
* remove trailing whitespace
* documentation update
* don't set use_ligature_dashes if both dash types are found
* remove spurious warning, normalize indentation, and use
  Python idioms in revert_baselineskip()
2018-01-31 21:13:43 +01:00
Günter Milde
a151b274bf Fix lyx2lyx dash conversion and make it faster. 2018-01-24 17:38:19 +01:00
Günter Milde
a77cfef1c6 Fix some more lyx2lyx round-trips.
Also restore corrupted seminar example.
Add default return value to parser_tools.is_in_inset().
2018-01-24 01:04:14 +01:00
Günter Milde
67eca412ff Fix some lyx2lyx round-trip tests.
Fix cases where lyx2lyx adds changes with every round cycle
uncovered by recent ctest change.

Add optional `delete` argument to parser_tools.get*value():
If True, delete the matching line.

More efficient "allowbreak" con/reversion.
2018-01-23 14:01:30 +01:00
Günter Milde
8da6cdcf23 New lyx2lyx tools.
New lyx2lyx parser tools find_complete_lines() (replaces find_slice),
del_complete_lines(), and find_across_lines(). Default value 0
for start argument in utility functions.

Rework the implementation of dash-conversion.
2018-01-23 09:10:50 +01:00
Günter Milde
8e825de4b2 Fix preamble-code removal in lyx2lyx. Do some optimizations.
Fix failure of revert_dashes() found by lyx2lyx ctests
using an efficient function to find a given sequence of lines
in a list of lines.

Some optimizations using Python idioms instead of C-like code.
2018-01-21 19:55:27 +01:00
Günter Milde
9ce5d8578b Prevent rows of hyphens becoming dashes when back-porting to 2.1.
Insert ligature breaks between hyphens where
they are separate in 2.2 but ligated by TeX in 2.1.

This fixes output with LyX 2.1 and prevents -- and --- becoming
en and em dash in the LyX source after a round-trip to 2.1
and back.

Solves lyx2lyx ctest failures with a warning about
possible line-break changes.
2018-01-17 21:39:03 +01:00
Günter Milde
6fe2e45f97 Remove trailing whitespace in lyx2lyx. 2018-01-17 09:48:08 +01:00
Günter Milde
73b6f42362 Do not convert dashes/hyphens in LyX-Code.
See previous commit and #10961
2018-01-10 12:07:36 +01:00
Günter Milde
cb1fda9988 Do not convert dashes/hyphens in Code insets (logical markup).
Code is by default rendered as typewriter and should be treated
similar:
In text marked up as code, -- or --- is typically part of a
command (e.g. "lyx --help" or "x--") and not a transliteration
for en dash, see #10961.
This is already handled so for text in typewriter font
(see Text.cpp:500).
2018-01-10 12:07:36 +01:00
Juergen Spitzmueller
7da8473c4f Start inset at new line 2018-01-06 10:43:44 +01:00
Scott Kostyshak
713fd70e8f Fix Python escaping of unicode string
When removing "r" from "ur", it is needed to add extra backslashes.
See:

  https://www.mail-archive.com/search?l=mid&q=2024193.iXIh6cq6L3%40myth

Thanks to José.

This commit amends b7983478 (and thus 586d16a4).
2017-12-26 02:10:49 -05:00
Scott Kostyshak
b7983478e1 Fix Python unicode string in lyx2lyx
This commit amends 586d16a4.
2017-12-23 21:47:08 -05:00
Günter Milde
586d16a49c Fix lyx2lyx conversion of dashes. 2017-12-19 14:10:57 +01:00
Uwe Stöhr
6c6cf5e071 use https:// in the first line of .lyx files
- also support to detect https via tex2lyx
2017-12-17 02:24:26 +01:00
Juergen Spitzmueller
648ddd25ec Collapsable -> Collapsible (part 1)
The current spelling is not strictly wrong, but flagged as unusual or
historical by some authorities. It is also found fault with many
spell checkers. Thus we decided to move to the more standard "-ible"
form once and for all.

See #10678 for discussion

This part only covers the usage in comments and the like. More to follow.

This will all also all be backported to 2.3.x, for the sake of backwards
compatibility (cherry-picking).
2017-10-16 10:03:05 +02:00
Juergen Spitzmueller
4c62e25ed6 Fix #10760 2017-09-10 19:45:01 +02:00
Enrico Forestieri
8dab1cfe7e Fix bug #9101
Update the listings inset to optionally use the minted package
(instead of the listings one) for typesetting code listings.
Only one of the two packages can be used in a document, but it
is possible to switch packages without issues if the used options
are the same. If a switch is made and the options differ, one needs
to manually adjust them if they were entered in the advanced options
tab, or apply again the gui settings.
Note that minted requires the -shell-escape option for the latex
backend and the installation of additional software (python pygments).
2017-06-07 00:55:23 +02:00
Uwe Stöhr
bc9a7a21c8 lyx_2_3.py: assure that leqno /reqno is only handled if it is a document class option 2017-05-17 01:23:59 +02:00
Uwe Stöhr
220f504941 lyx_2_3.py: remove senseless warning 2017-05-17 01:11:58 +02:00
Richard Heck
d75c0ec8b1 Fix reversion of noprefix option for InsetRef.
Basically forgot to remove the option when we're not dealing with
a labelonly inset.
2017-05-16 12:34:56 -04:00
Uwe Stöhr
0dd3311dd4 rename buffer parameter math_number_before to math_numbering_side
this is a fileformat change

also try to fix an UI issue that JMarc gets
2017-05-13 20:39:45 +02:00
Juergen Spitzmueller
f943897d85 IndexPrint and Nomencl were not fully latexified.
Do not treat them as non-verbatim in conversion. This keeps math $...$
as math.

There will be problems with characters that are outside the given
encoding, but as long as there is no way to convert them to the
respective LaTeX macros from within lyx2lyx, I don't know how to solve
this.
2017-04-29 13:54:01 +02:00
Uwe Stöhr
3f8c15a7c6 support for the document class option leqno
- fileformat change
2017-04-25 02:28:10 +02:00
Uwe Stöhr
9ef3edf6d7 lyx_2_2.py: fix box reversion routine again
silly mistake, now Math.lyx reverts correctly again.
2017-04-21 01:05:54 +02:00
Günter Milde
f5ac0580ff special character "allowbreak" (ZWSP), fileformat change
New special character to mark an optional line break
without inserting a hyphen (ZWSP). See #10585.

Corresponds to the Unicode character U+200B ZERO WIDTH SPACE

 This isn't a “space”. It is an invisible character that can be used
 to provide line break opportunities.
 ​http://unicode.org/notes/tn27/

While the literal Unicode character can be used in the LyX
file, it is invisible in the GUI.

For visible feedback, the patch adds a new special character "allowbreak".

The small mark is inspired by LibereOffice.
A tooltip is added.
2017-04-20 23:28:48 +02:00
Uwe Stöhr
bc0591a265 lyx2lyx/lyx_2_0.py: fix a box reversion bug
- the use_makebox statement was not removed for nested boxes
2017-04-17 19:17:54 +02:00
Uwe Stöhr
5b4cc6b6c8 lyx2lyx/lyx_2_2.py: correct reversion of boxes 2017-04-17 04:06:52 +02:00
Uwe Stöhr
6c2a8df504 lyx_2_3.py: whitespace fixes 2017-04-16 16:24:01 +02:00
Uwe Stöhr
e07cb1da96 lyx_2_2.py: fix reversion of colored boxes with special features 2017-04-15 19:58:56 +02:00
Uwe Stöhr
3677c20be9 BufferParams.cpp: correct output for \mathindent after [fc1c5c6f/lyxgit]
- also adapt the lyx2lyx logic to the changed implementation
2017-04-15 17:32:58 +02:00
Uwe Stöhr
58e6c6c876 InsetFloat: allow float placement for rotated floats
- fixes bug #10270
- fileformat change
- fixes also a bug that unwanted placement was output to LaTeX on certain cases
2017-04-15 06:57:52 +02:00
Uwe Stöhr
fc1c5c6f28 BufferParams: rename formula_indent to math_indent etc. as requested
- also add flyx2lyx feature to import existing document class option as requested by JMarc
- also don't use a real default indentation length
2017-04-13 02:31:26 +02:00
Uwe Stöhr
b3b7675f54 Length.cpp: add new unit representing \baselineskip
- fileformat change
2017-04-08 03:30:21 +02:00
Uwe Stöhr
808339790c support to indent formulas
- adds support for the general document class option fleqn
- adds support to specify the formula indentation
- fileformat change
2017-04-05 22:22:47 +02:00
Uwe Stöhr
e575e7eebd Add support to cross out characters
- adds support for the command \xout of the LateX package ulem
- fileformat change
2017-04-05 00:01:19 +02:00
Uwe Stöhr
7aaa85915f latexfonts: support for the Noto fonts
- fileformat change
- the support to scale the sf and the tt fonts can be added later, see enhancement #10611
2017-04-04 23:02:47 +02:00
José Matos
67bf174b10 lyx2lyx: convert iteritems -> items to be compatible with python 2 and 3 2017-03-29 12:34:53 +01:00
José Matos
bcf715f398 lyx2lyx: fix #9006 (python3 with non-utf8 encoding as the system default)
This patch fixes lyx2lyx running on python 3 for those systems
where the default encoding is not UTF-8, since open by default
uses the default system encoding.
2017-03-27 11:35:29 +01:00
José Matos
1269860b45 lyx2lyx: remove trailing whitespaces from lyx_1_6.py 2017-03-27 11:26:58 +01:00
José Matos
463e12827c lyx2lyx: more descriptive member name (document.start -> document.initial_format) 2017-03-27 10:36:30 +01:00
José Matos
37901e2e25 lyx2lyx: Cosmetic clean up of the lyx_2_?.py files.
Remove the duplicated \# -*- coding: utf-8 -*-
lines that show in the third line.
As far as I know they are not used, the first line though is used
by python and text editors (emacs, vi & co) to get the file encoding.
That will also work in the second lines (because of the shebang convention)
but not in other lines.

Remove trailing whitespaces.
2017-03-27 10:16:31 +01:00
Enrico Forestieri
be3f628e7d Also account for development versions 2017-03-20 15:08:17 +01:00
Enrico Forestieri
56bec528b5 Amend 72a488d7
- Mention the new buffer parameter in development/FORMAT

- Assure that lyx2lyx generates the same output obtained when saving
  a converted document from within lyx

- Don't require any action when converting a document created with
  lyx 2.2 in order to assure unchanged output (thanks José for the hint)
2017-03-20 14:37:25 +01:00
Enrico Forestieri
72a488d7e6 Fix output of en- and em-dashes with TeX fonts
This commit fixes the regression introduced in 2.2 about the
output of en- and em-dashes. In 2.2 en- and em-dashes are output as
the \textendash and \textemdash macros when using TeX fonts, causing
changed output in old documents and also bugs (for example, #10490).

Now documents produced with older versions work again as intended,
while documents produced with 2.2 can be made to produce the exact
same output by simply checking "Don't use ligatures for en-and
em-dashes" in Document->Settings->Fonts.

When exporting documents using TeX fonts to earlier versions, in order
to avoid changed output, a zero-width space character is inserted after
each en/em-dash if dash ligatures are allowed. These characters are
removed when reloading  documents with 2.3, so that they don't accumulate.
2017-03-19 20:50:34 +01:00
José Matos
ef6ff7fb53 lyx2lyx: Remove UTF-8 BOM if present in the lyx file 2017-03-15 10:06:30 +00:00
Juergen Spitzmueller
bedebfc45a Support for multiple bibliographies setting "per child"
This adds support for the chapterbib package, but also adds ways to
produce this sort of multibib with biblatex and bibtopic (which are
both incompatible with chapterbib).

File format change.
2017-02-04 19:23:45 +01:00
Juergen Spitzmueller
7ca20b292c Support for multiple bibliographies
Using refsection=unit in biblatex, or bibtopic's btUnit environments
in BibTeX.

File format change.
2017-02-04 12:02:00 +01:00
Juergen Spitzmueller
e15a8f3551 Extend LATEXIFY command param handling and add literal param.
File format change.

This allows for the relevant InsetCommand-based dialogs (such as
citation text before/after, Bibitem label, hyperlink name etc.)
to provide both the input of verbatim code or text that is transformed
to proper LaTeX code.

Some dialogs (Nomencl, Href) already had some methods (although they
could not be toggled), which are now centralized and streamlined.

The initial work of this patch has been done by Georg Baum (see
http://www.lyx.org/trac/attachment/ticket/2751/x.diff)

Fixes: #2751, #8227.
2017-01-30 07:44:55 +01:00
Juergen Spitzmueller
68ab4023cc Support for "qualified citation lists"
These are biblatex-specific multicite commands that allow for multiple
pre- and postnotes, as in:

\cites(pre)(post)[pre1][post1]{key1}[pre2][post2]{key2}...

with an optional general pre- and postnote, which applies to the whole
list (like [][] in normal cite commands) and an optional pre- and
postnotes for each item, so that pagination can actually be specified in
multi-cite references, as in:
(cf. Miller 2015, 2; furthermore Smith 2013, 23-23; Jenkins 2012, 103,
also refer to chapter 6 in this book)

See the biblatex manual, sec. 3.8.3., for details.

File format change.
2017-01-21 14:25:17 +01:00
Richard Heck
5cb5d2cb5a Do not replace "--" with "\twohyphens" in formula macros. 2017-01-18 21:48:35 -05:00
Richard Heck
857c099e03 Remove very old debug code. 2017-01-15 11:35:50 -05:00
Juergen Spitzmueller
d9f7642bd7 Fix revert_bibpackopts lyx2lyx routine 2017-01-15 12:48:43 +01:00
Juergen Spitzmueller
fc546b7dcc Basic support for natbib & jurabib options
This re-uses the options line edit introduced for biblatex.
2017-01-13 18:23:42 +01:00
Juergen Spitzmueller
327602d01d Implement "key only" citation style
File format change.
2017-01-13 11:53:22 +01:00
Juergen Spitzmueller
352a8e115f Merge branch 'master' into biblatex2 2017-01-08 18:41:11 +01:00
Juergen Spitzmueller
ae708fbeb6 Fix typo 2017-01-08 18:37:08 +01:00
Juergen Spitzmueller
8319b3e9d6 Biblatex support
File format change
2017-01-08 09:39:46 +01:00
Richard Heck
ff3690a5fd Add a "noprefix" option to the "labelonly" version of the reference
inset.

If the reference is "sec:mysec", then this will output just "mysec".
This is what is needed, e.g., to use refstyle's range commands, e.g.,
    \secrangeref{mysec1}{mysec2}
You *cannot* use:
    \secrangeref{sec:mysec1}{sec:mysec2}
even if those are the actual labels.

Eventually, I'd like to add native support for this, but I'm a bit
frightened of trying to make the reference dialog support multiple
selections.
2017-01-07 15:07:44 -05:00
Richard Heck
516423c54e Polish plural and capitalized reference reversion.
Thanks to Scott for noticing the problem.
2017-01-05 02:50:18 -05:00
Richard Heck
73f59e87bd Add ability to use refstyle's plural and capitalization features. 2017-01-02 22:32:36 -05:00
Richard Heck
c513c26e62 Label only command for reference dialog. 2017-01-02 18:08:30 -05:00
Juergen Spitzmueller
f8a85f35be Add support for the Crimson font
We use the more comprehensive cochineal package if available and fall
back to the crimson package, if not.

Math support is provided by means of newtxmath

Fixes: #9974, #9976
2016-12-29 16:45:19 +01:00
Juergen Spitzmueller
89ce0c9069 Support for CJK quotation marks
File format change

Fixes: #2712
2016-12-26 14:03:48 +01:00
Juergen Spitzmueller
36a679344a Implement dynamic quotation marks
File format change.
2016-12-25 12:19:02 +01:00
Juergen Spitzmueller
237193f8a8 Some new quote styles
* b    `british'    (``inner quotation'')
* w    >>swedishg>> ('inner quotation')   ["g" = Guillemets]
* f    <<french>>   (``inner quotation'')
* i    <<frenchin>> (<<inner quotation>>) ["in" = Imprimerie Nationale]
* r    <<russian>>  (,,inner quotation``)

Rename "french" to "swiss"

Also rename "single/double" to "secondary/primary" ("inner/outer" in
the UI) and "left/right" to "opening/closing". Note that the inset
identifier string is left as is ("s/d" and "l/r")
2016-12-24 14:27:00 +01:00
Juergen Spitzmueller
1ed70d10fd Add "Plain" quotation mark style
File format change
2016-12-21 15:17:30 +01:00
Juergen Spitzmueller
857506e992 Rename \\quotes_language to\\quotes_style
File format change.
2016-12-20 18:54:07 +01:00
Richard Heck
7a584f71bd Simplify some lyx2lyx code.
Also, if the local layout we are removing is all there was, then
we can remove the entire block.
2016-12-13 22:03:59 -05:00
Richard Heck
b75c718d57 New format for changes to iopart.layout made at 91f980cf31. 2016-12-13 21:49:04 -05:00
Juergen Spitzmueller
a5ebabbb99 speed up lyx2lyx reversion for non-Hebrew documents 2016-12-13 07:30:40 +01:00
Juergen Spitzmueller
e8b1ec66fc Fix some thinkos in the revert_quotes routine 2016-12-12 10:49:08 +01:00
Juergen Spitzmueller
fceae79325 revert_quotes: consider verbatim layouts and some forgotten insets. 2016-12-10 12:54:12 +01:00
Juergen Spitzmueller
e8c932ff84 Enable InsetQuote in verbatim and Hebrew
In this context, the inset outputs straight quotes in LaTeX.

File format change.

Fixes: #7309
2016-12-10 11:53:42 +01:00
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
Uwe Stöhr
3c9442fd04 lyx2lyx/lyx_2_2.py: correct a description 2015-05-03 02:16:32 +02:00
Juergen Spitzmueller
c886679160 Rewrite the linguistic Glosse insets.
This gets rid of the PassThru hack and makes the inset actually usable
for linguistists.

Fixes: #7773

File format change.
2015-04-21 20:33:35 +02:00
Juergen Spitzmueller
c1dcecb376 Fix version number 2015-04-21 15:48:32 +02:00
Juergen Spitzmueller
7158f7b58d Add support for linguistic trees (via forest) 2015-04-20 18:14:42 +02:00
Juergen Spitzmueller
225a37be39 Support item argument in linguistic examples
File format change.
2015-04-20 12:15:20 +02:00
Georg Baum
4069e3daed Update tex2lyx test references
The lyx2lyx conversions for the new formats are empty, therefore we can simply
update the format number.
2015-04-12 10:07:42 +02:00
Juergen Spitzmueller
319ee3296a File format change caused by 34eadf5d4. 2015-04-09 11:01:44 +02:00
Uwe Stöhr
6d4aec1f0e lyx2lyx/lyx_2_2.py: correct a whitespace mistake 2015-04-06 06:08:26 +02:00
Uwe Stöhr
c6b17b685a support for Georgian
add support to set Georgian as document language, fileformat change
2015-04-06 06:00:11 +02:00
José Matos
908e93df50 Fix bug #9279
Make lyx2lyx parser a bit more robust.

Ignore if the first line of a lyx file does not start with a #
Add such a line if it is missing..
2015-03-31 15:14:26 +01:00
Juergen Spitzmueller
0e62bf9e0a Fix thinko in convert_corollary_args
Fixes: #9478
2015-03-24 21:43:25 +01:00
Georg Baum
49ac79100b Make InsetSpecialChar names more consistent
This is the rersult of a discussion on the list. Now all special characters
have meaningful names, and it is clear that the LyX file syntax is not LaTeX.
2015-03-23 21:28:04 +01:00
José Matos
9a0d70a45f First step to make lyx2lyx code support both python 2 and python 3 (3.3+)
Most of the changes are related with dictionaries returning views instead of
lists.

xrange -> range (since xrange is gone in python 3)

The code that is special to support both python 2 and 3 is enclosed in a comment
 \# Provide support for both python 2 and 3
and
 \# End of code to support for both python 2 and 3

And so later it can be removed safely when python 2 is no longer supported.
2015-03-11 12:09:18 +00:00
Georg Baum
c0041e7fa5 Fix stupid copy-paste error
Now the conversion to 2.1.x works again
2015-03-02 20:57:26 +01:00
Georg Baum
317b29dc6d Fix lyx2lyx conversion for file insets
Both the hyphen and special phrase conversion did not exclude insets which
reference external files. This was wrong since LyX does not replace
\SpecialCharNoPassThru etc for these insets.
2015-03-01 22:16:45 +01:00
Georg Baum
3e9e6e344a Replace automatic logofication with insets
Previously, LyX did replace some words with typeset logos, and there was no
way to prvent this except putting them, in ERT (bug #4752). Now we have
special insets for these words, and standard text is left alone.
2015-03-01 11:16:57 +01:00
Georg Baum
d50154ab04 Fix wrong CommandInset lyx2lyx conversion
Thanks to Scott for testing. Command insets do not use InsetText for the
arguments, so users have to write them in LaTeX syntax (this is bug #4595).
Therefore we must leave hyphens alone in these insets.
2015-03-01 10:52:13 +01:00
Georg Baum
ddb82b74f0 Make convert_dashes and revert_dashes symmetric
Otherwise we could destroy math stuff.
2015-02-26 20:34:36 +01:00
Georg Baum
8aa37c43a1 Fix plaintext output of dashes (bug #3647)
Previously, consecutive dashes in .lyx files were combined to endash and emdash
in some cases, and in other cases they were output as is. This made the code
complicated, and resulted in inconsitencies ((bug #3647).
Now, a dash in a .lyx file is always a dash in the output, for all flavours.
The special handling is moved to the input side, so that you still get an
endash if you type two hyphens. If needed, this can be changed or made
customizable without the need to update the file format again. Many thanks
for the fruitful mailing list dicsussion, which contributed significantly to
the final version.
2015-02-24 22:06:12 +01:00
Juergen Spitzmueller
712773eeed Fix reversion of beamer description overlay args
Candidate for branch.
2015-02-13 17:45:38 +01:00
Juergen Spitzmueller
b47b4299e0 Fix conversion of beamer block arguments where the overlay argument and the closing title argument bracket share the same ERT
Fixes: #9411
2015-02-13 16:01:57 +01:00
Juergen Spitzmueller
24d3236493 Fix conversion of frame ends when frame is nested in inset
Fixes: #9409
2015-02-13 10:15:29 +01:00
Juergen Spitzmueller
3d8b02b58e Fix bug in get_containing_inset and get_containing_layout
We have to check if this is really a parent (or just the first inset/layout we have).

Candidate for branch.
2015-02-13 10:13:43 +01:00
Juergen Spitzmueller
706960eba4 Add Question and Question* theorem types (bug #9015)
File format change.
2015-01-09 11:24:45 +01:00
Juergen Spitzmueller
9a84737d5b Honor paragraph parameters when converting chunk layouts.
Fixes: #9320.
2014-12-01 12:35:46 +01:00
Juergen Spitzmueller
50a77ab2d1 Fix and simplify par params parsing in get_containing_layout.
The previous verion did not catch \align <alignment>.

Richard, this should go to branch as well.
2014-11-29 10:54:05 +01:00
Jean-Marc Lasgouttes
6442b3a0c0 Fix reverting of chunks insets to 2.0 format
When the chunk inset did not have an optional argument, the prefix of the chunk was omitted.

Fixes bug: #9343
2014-11-27 16:32:58 +01:00
Juergen Spitzmueller
4066fcac16 Fix conversion of beamer block titles when the language is switched at the beginning of the title 2014-11-25 17:47:14 +01:00
Richard Heck
9ee9c9b97d Fix bug 9300. We need manually to convert newlines to paragraph breaks.
(cherry picked from commit 8f40d784c0)
2014-11-04 10:05:59 -05:00
Juergen Spitzmueller
15d3b7bae2 lyx2lyx: fix convert_chunks for empty chunk layouts
Fixes: #9298
2014-10-15 14:07:14 +02:00
Juergen Spitzmueller
5fed02159c Fix some convert_TeX_brace_to_Argument glitches
Fixes: #9273
2014-09-16 17:42:19 +02:00
Kornel Benko
6c7b5b12c7 Add cmake files to autoconf's dist 2014-08-31 15:21:20 +02:00
Juergen Spitzmueller
9a702f195d Add support for beamer lemma environment.
File fomat change.
2014-08-31 12:30:14 +02:00
Juergen Spitzmueller
98ab605041 Fix lyx2lyx issue with complex beamer arguments.
Fixes: #9254
2014-08-30 13:24:29 +02:00
Uwe Stöhr
94a9c127e3 support for the LaTeX commands \x***arrow
- this patch supports the \x***arrow commands provided by the mathtool package
- fileformat change
2014-08-25 00:44:09 +02:00
Juergen Spitzmueller
e9681bbe08 Do not break documents with complex beamer block ERT usage we cannot handle
Fixes: #9144
2014-08-03 12:21:35 +02:00
Juergen Spitzmueller
d62ba3c333 Improve parsing of ERT arguments in beamer block titles.
Fixes: #9225
2014-08-01 09:42:43 +02:00
Juergen Spitzmueller
cc56c64ede Fix beamer block conversion when arguments are in multiple ERTS.
Fixes second part of #9208.
2014-07-27 11:30:25 +02:00
Juergen Spitzmueller
728cf1edf3 Add beamer-resenumerate (from our wiki) to the list of safe modules for argment conversion, since it is safe.
Fixes part of #9208.
2014-07-27 10:23:17 +02:00
Juergen Spitzmueller
0c3b88e3cb Support for Swiss German (old spelling) 2014-07-05 13:38:55 +02:00
Georg Baum
22dcdd6d8f Fix bug #9162: Missing \use_indices
The lyx2lyx conversion for format 352 was incomplete: It should have been
added the \use_indices setting, but it relied on the fact that the default in
LyX for missing \use_indices is the same as the old format without that
setting used. However, the default might change in the future, and later
lyx2lyx conversions rely on that setting as well.
2014-07-04 19:55:44 +02:00
Kornel Benko
1b3e4c73f8 Cmake tests: Added parser_tools test to the lyx2lyx group tests 2014-06-12 09:07:57 +02:00
Georg Baum
1187b8834e Include lyx2lyx test in tarball 2014-05-29 15:13:59 +02:00
Georg Baum
11be833a2e Execute lyx2lyx unit test when running tests
Actually lyx2lyx has a tiny unit test. Add it to the autotools test machinery
and fix it: Since nobody knew about it the test was of course broken.
2014-05-29 14:57:05 +02:00
Georg Baum
55af9cb006 Fix the fix
MAC-style (pre-OS X) line ends were not recognized anymore
2014-05-29 14:44:38 +02:00
Georg Baum
c75c6e446a Do not corrupt documents without newline at EOF
trim_eol() assumes that a line always ends either with \n, \r, or \r\n.
This assumption is always valid except for the last line of a document, since it
may miss the trailing newline. LyX does not create such documents, bu they may
result from automatic creation tools, and LyX can read them, so lyx2lyx should
be able to read them as well.
2014-05-29 13:15:07 +02:00
Enrico Forestieri
0080201977 Avoid processing multiple times the same paragraph when converting latex arguments. 2014-05-29 11:05:34 +02:00
Enrico Forestieri
dbd4d781dc Fix an off-by-one error in the reversion of beamer documents. 2014-05-29 10:55:30 +02:00
Enrico Forestieri
da75d31948 Fix reversion of box insets. 2014-05-29 10:44:02 +02:00
Georg Baum
4cea2efe21 Native support for \notag
This is mainly needed to reduce the amount of ERT if you convert AMS example
documents with tex2lyx. No GUI support is needed, since \notag is equivalent
to \nonumber.
2014-05-27 22:17:35 +02:00
Georg Baum
5dc9568f8d Native support for \smash[t] and \smash[b]
This is a follow-up of bug #8967. The implementation is self-explaining, the
only part which needs a comment is lyx2lyx: Since a 100% correct solution is
not possible, it has been decided not to switch amsmath off in the forward
conversion if no other ams command than \smash[t] and \smash[b] is used, but
to consider it a bug that older versions do not load amsmath automatically for
these commands. In the backward direction it is easy to keep the document
compilable, so just do that.
2014-05-27 22:13:58 +02:00
Juergen Spitzmueller
c7eb04158f Clean up empty ERTs that are produced in comples beamer argument conversions 2014-05-25 22:46:42 +02:00
Juergen Spitzmueller
e8e75f45b9 Support spreaded argument delimiters in beamer block conversion 2014-05-25 22:42:44 +02:00
Juergen Spitzmueller
57664026f2 In collorary conversion, support argument delimiters spread over several ERTs
The roundtrip still has issues.
2014-05-25 15:08:08 +02:00
Juergen Spitzmueller
36051e1daa Fixes in the beamer block routine
This makes beamerlyxexample1 open after the roundtrip, but the file does not compile yet (remaining issues in other routines)
2014-05-25 15:00:38 +02:00
Juergen Spitzmueller
c21e51a4f9 Fix nesting in some beamer reversion methods.
Patch by Enrico
2014-05-21 11:37:51 +02:00
Juergen Spitzmueller
9b4160e0f8 Fix reversion of beamer overprint when a nested paragraph has an argument 2014-05-21 11:36:47 +02:00
Enrico Forestieri
cda00d8329 Fix reversion of beamer documents.
Beamer documents do not have a "--Separator--" layout but a
"Separator" one. Also fix a thinko causing the deletion of
"\end_layout" tags in some cases.
2014-05-19 19:39:51 +02:00
Richard Heck
72acf9fb27 Fix copy/paste error, and whitespace. 2014-05-19 09:41:05 -04:00
Richard Heck
eb26d85dc9 Add limits to searches in convert_TeX_brace_to_Argument. 2014-05-18 11:24:53 -04:00
Georg Baum
ced24dea55 Fix lyx2lyx warning for tex2lyx files
I would not have thought that reLyX was considered, but not tex2lyx!
2014-05-12 22:06:24 +02:00
Richard Heck
62d4af2f9c Install lyx2lyx/lyx_2_2.py. 2014-05-12 09:16:31 -04:00
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Juergen Spitzmueller
769b585176 Beamer block conversion: consider ERT arguments with leading/trailing blanks
Should also go to branch.
2014-05-08 15:14:44 +02:00
Vincent van Ravesteijn
b0629c79ac lyx2lyx: Update the emergency value
Actually, this should not be hardcoded.
2014-04-29 15:50:41 +02:00
Georg Baum
d6fecb4aa4 Fix table rotate conversion to 2.0 format
The old code did create invalid documents, since the space between the rotate
flag dn the previous flag was removed.
2014-04-27 20:58:53 +02:00
Juergen Spitzmueller
dced492489 Fix conversion of beamer block titles that end with a non-ERT inset.
Should also go to branch!
2014-04-26 17:39:56 +02:00
Georg Baum
52d2588613 Fix lyx2lyx math package defaults (bug #9069)
lyx2lyx sets all new math packages to off when converting from old formats.
This is correct if any command which would cause an automatic package loading
exists in the document. However, it is wrong if no command exists: This leads
to problems if later a command is added (bug #9069), which is especially
annoying for templates.
The fix consists of two parts:
1) convert_use_package() considers now the used commands like
   revert_use_package(), and uses them to decide whether to set the package to
   auto or off.
2) convert_undertilde() and revert_undertilde() use a slightly adjusted copy of
   convert_use_package() and revert_use_package(), so that the bug is also
   fixed for undertilde. We cannot use the latter functions directly, because
   of "\usepackage undertilde" vs. "\use_undertilde".
2014-04-25 22:39:22 +02:00
Georg Baum
5710f68c34 Fix math package conversion to 2.0 format
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you get an invalid document, because the math packages
mhchem and undertilde are incorrectly converted.
It turned out that the old reversion code did only work for particular
package oderings. The new one works for abitrary sorted packages.
2014-04-25 22:12:04 +02:00
Georg Baum
2fe07e1fe1 Fix data loss in user guide conversion to 2.0.x
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you do not get a zero diff. The most important problem is
caused by the conversion of the argument insets to the old syntax: This
conversion adds an additional empty line (harmless), and it destroys the
document structure if the first inset in e.g. a subsection is not an argument
inset, but e.g. an index or label inset.
The fix is quite easy: Ensure that the paragraph begin is set to the first
argument inset.
2014-04-25 21:35:51 +02:00
Georg Baum
cacd2a041d Fix warning in lyx2lyx 2.0<->2.1 round trip
revert_justification() issues a warning if the \justification parameter does
not exist, and LyX itself always writes it unconditionally as well, so add it
also in lyx2lyx when converting old documents.
Currently this does not have any user visible effect, but it decouples the
default value of BufferParams::justification from the conversion of old
documents: Now it is possible to set the default to false in LyX, and old
documents will still be converted correctly.
2014-04-24 21:52:32 +02:00
Richard Heck
f83aab43e5 Whitespace. 2014-04-21 11:52:00 -04:00
Richard Heck
f80ef1a159 Typo. 2014-04-21 11:52:00 -04:00
Vincent van Ravesteijn
03a73a40d8 lyx2lyx: Add the 2.2 entry 2014-04-18 14:06:33 +02:00
Richard Heck
b5c2cba0b3 Fix problem with verbatim reversion. 2014-04-11 14:49:41 -04:00
Vincent van Ravesteijn
84827c8705 lyx2lyx: Set last minor version of the 2.0.x series 2014-03-23 17:48:07 +01:00
Vincent van Ravesteijn
6eba310ef7 lyx2lyx: Set conversion table for LyX 2.1 2014-03-23 17:48:06 +01:00
Vincent van Ravesteijn
5d15807954 lyx2lyx: Fix conversion table for LyX 2.0 2014-03-23 17:48:02 +01:00
Georg Baum
8f1cbe000e Fix bug #4036 (lyx2lyx produces invalid LyX 1.4.x)
I should have had a closer look much earlier, since the fix is simple and
safe, but at that time I did not notice. The problem was that an invalid
.lyx document was created when converting unicode characters with two
backslashes in their LaTeX definition from lib/unicodesymbols to pre-unicode
LyX format.
2014-02-19 21:56:00 +01:00
Richard Heck
0ded71a480 Fix silly mistake spotted by Jurgen.
Give k a more descriptive name.
Prettify a bit of the code.
2014-02-07 10:36:55 -05:00
Juergen Spitzmueller
9d6c2bf407 Fix lyx2lyx chunk conversion (bugs #8877, #8876) 2014-02-06 10:11:02 +01:00
Richard Heck
1f231c9538 Typo. 2014-01-31 09:38:00 -05:00
Juergen Spitzmueller
a7a585c7bd beamer conversion: deal with more complicated block titles 2014-01-24 09:24:12 +01:00
Juergen Spitzmueller
50066b46ab Improve beamer conversion: Support default list overlay specification without ERT 2013-12-13 14:55:34 +01:00
Juergen Spitzmueller
0aaf2f2008 Improve beamer frame conversion: frame arguments that use multiple ERTs (one ERT inset per argument) are converted 2013-12-06 11:57:33 +01:00
Juergen Spitzmueller
ac7f7dbdce Factor out identical frame argument conversion 2013-12-06 10:53:49 +01:00
Juergen Spitzmueller
0f18bc753c Improve beamer frame conversion: consider explicit EndFrames between two identical frame types 2013-11-11 09:16:17 +01:00
Juergen Spitzmueller
4741cb99c7 Improve beamer collorary argument conversion (#8828) 2013-09-03 19:02:28 +02:00
Richard Heck
3d36751849 Convert "i = i +1" to "i += 1" and similar. 2013-07-24 10:59:51 -04:00
Richard Heck
0a6e781aea Somehow this line got commented out. 2013-07-24 10:57:36 -04:00
Richard Heck
dad943ad6c Fix dumb mistake. 2013-07-24 10:56:33 -04:00
Richard Heck
c1ead6afa1 Simplify a bunch of lyx2lyx code. 2013-07-24 09:56:02 -04:00
Richard Heck
2cdf3d2f6e Remove debugging code. 2013-07-24 09:48:11 -04:00
Richard Heck
96bb5f6dd7 Move helper functions where they belong. 2013-07-24 09:47:14 -04:00
Richard Heck
556a195033 Fix problem with Initial layout conversion reported by Scott on
the list.
2013-07-24 09:41:59 -04:00
Georg Baum
822e171762 Fix inconsistent version in .lyx files (#7951)
LyX, lyx2lyx and tex2lyx produce now all the same version indicator consisting
only of the major and minor version. It is not decided yet whether future
development versions will add a -dev suffix, but for 2.1.0 this change fixes
the inconsistencies.
2013-07-13 16:02:26 +02:00
Juergen Spitzmueller
50426600db Fix beamer frame conversion 2013-07-04 18:25:04 +02:00
Richard Heck
89ced5c3c3 Fix problem with chunk lyx2lyx conversion spotted by Scott.
We assume chunks come at us in a certain form. If not, then
we cannot handle the conversion. In that case, we just leave
the chunks as they were and they will appear as unknown layouts.
2013-06-03 13:01:39 -04:00