Commit Graph

8127 Commits

Author SHA1 Message Date
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
Uwe Stöhr
fd3e2ebc37 Additional.lyx: accept some changes 2016-10-22 03:04:10 +02:00
Uwe Stöhr
7f7534403b layouts/modules: use the new PassThru tag
This fixes problems like bug #10434
2016-10-22 03:01:44 +02:00
Juergen Spitzmueller
fb9a866a66 Implement PassThru option to arguments. 2016-10-21 10:39:55 +02:00
Uwe Stöhr
f738b1003b French splash.lyx: restore \origin 2016-10-20 22:35:00 +02:00
Uwe Stöhr
62c4ba308a seminar.lyx: accept change from Günter
- French seminar.lyx: few beautifications
2016-10-20 22:31:30 +02:00
Günter Milde
6ff89c4b95 Do not convert \\\\textbackslash to 0x29f5.
Do not use REVERSE SOLIDUS OPERATOR for backwards conversion of
\\\\textbackslash in LyX and tex2lyx.

Both, \\\\ (005C REVERSE SOLIDUS = backslash) and 0x29f5 map to
\\\\textbackslash but 005c is the preferred back-transformation.

Otherwise, using \\\\ in "mathematical text" leads to literal 0x29f5 in the LyX
source which leads to "missing character" errors with non-TeX fonts.
2016-10-17 09:04:56 +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
Uwe Stöhr
1feeefb2b1 Development.lyx: a MSCV specific update 2016-10-16 15:30:51 +02:00
Uwe Stöhr
2974e1a3db Development.lyx: Updates
- the range of file format does no longer need to be updated
- mention rule 6 of the documentation policies
2016-10-16 14:52:46 +02:00
Uwe Stöhr
3a6af2c1a4 Customization.lyx: use change tracking for the changes made in 0eb651a2 2016-10-15 01:44:14 +02:00
Juergen Spitzmueller
b30de672d0 enumitem.module: handle resume counter
Uses the new counter tags.
2016-10-14 20:09:54 +02:00
Juergen Spitzmueller
a85fa80060 linguistics.module: proper example counters
Uses the new counter tags.
2016-10-14 20:09:25 +02:00
Juergen Spitzmueller
0eb651a2cf New layout tags for better counter handling
* ResumeCounter: allow to resume an (enumerate) counter
* StepMasterCounter: allow to increase a master counter
2016-10-14 20:08:12 +02:00
Juergen Spitzmueller
91f5d90971 Fix label display in linguistic examples
Ideally, we would use a proper counter here, but this seems to be
impossible with the current counter mechanism.

What we would need is a counter that is incremented when either of the
layouts is used. Currently, the counter seems to be stepped only inside
one layout.

The current fix is a candidate for stable.
2016-10-14 11:45:32 +02:00
Kornel Benko
90adb4f314 Cmake export tests: Introduce 'LYX_DEBUG_LATEX' environment variable.
Setting this variable to '1' will include also latex messages in
ctest log file LastTest.log.
2016-10-12 14:35:23 +02:00
Scott Kostyshak
892593fbdc Change default working directory from ~/ to "."
Note that the lyxrc.document_path variable corresponds to what we
call the "Working directory" in the GUI preferences dialog.

Setting document_path to "." makes it so when LyX is started from a
directory, that directory is the default path for many of LyX's
operations, such as the following:

- new file, new from template
- adding a custom BibTeX file
- GUI compare dialog
- local layout button in document settings
- external material file browser
- graphics browser, include browser

The best guess for where the user wants to save or find files is the
directory the user started LyX from. Before, the default was always
the home directory. If desired, the old behavior can be restored by
changing the default path in Preferences > "Working directory".

This commit takes advantage of 9b64d7bd, which allows the use of a
relative path for path preferences.
2016-10-11 22:25:42 -04:00
Günter Milde
9c0f829d12 lib/unicodesymbols fixes and tests
Unicode blocks 125, 152, and 246
2016-10-11 00:38:17 +02:00
Uwe Stöhr
ef4594c71e French UserGuide.lyx: back to format of 2.2
Sorry for this, but see the last "rule" of the documentation guidelines: don't upgrade the fileformat unnecessarily
2016-10-10 23:47:33 +02:00
Günter Milde
16c26f909c seminar ctest fixes
* custom non-tex fonts with all required characters
* use 2.2 fileformat (easier backporting)
* test all export formats

Also, fix pattern for "mixing_inTitle_layouts" in unreliableTests.
2016-10-10 14:14:33 +02:00
jpc
65505ba879 Typo pointed out in the lyx-fr mailing list 2016-10-10 11:18:13 +01:00
Uwe Stöhr
16822a8a8e Development.lyx: small change from Scott 2016-10-10 02:45:05 +02:00
Guillaume Munch
e45bf2fbb9 Add Daniel to credits 2016-10-09 20:12:31 +02:00