Commit Graph

1393 Commits

Author SHA1 Message Date
Kornel Benko
97a099b137 Add sans serif font "cantarell" 2019-07-14 21:44:58 +02:00
Juergen Spitzmueller
2ceeb9e0b3 Handle remaining TeX fonts wrt MoreOptions
Closes #11615
2019-07-14 15:08:01 +02:00
Juergen Spitzmueller
dcf06fdb22 Split osf options to families
Nowadays we support sf and tt fonts with osf options, so this needs to
be selectable separately.

File format change.
2019-07-14 11:41:36 +02:00
Juergen Spitzmueller
509551cae0 More osf (texfont) fixes 2019-07-14 09:09:46 +02:00
Juergen Spitzmueller
89f9bab0f0 Properly handle osf in noto and adobe source fonts 2019-07-13 17:34:55 +02:00
Juergen Spitzmueller
04c2594c82 Support MoreOptions for IBM Plex, Noto, and Adobe Source fonts 2019-07-13 14:55:59 +02:00
Juergen Spitzmueller
c3c2815092 Implement support for font options
This revives a patch by Uwe and extends it. Additional options to font
packages/fontspec can now be entered in Document Settings.
This is principally also true for TeX fonts, if the new TeXFont tag
MoreOptions is set. For the time being, I have only done this for
MinionPro, as a model and prove of concept.

Note that adding more TeXFonts requires a file format change,
respectively, and changes to tex2lyx (in the same way as I've done for
MinionPro).

This addresses #8226
2019-07-11 20:28:34 +02:00
Juergen Spitzmueller
cb5bd87e9c Add support for \babelfont
This is a higher-level (non-TeX) font interface of babel that draws on,
but is supposed to be used rather than, fontspec with babel and XeTeX/
LuaTeX.

File format change.

Addresses: #11614
2019-07-11 13:21:32 +02:00
Günter Milde
110247f0b7 lyx2lyx refactoring 2019-07-07 23:33:27 +02:00
Günter Milde
e829c97f91 Fix lyx2lyx.
Wrong number in the "revert" list,
Missing integer in "Provides" tag of local layout.
2019-07-07 21:24:34 +02:00
Günter Milde
0d49918c0c Refactor lyx2lyx for speed and simplicity. 2019-07-07 19:32:41 +02:00
Juergen Spitzmueller
94654b3586 Linguistics: add support for Discourse Representation Structures
File format change
2019-06-23 12:59:56 +02:00
Juergen Spitzmueller
c6c70649af Linguistics: Support for subexamples optional arg 2019-06-22 13:56:12 +02:00
Stephan Witt
d05a8c805e correct typo in help message 2019-06-17 16:46:59 +02:00
José Matos
58734edff6 Make the lyx2lyx code compatible between python2 and python3.
FWIW this code is important for very old versions of lyx, older than 1.1.5 (released 19 years ago - 2000/06/06).

Funny fact of the day, byte strings do not behave as regular strings in python3 when taking and index.
To get a sub-string we need to pass a range, a integer index will not work as it happens in a regular string:

$ ipython3
...
In [30]: line
Out[30]: b'#This file was created by <mike> Tue Jan 25 10:36:51 2000'

In [31]: line[0]
Out[31]: 35

In [32]: line[0:1]
Out[32]: b'#'

The range notations works for both byte and regular strings in python 3, and it also works in python 2.
Thus the change is simple and effective. In any case I should confess that I was quite surprised by this. :-)
2019-06-05 14:06:09 +01:00
Juergen Spitzmueller
e2f81b3a84 Rework linguistic gloss support
This now uses the new and enhanced \digloss ad \trigloss macros of
convington 2.0 rather than the deficient self-baked ones.

File format change.
2019-06-04 11:01:19 +02:00
Günter Milde
f1e7f5267d lyx2lyx refactoring and minor fixes. 2019-06-03 16:58:10 +02:00
Günter Milde
b2cee3dcc5 Support more languages (file format change).
Format incremented to 576:
Support for the document languages azerbaijani, bengali,
churchslavonic, and oldrussian.
2019-06-03 16:58:10 +02:00
Günter Milde
8e06c2ffa9 Fix some problems with lyx2lyx_tools.revert_languages().
Amends 7bb30286.

Tested cases are now handled fine.

(There are still many cases where the language support emulation
is too complex for lyx2lyx and manual fixes are required after
lyx2lyx conversion.)
2019-06-03 16:58:10 +02:00
Juergen Spitzmueller
d2b6232ce7 Fix lineno options param
This has been written even if empty -- and thus caused reading errors.
2019-06-02 19:07:01 +02:00
Günter Milde
7bb3028607 fixes to lyx2lyx's revert_language tool. 2019-06-02 00:04:34 +02:00
Günter Milde
d8c913fe59 lyx2lyx refactoring
Reduce code duplication in revert_language, no change to output.
2019-06-02 00:04:34 +02:00
Günter Milde
45c5b39692 Adapt lyx2lyx to the lineno support fix in [88f471899/lyxgit]. 2019-05-25 15:32:24 +02:00
Günter Milde
09e69f96dd Complete lyx2lyx for new "lineno" settings. 2019-05-24 13:51:46 +02:00
Pavel Sanda
7f125f62d2 Introduce doc preference for line numbering.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg208781.html
2019-05-23 15:13:27 +02:00
Günter Milde
65ec404eb3 Format incremented to 574: Ruby inset, fixes for Japanese.
New auxiliary functions for lyx2lyx:
del_module(), append_local_layout(), del_local_layout()
2019-05-16 13:48:07 +02:00
Günter Milde
7d82308552 Fix conversion/reversion of parenthese order in Hebrew text.
The algorithm in [c9be8bff74b233/lyxgit] did not
account for layout nesting. As a result, some parentheses
were swapped in English text parts
(e.g. around "(for Linux)" in he/Intro.lyx).
2019-04-30 11:27:35 +02:00
Günter Milde
27ba6f282d Rename legacy input encoding settings.
Format incremented to 573
2019-04-16 20:17:32 +02:00
Kornel Benko
e55ed79da9 Extend handling of Noto fonts
Added the possibility to use options Regular, Medium, Thin, Light, Extralight
2019-04-07 11:05:42 +02:00
Juergen Spitzmueller
8085fc21f8 booktabs: support for \cmidrule trimming
This has probably still some rough edges, so please test thoroughly.

Fixes: #3072
2019-04-03 07:59:52 +02:00
Juergen Spitzmueller
f75b081551 Add support for mixed-encoded biblatex files
Biblatex 3.12 allows to specifiy individual encodings per bib file
via \addbibresource[bibencoding=<encoding>].

This is now supported via GuiBibtex.
2019-03-29 15:45:55 +01:00
Juergen Spitzmueller
ecb2427f41 Add tablestyle buffer param
Fixes: #9901
2019-03-26 16:24:27 +01:00
Juergen Spitzmueller
aff2ee6058 Add soul module 2019-03-22 18:29:50 +01:00
Juergen Spitzmueller
abf38e1820 revert_language: fix document language assignment 2019-03-11 11:42:54 +01:00
Juergen Spitzmueller
8b2f89f8bd thinko 2019-03-11 11:05:10 +01:00
Juergen Spitzmueller
01493e574a Dix revert_language with multiple languages per paragraph 2019-03-11 10:56:50 +01:00
Juergen Spitzmueller
f320ccdfc6 Prevent multiple insertion of language switch at document body 2019-03-11 10:56:12 +01:00
Juergen Spitzmueller
ef9e73d7fe Move function out of loop 2019-03-11 10:37:33 +01:00
Juergen Spitzmueller
3d08c83666 Remove misplaced comment 2019-03-10 13:40:29 +01:00
Juergen Spitzmueller
4bd065f871 use revert_language in more cases 2019-03-10 13:00:10 +01:00
Juergen Spitzmueller
6d6eda3950 Further simplification 2019-03-10 12:43:09 +01:00
Juergen Spitzmueller
27f15ac930 lyx_2_3.py: use revert_language rather than local methods. 2019-03-10 12:36:56 +01:00
Juergen Spitzmueller
c70c049417 Enhance revert_language function
This should now consider all cases (many of which were not handled so far)
2019-03-10 12:36:06 +01:00
Juergen Spitzmueller
ebd7a1a22a Support for the Malayalam language
Patch by Joice Joseph
2019-03-10 10:21:59 +01:00
Günter Milde
8060c8e488 ctests: Dedicated test and comments for "lyx2lyx.lyx_2_4.revert_fonts". 2019-01-29 15:11:21 +01:00
Kornel Benko
c2091becd2 Amend a25b9702, lyx2lyx: Corrected handling of system-font-specs
In the lines specifying the font, e.g.
	\font_typewriter "DejaVuSansMono" "DejaVu Sans Mono"
the system font specs may contain words separated by spaces
2019-01-29 13:21:05 +01:00
Günter Milde
49583b7dd0 Fix encoding issue with lyx2lyx conversion of "Date" info-insets.
Remaining problem: the name of the day appears in English instead of the document language.
2019-01-23 11:06:04 +01:00
Günter Milde
5a1fb5b5fa Improve readability of the lyx2lyx help output.
Also some small clean-up edits
2019-01-23 10:12:28 +01:00
Günter Milde
a925d25085 Improve a warning in lyx2lyx.
If get_containing_layout() finds a layout without name,
it will return an empty string as layoutname.
Calling functions can thus differentiate between missing
\begin_layout and missing layoutname and give a more specific
response or warning.
2019-01-18 00:20:19 +01:00
Scott Kostyshak
253b12aba1 Fix lyx2lyx export of long tables
For some .lyx files with long tables, this fix reduces the
differences in LaTeX export of master, compared to LaTeX export of
the lyx2lyx exported file. Further, this export fixes the lyx2lyx
roundtrip convergence for these cases. For discussion, see:

  https://www.mail-archive.com/search?l=mid&q=20190102230924.7zgla5lhkwxpx5fi%40barna
2019-01-16 18:38:45 -05:00
Günter Milde
9126f06d93 lyx2lyx: Minor formatting fix. 2019-01-10 17:20:34 +01:00
Juergen Spitzmueller
8c219daeeb Amend 348b3e5e49
thinko!
2019-01-06 15:19:50 +01:00
Juergen Spitzmueller
348b3e5e49 rewrite revert_jss reversion routine
Fixes: #11448
2019-01-04 16:36:11 +01:00
Juergen Spitzmueller
4ebb91194a Fixed remaining glitches in tcolorbox reversion routines
The indexes were off at several places, which made the routines leak.
2019-01-03 10:12:14 +01:00
Juergen Spitzmueller
25451bc252 fix tcolorbox reversion routines 2019-01-02 15:37:48 +01:00
Juergen Spitzmueller
71dfcb18b9 Fis some old box reversion routines. 2019-01-01 16:34:15 +01:00
Richard Kimberly Heck
75c8e5c000 Typo 2018-12-28 23:34:51 -05:00
Richard Kimberly Heck
f11a51be35 Fix bug #11378. 2018-12-28 23:02:47 -05:00
Juergen Spitzmueller
2927179499 lyx2lyx: fix float reversion routines
This jumped too wide with two subsequent floats.
2018-12-28 07:30:34 +01:00
Richard Kimberly Heck
01af66d658 Minor fixes 2018-11-03 10:00:48 -04:00
Richard Kimberly Heck
c9be8bff74 Speed up parenthesis conversion routine for Hebrew. Patch from Guy. 2018-11-03 09:58:32 -04:00
Juergen Spitzmueller
0ec295d63e Fix parentheses with Hebrew
Patch by Guy Rutenberg, with some changes of mine.

Fixes: #11191
2018-10-30 12:33:35 +01:00
Kornel Benko
99174acff8 Increment version to 565 due to add of adobe source pro fonts 2018-10-02 17:24:47 +02:00
Kornel Benko
6d0f7fc98d Added Adobe Source Pro fonts to lyx-GUI 2018-10-02 11:28:46 +02:00
Juergen Spitzmueller
5e26a3a633 Implement layout format in insetinfo
The docs refer to the outdated layout formats. The inset prevents this.
2018-09-20 11:33:03 +02:00
Juergen Spitzmueller
305d449a47 Fix copy-paste error.
Candidate for stable.
2018-09-16 10:34:01 +02:00
José Matos
cac27076ea Replace /usr/bin/env python -> /usr/bin/python3 2018-08-29 17:26:21 +01:00
Kornel Benko
a25b970296 Unified handling of IBMPlex and DejaVu fonts in lyx2lyx 2018-08-20 15:47:49 +02:00
Kornel Benko
66a33930f5 Amend 24050bf, DejaVu adm IBM-Plex fonts need different scale options 2018-08-18 17:10:43 +02:00
Kornel Benko
24050bfa30 Added IBM Plex fonts to lyx-GUI
This extends also 366e37c
2018-08-18 16:21:40 +02:00
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