Commit Graph

1413 Commits

Author SHA1 Message Date
Juergen Spitzmueller
4b0069860c InsetGraphics: use totalheight for height output
Graphics "height" is only the height above the baseline and thus not
what most people will expect. Also, using height can result in a
division by zero with rotation.

Use totalheight now since this means "height of the figure" (independent
of the baseline).

The custom options field can be used if height is really desired.
We handle this in conversion/reversion, respectively, so document
output will not change.

Hence, file format change.

Fixes: #9676
2019-08-14 16:55:43 +02:00
Juergen Spitzmueller
0dd5824b43 Support memoir's builtin endnotes 2019-08-13 10:38:26 +02:00
Juergen Spitzmueller
8abe7b25e8 Add support for the enotez package
This is a modern implementation of endnotes building on LaTeX3 tools which
gets away with deficiencies of the endnotes package, has some extra features,
is localized, supports hyperref and is better customizable.

As this is a fairly new package requiring l3, we keep the old endnotes
module and provide this as an alternative.
2019-08-13 07:30:20 +02:00
Juergen Spitzmueller
28796bcb63 lyx2lyx: remove landscape module in reversion 2019-08-13 07:29:07 +02:00
Juergen Spitzmueller
2a07efa6f7 lyx2lyx: fix del_module method 2019-08-13 07:28:12 +02:00
Juergen Spitzmueller
229052b29a Extend endnotes support
Support native solution for Endnotes list rather than having to use
\\theendnotes via ERT

File format change
2019-08-12 13:00:54 +02:00
Juergen Spitzmueller
0b7305024a Use generic paper size names rather than LaTeXisms such as "letterpaper"
This allows to support classes that don't use the Xpaper wording.

Add support for KOMA font (keyval) syntax on top of that.

Also support class-specific font and paper sizes in tex2lyx.

File and layout format change.
2019-08-07 16:44:11 +02:00
Juergen Spitzmueller
1386a3d8fd Allow for multiple use of same key in qualified citation lists
File format change

Fixes: #11618, #11632
2019-08-07 13:00:29 +02:00
Juergen Spitzmueller
9f61c8d4af Add more fontsizes to KOMA classes.
Theoretically, KOMA supports any font size. We add a sensible range.
2019-08-06 19:29:18 +02:00
Juergen Spitzmueller
b01075469d Add more page sizes to KOMA and memoir 2019-08-06 18:18:37 +02:00
Pavel Sanda
a6634f5bb3 git VCS: add support for short hashes in inset info ("Abbreviated revision").
Fixes bug #11620.

Patch from Joel Kulesza.
2019-07-28 22:01:17 +02:00
Juergen Spitzmueller
850c5a3d55 Support for CrimsonPro 2019-07-18 10:50:46 +02:00
Juergen Spitzmueller
212314ada7 Merge the two noto regular fonts
These are actually the same font and shape, so no need for two entries
2019-07-18 08:41:00 +02:00
Juergen Spitzmueller
777a2a9baa Remove Plex Semibolds
These are not font shapes proper. The semibold is to be combined with
font shapes and thus needs to go to extra options.
2019-07-18 08:14:09 +02:00
Kornel Benko
a45759cdb4 Amend e9c0d48d
Forgotten to commit lyx_2_4.py
2019-07-17 18:03:31 +02:00
Juergen Spitzmueller
3c716cc300 Add support for the Fira family of fonts
This is a beautiful and feature rich sans and monospaced font family
designed by Erik Spiekermann and reminiscent to his famous (and
commercial) FF Meta.
2019-07-15 13:32:31 +02:00
Juergen Spitzmueller
989b5b9c9b lyx2lyx: Support conversion of fonts from preamble with extra opts 2019-07-15 10:34:19 +02:00
Juergen Spitzmueller
6e88579c56 Fix cantarell conversion 2019-07-15 07:11:43 +02:00
Juergen Spitzmueller
fada053c72 Fix copy/paste error 2019-07-15 07:11:27 +02:00
Juergen Spitzmueller
70167007e4 Fix cantarell reversion
conversion still needs work
2019-07-15 06:34:28 +02:00
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