Commit Graph

8349 Commits

Author SHA1 Message Date
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
Guillaume Munch
566d008c9d Add \math{rel,bin,op,ord} to the math toolbar
Styles becomes Styles & Classes.

Add 4 nice icons.
2017-01-31 22:54:59 +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
043254a3d7 Update Additional.lyx wrt Biblatex 2017-01-29 15:05:36 +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
Jean-Marc Lasgouttes
4a935ed768 Fix metrics of math characters with 0 width
It seems that QTextLayout does not handle properly a single character
with 0 width. This breaks drawing of things like \not.

Actually the problem had been worked around already in lib/symbol. The
work around can therefore by removed now.
[additionally, remove extra spacing from \mapsto, \Mapsto]
2017-01-20 10:53:06 +01:00
Richard Heck
30690d78f9 Regenerate contributions. 2017-01-19 15:39:14 -05:00
Richard Heck
0d77a7e325 Allow LyX to open empty files (created, e.g., via "touch").
Patch from new contributor Jan Niklas Hasse.
2017-01-19 15:34:45 -05:00
Richard Heck
8048ce294a Typo. 2017-01-19 15:29:14 -05:00
Richard Heck
400d13b960 Add some notes to User Guide about defining your own reference
formats.
2017-01-19 11:35:13 -05:00
Richard Heck
5cb5d2cb5a Do not replace "--" with "\twohyphens" in formula macros. 2017-01-18 21:48:35 -05:00
Günter Milde
087523f87a Revert 809b8b62 (Add FontEncoding to language descriptions).
This breaks some existing documents and should be done
together with introducing the new fontenc="auto" setting (ticket #9741).
2017-01-16 12:38:06 +01: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
Günter Milde
fd14b6f5a3 Document changes to configure.py. 2017-01-14 22:44:46 +01:00
Günter Milde
809b8b62a4 Add FontEncoding to language descriptions.
Add FontEncoding tag for all languages with 8-bit hyphenation patterns
requiring a specific font encoding.
No FontEncoding tag means the language is either not supported with
Babel or accepts both, OT1 and standard text encodings.

Prerequisite for fontenc="auto" (ticket #9741)
2017-01-14 22:43:37 +01:00
Richard Heck
cb6ea90256 Section and Section* should have the same font size.
Going with normal corresponds better to how the PDF displays.
2017-01-14 16:13:33 -05:00
Juergen Spitzmueller
34943a4e5f Make Japanese Biblatex-aware
Biblatex can be used with Japanese, but then, biber (not pbibtex) should
be used as processor.

I this context, bring the jbibtex UI in line with bibtex, allowing for
a selection of alternatives.
2017-01-14 12:13:33 +01:00
Juergen Spitzmueller
1eb43536da Add an "Automatic" bibliography processor pref option
This is now set as default. It selects biber for Biblatex (with
fall-back to first bibtex8, then bibtex, if the former is not
installed), and bibtex for BibTeX-based engines.

With this, users do not normally need to care for the processor when
they switch cite engines.
2017-01-13 19:18:35 +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
a33157331b Bump layout formats 2017-01-13 10:09:20 +01:00
Juergen Spitzmueller
7f97ace83b Merge branch 'master' into biblatex2 2017-01-13 09:11:04 +01:00
Richard Heck
119dfcb151 Add Martin Brown to credits. 2017-01-12 10:31:58 -05:00
Juergen Spitzmueller
90e2004fde Merge branch 'master' into biblatex2 2017-01-12 16:13:13 +01:00
Günter Milde
bd3e6033db configure.py: Add raster image viewers
Add common raster image viewing applications:

gwenview: KDE image viewer,
eog: Eye of Gnome, the Gnome default viewer, 
xviewer:  Eye of Gnome successor for MATE and Cinnamon, 
ristretto:  XFCE image viewer,  
gpicview: LXDE image viewer, 
lximage-qt: QXDE image viewer,

xdg-open:    generic file handler
     
The problem with xdg-open is, that it calls the browser (firefox) as fallback. This is not good for DVI and PDF, but still better than an editor (Gimp) for raster images.

Kee Gimp as last option for viewing, and default choice for editing.
2017-01-12 16:08:03 +01:00
Günter Milde
8e65250110 configure.py: Make 'notepad' last in text editor list
Place "notepad" at the end of the text editor selection list.

* Under Linux, notepad comes with the Windows emulator "wine" 
but it is not a good choice for the default text editor.
 * Most Windows users will not have the Linux programs 
and not see any change.
* Windows users with the Windows version of "geany" 
will see this (syntax highlighting) editor preferred over notepad by default.
2017-01-12 16:08:03 +01:00
Günter Milde
95085724ec configure.py: Add 'xed' editor (gedit fork)
'xed' is the 'gedit/plume' successor by Linux-Mint.
It inherits gedit's functionaly and adds a traditional UI matching the
XFCE, MATE and Cinnamon desktop environments.
See: https://de.wikipedia.org/wiki/X-Apps
2017-01-12 16:08:03 +01:00
Günter Milde
bcf8a40a10 configure.py: Add 'xreader' document viewer (evince fork)
'xreader' is the successor of 'evince' by Linux-Mint.
It inherits evince's functionaly and adds a traditional UI
matching the XFCE, MATE and Cinnamon desktop environments.
See: https://de.wikipedia.org/wiki/X-Apps
2017-01-12 16:08:03 +01:00
Günter Milde
4d391443f5 configure.py: Add 'evince' as DVI viewer
The GNOME document viewer "evince" supports also DVI.
See https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats/
2017-01-12 16:08:03 +01:00
Juergen Spitzmueller
74f774d6cf Merge branch 'master' into biblatex2 2017-01-11 10:45:48 +01:00
Günter Milde
1b752275b0 Python formatting (no change to function).
* remove trailing whitespace,
* remove/replace NL-escaping backslashs,
* wrap long lines.
2017-01-11 10:43:38 +01:00
Kornel Benko
931542d758 Typo 2017-01-11 10:17:25 +01:00
Juergen Spitzmueller
425c190d62 merge recent changes from master 2017-01-09 20:04:32 +01:00
Scott Kostyshak
578f964d9f Fix typo in Development.lyx 2017-01-09 13:48:32 -05:00
Guillaume Munch
e11a3cb895 Remove some hardcoded addToToc: note, footnote, marginalnote, branch
Define their Toc from the layout instead.
2017-01-09 18:27:26 +01:00
Guillaume Munch
f0663e3ce4 Document AddToToc 2017-01-09 18:27:26 +01:00
Guillaume Munch
d6b1dc4724 Update Sweave, Knitr manual and showcase the new Navigate menu
Also mention needauth option
2017-01-09 18:22:22 +01:00
Guillaume Munch
d1c1a4520c Fine tune AddToToc options for Sweave, Knitr 2017-01-09 18:22:22 +01:00
Juergen Spitzmueller
a751c5b846 Extend and improve name list handling
This allows to generate different name lists depending on the need and
context.

Also addresses #8489.
2017-01-09 17:54:56 +01:00
Juergen Spitzmueller
322808281f Merge branch 'master' into biblatex2 2017-01-09 09:53:20 +01:00
Juergen Spitzmueller
a04a2f9a8a Remove Requires and Excludes from CiteEngines
These are exclusive anyway.
2017-01-09 09:04:37 +01:00
Uwe Stöhr
a64a31c1e5 Additional.lyx: re-sync with branch
I don't know what happened with the version in master because it contained outdated sections I already removed months ago in branch. I can also not see new inf that is special in LyX 2.3dev.

Therefore I re-sync hereby with the version in branch.

As I often request: please change the doc files in branch, only new features of LyX 2.3 are master-only because there is no reason not to update and improve the docs for every LyX release.
2017-01-09 01:31:13 +01:00
Uwe Stöhr
36cfed9f7f fix last traces of bug #10068 2017-01-09 01:26:23 +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
1ee83d4200 User Guide documentation.
Now only an adaptation of the Additional Features manual is needed,
but I leave this for now, since that manual apparently is undergoing
a major revision.
2017-01-08 17:11:01 +01:00
Juergen Spitzmueller
9c738951c7 Documentation bit. 2017-01-08 12:50:03 +01:00
Juergen Spitzmueller
8319b3e9d6 Biblatex support
File format change
2017-01-08 09:39:46 +01:00
Juergen Spitzmueller
ecbd047cff Merge branch 'master' into biblatex2 2017-01-08 09:06:26 +01:00
Richard Heck
74f09a27c4 Documentation for "no prefix" option. 2017-01-07 15:07:44 -05: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
Juergen Spitzmueller
dbbefcd321 Dynamically set final punctuation of bib entries
Fullcite does not need the punct.
2017-01-07 17:55:38 +01:00
Juergen Spitzmueller
378a2c8257 Outsource jurabib specials to the style file. 2017-01-07 17:40:23 +01:00
Juergen Spitzmueller
eba2f0479e Implement display of starred cite commands
This entails a change of getAbbrAuthor to getAuthorList (the default is
still abbreviated with respect to MaxCiteItems, but the list can be, at
explicit request, shortened or full notwithstanding MaxCiteItems.
2017-01-07 17:32:45 +01:00
Juergen Spitzmueller
979294d5ec New tag MaxCiteNames
This determines the number of authors before "et al.". We had it
hardcoded to 2, but actually the nuumber differs.
2017-01-07 16:44:27 +01:00
Juergen Spitzmueller
23c231c761 Merge branch 'master' into biblatex2 2017-01-05 14:30:26 +01: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
Juergen Spitzmueller
03ac5407a3 Extend cite engine style documentation 2017-01-04 13:30:50 +01:00
Juergen Spitzmueller
f6d4bce123 Merge branch 'master' into biblatex2 2017-01-03 21:49:56 +01:00
Guillaume Munch
f77e5733cf Set mathrel for a few more lib/symbols
Improve display of textmode macros in lib/symbols
2017-01-03 20:35:41 +01:00
Juergen Spitzmueller
bd1b5d580b Add some documentation to the rather esoteric style files 2017-01-03 15:35:57 +01:00
Richard Heck
5e353fecb9 Update documentation after recent changes to references. 2017-01-02 22:39:38 -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
f653a41063 Adapt menu string 2017-01-02 12:00:56 +01:00
Juergen Spitzmueller
f38827b63b whitespace 2017-01-01 08:36:13 +01:00
Juergen Spitzmueller
dcdd04a492 TeXFiles.py: scan for biblatex *.bbx and *.cbx files 2017-01-01 08:07:05 +01:00
Juergen Spitzmueller
dc9efe3d47 Add a CiteFramework tag
This is to distinguish the biblatex and bibtex paradigms
2017-01-01 08:07:04 +01:00
Juergen Spitzmueller
ff93aea509 Rework default bibliography style UI
* Use a combo with all available styles
* Correctly reset default on engine change
* Consider that EngineTypes might have different defaults
2017-01-01 08:07:03 +01:00
Juergen Spitzmueller
59a4f263a4 Properly support the cite engines in the GUI
Instead of hardcoding 3 engines, we now support all engines which are
defined in the *.citeengines files.
2017-01-01 07:56:24 +01:00
Juergen Spitzmueller
97aea7e5b1 Disentangle CiteEngines and Modules
These two are different beasts and thus should be handled differently.
2017-01-01 07:56:24 +01: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
e03543eff1 Add Joel Kulesza to the credits 2016-12-28 16:50:25 +01:00
Juergen Spitzmueller
2f03e156ce Add some line breaks 2016-12-27 16:03:41 +01:00
Juergen Spitzmueller
e4189c664c Update quote-insert bindings 2016-12-27 08:39:06 +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
f78cb64cf4 UserGuide: Document the quotation mark changes 2016-12-25 13:38:52 +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
Uwe Stöhr
764efb149d EmbeddedObjects.lyx: fix some typos and few improvements 2016-12-21 02:21:59 +01:00
Juergen Spitzmueller
857506e992 Rename \\quotes_language to\\quotes_style
File format change.
2016-12-20 18:54:07 +01:00
Uwe Stöhr
cb1c228319 EmbeddedObjects.lyx: new description how to change table line colors within tables
will be backported the tomorrow
2016-12-20 02:46:47 +01:00
Guillaume Munch
e02f287f8b Add InsetMathClass to the list of math completions 2016-12-20 00:15:59 +01:00
Uwe Stöhr
2daa771dae UserGuide.lyx: fix 2 typos spotted by a user 2016-12-19 23:49:47 +01:00
Juergen Spitzmueller
0d92eaeb11 Further improve quote-inserts documentation 2016-12-19 11:39:56 +01:00
Günter Milde
7b5de36a75 Use xfrac package for "fraction characters".
The xfrac package is the "state of the art" for "split-level" (nice) fractions.
Character replacements look consistent, scale properly and fit in the line.

Fixes #5220.
2016-12-18 23:42:15 +01:00
Juergen Spitzmueller
57eaf5dc4b Update inset-modify description 2016-12-18 14:00:08 +01:00
Juergen Spitzmueller
092bbcede5 Some documentation of quote's inset-modify 2016-12-18 13:38:41 +01:00
Juergen Spitzmueller
197c193e21 Context menu for quote insets
Allows to switch quote type.
2016-12-17 12:58:33 +01:00
Juergen Spitzmueller
7cf315f855 Update LFUNs.lyx 2016-12-16 11:24:03 +01:00
Juergen Spitzmueller
7bf6d2b9ce Extend quote-insert
Two more optional arguments to specify side and quote style.
GUI support follows.
2016-12-16 11:23:22 +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
Richard Heck
91f980cf31 Verbatim, etc, can be used with IOP articles.
Fixes #10505.
2016-12-06 17:54:32 -05:00
Günter Milde
418016bf79 Remove unsupported encoding "pt254".
This encoding (modified Mac Cyrillic for Asian languages) is rarely used and not supported by Gnu iconv.

Update comments in lib/encodings.

Update ctests: Gnu iconv only supports cp858, if configured with "--enable-extra-encodings".
2016-12-06 14:04:50 +01:00
Kornel Benko
5dbe57b3d6 Cmake tests: Add a script to modify preferences prior to export testing 2016-12-03 11:32:19 +01:00
Scott Kostyshak
67094dd6e6 ctests: require up-to-date TeX Live for reliable
The unreliable sublabel varying_versions is now defined to be about
versions other than TeX Live, because we require a full and
up-to-date TeX Live installation for reliable tests.

For discussion, see:
https://www.mail-archive.com/search?l=mid&q=o1ovd9%24479%241%40blaine.gmane.org
2016-12-03 00:39:01 -05:00
Uwe Stöhr
f0bc4d43c1 Arabic Tutorial.lyx: new translation by Hatim 2016-12-02 02:12:58 +01:00
Günter Milde
a0ebae829c ctests: univert aas_sample with LuaTeX test.
The missing character problem is fixed upstream.

Also fix the scaling of the \sun-symbol-index by wrapping the symbol in \text.
(wasysym's \sun is valid in text and math mode. LyX  currently adds a spurious \ensuremath.)
2016-12-01 11:47:12 +01:00
Kornel Benko
f04f7cc26a Development.lyx, updated handling of unreliable tests. 2016-11-30 11:47:39 +01:00
Uwe Stöhr
3fee095a9d Tutorial.lyx: use a simple reference format for the Tutorial
The "<reference> on  <page>" reference format is too tricky for newbies, see e.g. bug #10494

- also update the corresponding example files
2016-11-29 01:56:11 +01:00
Uwe Stöhr
5bee5aa095 EmbeddedObjects.lyx: fix a typo spotted by a user 2016-11-29 01:29:25 +01:00
Tommaso Cucinotta
cc653feb60 Bump up RC fileformat after [244de5d2/lyxgit] for the new 'needauth' options.
Addressing #10481.
2016-11-25 23:33:08 +01:00
Enrico Forestieri
6c92075799 Amend fix for #10428
- Allow using logical values for icon sizes as the standard sizes may
  differ among different icon sets
- Do not allow setting sizes smaller than smallIconSize

When the logical sizes differ and the icon set is changed, the correct
sizes are established only after a restart.
2016-11-23 17:30:49 +01:00
Tommaso Cucinotta
244de5d2c1 Add 'needauth' option to converters that need explicit user authorization.
Addressing #10481.

This patch adds the new 'needauth' option for converters launching
external programs that are capable of running arbitrary code on behalf
of the user. These converters won't be run unless the user gives explicit
authorization, which is asked on-demand when the converter is about to
be run (question is not asked if the file is cached and calling the
converter is not needed).

The user prompt has a 3rd button so that he/she's not prompted again
for (any converter over) the same document (identified through
buffer->absFileName()).

Two preference options are added:

lyxrc.use_converter_needauth_forbidden disables any converter with
the 'needauth' option, which is meant to force user to an explicit
action via the preferences pane, before being able to use advanced
converters that can potentially bring security threats;

lyxrc.use_converter_needauth enables prompting the user for 'needauth'
converters, or bypasses the check if not enabled, falling back to the
previous behavior.

So, the first option is for maximum security, the second is for
maximum usability.
2016-11-22 23:54:58 +01:00
Kornel Benko
7950d109c8 Add select whole buffer shortcut to emacs.bind 2016-11-22 13:10:57 +01:00
Günter Milde
7bb07f179a Mark failing encodings. See #10502. 2016-11-22 11:48:16 +01:00
Daniel Ramöller
e91572a00b Add the icon-size to the toolbar menu
- Adds LFUNs for setting the icon size
- Adds icons sizes to the Toolbars menu
- Uses the Toolbars menu as application context menu
- The context menu can now be user defined in stdcontext.inc

Fixes ticket #10428.
2016-11-22 10:00:52 +01:00
Juergen Spitzmueller
e5386ce473 Fix Polyglossia options for serbian
Script value is uppercase.
2016-11-21 18:57:04 +01:00
Guillaume Munch
a592f6dc06 Fix display of \slash inside different fonts
Also give slash a proper symbol
2016-11-21 00:08:11 +01:00
Guillaume Munch
a9eb87a89d Correct computation of math font size
Move math style to FontInfo and compute the font sizes for scriptstyle and
scriptscriptstyle according to standard proportions: 0.73 and 0.55.

This is simpler and more accurate. It also fixes the font size of
${\scriptscriptstyle {\textstyle A}}A$ which exposed the limitations of the
previous approach.
2016-11-21 00:02:35 +01:00
Richard Heck
67bb5a2bf1 Add Andrew Parsloe. 2016-11-18 11:45:40 -05:00
Guillaume Munch
a78c0457ac lib/symbols: fix \arrownot 2016-11-17 22:47:26 +01:00
Richard Heck
b5b160097e Update version of new modules, etc. 2016-11-17 11:39:19 -05:00
Richard Heck
0f5ba65eae Add three new files from Andrew Parsloe. These do for AMS-type
theorem environments what the already existing "by chapter" modules
do for non-AMS ones.
2016-11-17 11:05:29 -05:00
Jean-Marc Lasgouttes
f643ae7007 Merge branch 'betterspacing'
The purpose of this branch is to improve the spacing in math equations

* do not use hardcoded pixel values, but math units that depend on
  zoom and dpi. This should be good for HiDPI systems.

* implement as much as possible the math typesetting algorithm
  described in Appendix G of the TeXbook.

One typical example of the spacing algorithm is that ``-a'' has no
spacing, contrary to ``a + b''. This reflects the unitary/binary
minus that will indeed happen in typeset output.

Together with the better character substitution that has already been
implemented by Guillaume, we get a nice improvement of mathed looks.

What makes this code complicated is that it handles macros properly:
the spacing inside the macro will depend on the values of the
arguments and the elements that are before and after the macro.

As a result, many definitions in lib/symbols are now just copy/pasted
from the relevant sty file. In particular, it is now possible to make
use of \mathrel, \mathbin, etc. macros to specify spacing.

This merge is a starting point. Remaining work includes

* proper handling of sub/superscript nucleus and of font-changing
  insets (as is done in the TeX algorithm).
* proper typesetting of fractions

Thanks to Guillaume for extensive testing.
2016-11-17 09:44:01 +01:00
Jean-Marc Lasgouttes
7335ee8ea3 Cleanup of lib/symbols
Try as far as possible to use the same definitions as in the LaTeX files.

An example of that is the definition and subsequent use of \joinrel,
\relbar and \Relbar.

This is mostly Guillaume's work.
2016-11-17 08:48:32 +01:00
Günter Milde
15fd79201e lib/unicodesymbols tests and fixes.
Test unicodesymbols for most supported input encodings with Kornel's addition to ctests.

Add required "forces" to unicodesymbols:
* utf8x does not support all characters supported by LyX
* several 8-bit encodings map characters to math-mode commands - force replacement in text-mode so that LyX can wrap them in \\ensuremath.

Fix a misalignment (wrong replacements) in the Cyrillic Unicode block.

Use \\mathscr for Mathematical Script characters in Mathematical Alphanumeric Characters (in line with the characters in other unicode blocks.
2016-11-15 23:50:41 +01:00
Scott Kostyshak
0872bb78b4 Set default output format to XeTeX in Arabic docs
All other exports to PDF fail.
2016-11-13 22:42:18 -05:00
Guillaume Munch
be836909c5 Display properly math characters that behave like symbols
* set up a replacement of *, -, and : by the adequate symbols (#9893)

* fix the wrong character selection and operator spacing in \text mode

* hide some internal symbols from the auto-completion.
2016-11-13 20:06:35 +01:00
Guillaume Munch
ad7e2435cf Fix display of some math symbols
* Fix spacing in lib/symbols after recent commits about math spacing, as well as
  older spacing issues (e.g. \Join).

* InsetMathKern now uses the same em value as other math length commands.

What is nice is that the kerning amount now matches the ones found in the
packages definition (modulo 10mu that lyx currently adds between relations).

Testcase: $\CheckedBox\LEFTcircle\RIGHTcircle\photon\gluon\vcentcolon\dblcolon\Coloneqq\eqcolon\models\hookrightarrow\bowtie\hookleftarrow\Join\APLinv\neq$
2016-11-13 20:04:51 +01:00
Günter Milde
1805b41564 Fallback definitions for unicode paragraph/line break.
Convert characters 0x2028  LINE SEPARATOR and
0x2029 PARAGRAPH SEPARATOR to LaTeX equivalent.
(Just in case they slipped somehow into the source.)
2016-11-10 12:45:27 +01:00
Günter Milde
6674a91573 lib/unicodesymbols test update and fixes.
First run of Kornels patch for tests with all input encodings in lib/encodings.

Remove redundant sample files - keep only one sample and change the input encoding in the test script.

Put remaining failing test in "unreliableTests" for later sorting...
2016-11-09 21:15:14 +01:00
Uwe Stöhr
e7e6d07e84 encodings: use correct encoding "latin7" for ISO 8859-13
This fixes bug #10474 properly, thanks Günter
2016-11-08 00:04:02 +01:00
Uwe Stöhr
852687852a doc files: port recent changes 2016-11-07 23:53:19 +01:00
Uwe Stöhr
9651879253 Japanese EmbeddedObjects.lyx: re-add export format
- I don't know if it is a bug that LyX automatically deletes the output format if it cannot find
2016-11-05 19:19:19 +01:00
Uwe Stöhr
02a1c06f32 French Tutorial.lyx remove info accidentally introduced in recent commits 2016-11-05 19:13:32 +01:00
Uwe Stöhr
f5fd699847 Japanese EmbeddedObjects.lyx: re-add code
please use 2.2.x as working branch for all doc files unless you describe new features in master!
2016-11-05 19:12:40 +01:00
Uwe Stöhr
108d6763cf doc files port recent changes 2016-11-05 19:03:56 +01:00
Juergen Spitzmueller
3374b8548b Fix usage of multiple varieties of the same polyglossia language.
1. We must always output all (diverging) options, including
   default options; if not, default options might get overwritten.

2. Do not output options in \setotherlanguage, since we might have
   multiple "other languages" varieties from the same language (such
   as naustrian, nswissgerman). And the options are output for the
   language switches anyway.

Hence, LaTeXFeatures::getPolyglossiaLanguages() does not have to record
varieties. This was not done correctly anyway, since the map allowed
for one entry per language only.
2016-11-02 17:07:49 +01:00
Juergen Spitzmueller
24066805af Enable polyglossia support for Swiss German 2016-11-01 18:08:33 +01:00
Uwe Stöhr
0af72e23fd languages: use correct encoding for Lithuanian
fixes bug #10474
2016-11-01 16:08:33 +01:00
Uwe Stöhr
9dc67281db Arabic Intro.lyx: fixes from Hatim 2016-11-01 15:11:26 +01:00
Uwe Stöhr
da323c1910 Arabic doc files: port recent changes 2016-10-31 12:24:19 +01:00
Uwe Stöhr
88f78803b5 EmbeddedObjects.lyx; remove unnecessary latexpar
- this was the last issue to fix bug #10068
2016-10-31 11:49:57 +01:00
Uwe Stöhr
42d900c2a7 Development.lyx: update info how to update the tex2lyx test files 2016-10-28 00:46:59 +02: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
Guillaume Munch
143a177ad3 Copy bit of documentation from Georg's commit log 2016-10-27 21:28:49 +02:00
Guillaume Munch
120f03fd8e Copy bit of documentation from MathFactory.cpp 2016-10-27 21:10:18 +02:00
Juergen Spitzmueller
34f0aedabc Handle | verbatim in index insets. 2016-10-27 18:12:30 +02:00
Uwe Stöhr
e01b4459fc Arabic Shortcuts.lyx: new translation by Hatim 2016-10-25 23:33:25 +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
Juergen Spitzmueller
95db20e008 Bump layout formats 2016-10-22 09:25:01 +02:00