Commit Graph

1273 Commits

Author SHA1 Message Date
Juergen Spitzmueller
b124adbd38 Introduce listpreamble argument type
This uses the InsetArgument interface to provide access to a document
part hitherto inaccessible by LyX: the part between \begin and the first
\item in a list (where lengths and counters can be redefined, for
instance).

Fixes: #11098

File format change, layout format change
2018-08-17 10:22:32 +02:00
Juergen Spitzmueller
e9b187af08 New info-inset type l7n
This returns a localized version of a string (in the GUI language)
if available, removing trailing colons and accelerator marks.

This can be used to refer to dialog items in the docs in a portable way.
2018-08-13 17:18:44 +02:00
Kornel Benko
df59cb89e9 Amend 3058deb: Make convert_fonts robust
The preamble handling needs to know, which package belongs to
which font-type
* The conversion is now independent of the sequence in the preamble
  This is important for instance, if the user created the preamble manually
2018-08-11 13:04:57 +02:00
Kornel Benko
3058debb60 Amend 366e37c: Add also the conversion routine
Created also routines convert_fonts() and revert_fonts()
so that adding new fonts which have similar features should be easier
2018-08-11 11:45:02 +02:00
Kornel Benko
366e37c851 Added latex-DejaVu fonts to lyx-GUI.
Increment lyx-format to 561
2018-08-10 19:38:06 +02:00
Juergen Spitzmueller
136b8a63be typo 2018-08-10 17:10:59 +02:00
Juergen Spitzmueller
7efdf98fc8 Further extend Info insets:
* Add time type (time, modtime, fixtime)
* Add "name-noext" buffer type (file name w/o extension)
2018-08-07 12:14:45 +02:00
Juergen Spitzmueller
74158ec6a7 remove duplicate entries
Paste error :-/
2018-08-07 10:30:49 +02:00
Juergen Spitzmueller
e730234e57 Add date-related info insets
With this commit, info insets leave the dark backstage room of an opaque
and quite hidden dev-only feature and come frontstage.

In the UI, they present themselves as "Fields" since this is what people
know from word processors. Other user-related fields that could be
implemented next: time, user name (I plan to do that for 2.4).

Since this supersedes date-insert, I removed Insert > Date from
the menu and propose to ditch date-insert and the corresponding rc.

The lyx2lyx reversion routine has lots of room for improvement and
attractive tasks for pythons (file timestamp, switch of localization).
Please feel invited!

This is a file format change.
2018-08-05 10:01:36 +02:00
Kornel Benko
a96845660e Do not increment start for find(phrase) while looping over phrases
The increment will be done at the end of the for-loop.
2018-08-02 22:51:36 +02:00
Kornel Benko
7f3fd5a809 lyx2lyx: Use correct check for emty lines while converting Begin/EndFrontmatter
* Coversion now tries not to pollute the result with emty lines
* stripped some trailing spaces
2018-07-31 13:44:48 +02:00
Kornel Benko
f8f9eec358 Amend 3e92efd: Remove (Begin|End)Frontmatter in elsarticle
1.) Revert changes in elsarticle.lyx
2.) upgrade format to 558
3.) added missing lyx2lyx routines
2018-07-30 13:44:01 +02:00
Juergen Spitzmueller
358436ea1e Split vcs Info inset from buffer Info inset
This should go separately in the GUI, and thus in the inset.
2018-07-29 19:41:34 +02:00
Richard Kimberly Heck
4549f46a43 Speed up convert_literalparam. Part of #11200. 2018-07-21 22:49:49 -04:00
Richard Kimberly Heck
8573391aee Try to speed up convert_phrases by re-ordering the loops. Part of #11200. 2018-07-21 22:32:39 -04:00
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