Commit Graph

295 Commits

Author SHA1 Message Date
Juergen Spitzmueller
508f4deae2 Output Preamble code of InPreamble styles before the styles themselves.
This assures that macros are defined.

Fixes: #10215
2017-02-23 10:53:30 +01:00
Enrico Forestieri
8a1f936ff1 Strike out (in the output) deleted display math with track-changes
Showing deleted display math by enabling "Show Changes in Output" was
only possible with dvi (through dvipost). Although LyX strikes out
such formulas on screen, it was impossible obtaining an output
directly using pdflatex (or other engines producing pdf) because
ulem cannot cope with display math material and gives errors.
The solution is to strike out by ourselves such deleted formulas.
I took into account several options. One of them would produce
an output similar to dvipost (which strikes out each element), but
would have required much more changes in the output routines.
Eventually, I opted for using tikz, which gives a more clean
output (as it requires to simply adding a preamble and a postamble
to the latex code of any displayed math, instead of a mark up
tailored to each particular math construct). The look of the pdf
output is similar to the way LyX strikes out the equations on screen.

Fixes #9678
2016-11-05 21:31:09 +01:00
Juergen Spitzmueller
008c229041 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 18:04:26 +01:00
Juergen Spitzmueller
d190ae7787 Issue an error message if conflicting languages are used
Some languages are only supported by Babel, some only by Polyglossia.

If these are combined, we issue an error message now.

Fixes: #10456
2016-10-31 10:26:35 +01:00
Juergen Spitzmueller
b14d9186bb Amend 7d52d37662
\@ifundefined is an If-Then-ELSE construct.
2016-09-04 17:43:51 +02:00
Juergen Spitzmueller
7d52d37662 Fix for recent luatex versions. 2016-09-04 17:35:11 +02:00
Richard Heck
0e6b63a262 When we use InPremable styles, we want to write as many versions
to the premable as the user enters.

(cherry picked from commit fa190691a8)
2016-06-12 01:00:01 -04:00
Georg Baum
4ab1d77577 Fix regression of 0bf8b8a1 (bug 9884)
Unfortunately the footmisc package does not work together with hyperref:
Before 0bf8b8a1, a footnote in a section title was created as a link in pdf
outpout, after 0bf8b8a1 ist was no link anymore. For now we revert to the old
code, and wait until the footmisc and hyperref packages are made compatible.
2016-01-26 21:33:46 +01:00
Günter Milde
3a70340a95 Use polyglossia also with DVI (LuaTeX).
Simplify the logic for language package selection and make it more consistent:

Use polyglossia with non-TeX fonts (system fonts/Unicode fonts) for all
export flavours (XeTeX, LuaTeX, DVI-LuaTeX), if the language package setting
is "auto" and there is no language not supported by Babel and no package
providing Babel.

This solves some Babel-related autotest cases and leads to some new failures
due to the polyglossia language nesting problem.
2016-01-08 22:52:28 +01:00
Günter Milde
0eb9477be7 Fix 480937a103708a651/lyxgit, second attempt.
Prevent encoding changes whenever the TeX engine is XeTeX or LuaTeX,
as XeTeX/LuaTeX use only one encoding per document:

* with useNonTeXFonts: "utf8plain",
* with XeTeX and TeX fonts: "ascii" (inputenc fails),
* with LuaTeX and TeX fonts: only one encoding accepted by luainputenc.

+1 no needless encoding switches
+1 runparams.encoding matches the correct encoding at any time
+1 less complicated code.

-1 there may still be problems with CJK (possibly impossible to
   solve for Xe/LuaTeX with TeX fonts).

For LuaTeX & TeX fonts, the complete document uses the encoding
of the global document language.

See also #9740.
2015-11-12 16:55:04 +01:00
Georg Baum
2fc430d5ae Store both sets of font selections
This is one part of bug 9744: If you toggle between TeX fonts and non-TeX
fonts, the settings of the other choice are no longer thrown away, but stored
and re-activated if you switch back. Most parts of the patch are purely
mechanical (duplicating some BufferParams members), the only non-mechanical
change is in the GUI logic.
2015-11-09 07:36:42 +01:00
Juergen Spitzmueller
a9b8cdca9e Varwidth module provided by d.iabo
See #9417.
2015-11-01 11:00:23 +01:00
Günter Milde
af16acb0b4 Fix #9792 cyrtext and textcyr in the preamble of every document.
Add the brackets missing in [468cedb923b/lyxgit].
2015-10-19 18:34:48 +02:00
Günter Milde
0bbc80fa83 Remove problematic workaround for "exotic" problem
Greek and Times under MikTeX with auto-install may fail due to a half-installed
font package. However, the workaround in LyX stands in the way of 
alternative approaches (see bug #6469).
2015-08-27 00:04:19 +02:00
Günter Milde
468cedb923 Fix #9679 textcyr fails without fontenc 2015-07-14 14:47:44 +02:00
Günter Milde
3f6b034167 Fix Ticket #9607 (support comma below accent in unicodesymbols).
LaTeXFeatures defines \textcommabelow and \textcommaabove based on a 
generic \LyXTextAccent and declares TextCompositeCommands for the Baltic 
letters in the T1 font encoding, using \textcommaabove for the small letter g 
and \textcommabelow else.

This allows overwriting of the composite definition for other font encodings. 
Especially, it does not interfere with the polish/baltic font encoding L7x 
(supported by LatinModern and TeXGyre fonts)  that provides pre-composed 
glyphs.
2015-07-12 16:21:25 +02:00
Günter Milde
5a47e4bc70 Fix #9636 textgreek: restore compatibility with lgrenc.def.
Greek characters with perispomeni (tilde) accent were not properly shown
in the output document, because the "textgreek" feature re-defined \~ in
a way incompatible with lgrenc.def since version 0.8  (2013-05-13)
(package greek-fontenc).

The compatibility-definition is required for older versions of the font setup
(before the move of "lgrenc.def" from "babel" to "greek-fontenc").
It is now done with "ProvideTextCommand" to not overwrite the more complete
implementation in lgrenc.def.
With the compatibility definition, combined diacritics with tilde
must be input with the tilde first (e.g. \~>, not \>~).
"unicodesymbols" is changed accordingly.

Also, some LICRs for combining Greek diacritical characters were added to
Unicodesymbols.
2015-07-11 15:39:02 +02:00
Günter Milde
c56f0538a0 Fix clash between marvosym and bbding packages (fixes #7811).
Both marvosym and bbding define the "Cross" macro.
To prevent a compilation error due to conflicting definitions, 
we undefine the "Cross" macro if both packages are required.
2015-07-06 14:10:34 +02:00
Uwe Stöhr
f8d5a3ea4f LaTeXFeatures.cpp: register the hpstatement package 2015-05-29 01:47:46 +02:00
Juergen Spitzmueller
dbe0096c12 Rename ref prefix "sub:" to "subsec:"
This solves a macro conflict between subfloat's \subref and our own
\subref definition (bug #7550)

File format change.
2015-05-24 13:50:21 +02:00
Georg Baum
84cca2dd94 Fix indentation 2015-05-17 17:27:27 +02:00
Georg Baum
08b2859663 Do not require esint for \int (bug 9498)
We also get a consistent look with amsmath, so require esint or amsmath.
When resolving alternatives, do also take into account whether the package
is available. For this to work, we also need to test for amsmath.sty (which
was surprisingly not yet done).
2015-05-16 12:29:54 +02:00
Juergen Spitzmueller
7158f7b58d Add support for linguistic trees (via forest) 2015-04-20 18:14:42 +02:00
Juergen Spitzmueller
880715c5a5 Load amsthm after amsmath.
This follows a strong advice in the masthm manual and fixes #7233.
2015-03-22 11:14:08 +01:00
Juergen Spitzmueller
7aad787047 fixltx2e must be loaded as early as possible
Fixes: #9452, #9361

This reverts the 'fix' to #7233, which must be solved differently.
2015-03-17 10:24:33 +01:00
Georg Baum
1fd4aaefd6 Fix regression of eb121f999
Again thanks to Scott for finding this. The removal of the check for full
unicode in eb121f999 was not wanted. Now listings can be exported to
lualatex and xetex again.
2015-02-17 21:19:05 +01:00
Juergen Spitzmueller
16c33b5f6e Move font encoding information to languages. 2015-01-24 14:02:16 +01:00
Georg Baum
eb121f9993 Replace hardcoded hack with InsetLayout tag 2015-01-11 20:01:19 +01:00
Georg Baum
5d6351d476 Fix wrong listings preamble encoding (bug #9382)
The listings package employs some dirty tricks internally, therefore it does
not work with utf8 encoding, but requires fixed width encodings. This version
of the fix uses ugly hardcoding instead of a layout file format change, so it
could be backported if needed.
2015-01-11 19:17:51 +01:00
Juergen Spitzmueller
9b3e47fd87 Output package options before loading any package.
Fixes: #9355
2014-12-21 12:10:06 +01:00
Georg Baum
0bf8b8a1d2 Load footmisc.sty instead of using outdated code
This is a patch I originally sent to lyx-devel in 2012 with subject
'Load footmisc.sty instead of using copied code from obsolete stblftnt.sty'.
It now takes all comments into account: It works also if the user loads the
package herself, it can be disabled by providing the footmisc feature in a
layout, and it does not use the ugly \AtBeginDocument{}.
2014-11-14 20:20:35 +01:00
Uwe Stöhr
96ca121fc9 LaTeXFeatures.cpp: fix bug #9266
mhchem loads amsmath and needs therefore be loaded after it but before packages that redefine commands of amsmath. We already take care of esint but not of wasysym
2014-09-10 22:01:29 +02:00
Juergen Spitzmueller
87eb430395 Add support for todonotes package
Fixes: #7546
2014-08-31 14:49:30 +02:00
Juergen Spitzmueller
ccdd782b4f Add support for the fixme package.
Fixes: #8868
2014-08-31 14:38:28 +02:00
Georg Baum
5093893b59 Fix LaTeXFeatures::useLayout() recursion test
It was broken in two ways: It was not threadsafe, and it did never detect
any recursion, since the counter was decremented for each non-recursive call
and never incremented again.
2014-07-05 14:37:55 +02:00
Juergen Spitzmueller
d333d7d696 Add support for the pdfcomment package.
Fixes: #6975.
2014-07-03 11:30:56 +02:00
Juergen Spitzmueller
4a0976ceeb Add support for the sectionbox and tcolorbox packages.
They will be used by the conference poster classes that will be supported in a minute.
2014-07-02 13:48:01 +02:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
35e64bf951 Allow usage of algorithm2e package (#8744)
This simple module allows users to use the algorithm2e package at all. Before, it was not possible with LyX, since this package conflicts with LyX's own algorithm support (see also #8728)
2014-01-26 19:23:40 +01:00
Juergen Spitzmueller
ed1ef9d740 Fix typo 2013-12-14 15:09:23 +01:00
Juergen Spitzmueller
3f9e644c25 Do not load the tipa package when fontspec is used
This was until now only cared of by the IPA inset, not by unicodesymbols.
2013-12-14 09:13:17 +01:00
Juergen Spitzmueller
3ccb2a1691 Also consider main language in hasOnlyPolyglossiaLanguages() and hasPolyglossiaExclusiveLanguages() 2013-11-14 17:40:47 +01:00
Juergen Spitzmueller
36730a2f3f fix macro order for newsubfloat 2013-10-13 11:45:59 +02:00
Juergen Spitzmueller
d1a77eadc1 Load AMS packages before newtxmath (#8824) 2013-09-01 10:21:21 +02:00
Uwe Stöhr
158571ea00 LaTeXFeatures.cpp: fix bug #8731
- we must assure that the package mhchem is loaded before the package esint
2013-07-16 23:16:09 +02:00
Uwe Stöhr
f33454b3c7 LaTeXFeatures.cpp: add rsphrase
- also modify the rsphrase.module
- correct naming scheme for the bicaption.module
2013-05-30 18:15:44 +02:00
Uwe Stöhr
a2e6fc773a LaTeXFeatures.cpp: add multicol and shapepar 2013-05-30 17:55:21 +02:00
Julien Rioux
9e50872e50 Add babelbib, bibgerm, chscite, and opcit to LaTeXFeatures.
This way they can be Required by layout or module files and LyX
will insert them in the appropriate location in the preamble.
2013-05-26 21:10:32 +02:00
Richard Heck
f34394460a Whitespace. 2013-05-23 09:39:16 -04:00
Richard Heck
1230372566 Add support for package options in layout files. E.g.:
PackageOption tipa safe will load tipa with the
 "safe" option, if we load it.
2013-05-23 09:34:40 -04:00