Commit Graph

454 Commits

Author SHA1 Message Date
Enrico Forestieri
98a5072a58 Fix a couple of issues with macros and previews
* Fix typo causing to only account for the first char of a macro name
* Also check for macros as arguments of other macros
2015-06-20 01:44:22 +02:00
Enrico Forestieri
11c2b7792c Replacement for commits bc47054b and ad0d0f6d
The strategy adopted in bc47054b had some drawbacks related to the way
instant preview snippets are generated. See the subthread starting at
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg187916.html
for details.

The strategy adopted in this commit is that of adding macro definitions
only for the macros actually used in a preview snippet, independently
of whether some macro was already used in a previous snippet. In this way
the snippets don't need to be changed according to whether they are
compiled as a whole or separately from each other. This fact was causing
the regeneration of a preview snippet whenever the cursor entered the
corresponding inset, even if the generated image would have not changed.
The problem of defining or redefining a macro is taken care by the
python scripts.
2015-06-14 18:10:29 +02:00
Enrico Forestieri
5998555743 Account for the trailing optional argument of \usepackage.
The full syntax is \usepackage[<options>]{<name>}[<min.date>]
even if this is not documented in my old Lamport's LaTeX book...
2015-06-03 19:02:54 +02:00
Enrico Forestieri
3c3cb777d6 Missing bits from 07169c7b
Sorry, was forgetting this.
2015-06-03 18:43:27 +02:00
Enrico Forestieri
07169c7be2 Report how many preview snippets fail.
Instead of warning about latex problems that, most probably, are worked
around by the script, report how many preview snippets were not produced.
2015-06-03 17:57:09 +02:00
Enrico Forestieri
0db57b6532 Correctly escape backslashes.
Curiously, this was already working right.
2015-06-03 01:10:45 +02:00
Enrico Forestieri
3924030e82 Fix some preview issues reported on the devel list.
* Provide for vector fonts only if needed.
* Make sure microtype doesn't throw a trantum in dvi mode.
* Use correct macro definition in preview insets.
2015-06-03 00:24:54 +02:00
Juergen Spitzmueller
eb748d6330 Make layout membership to ParagraphGroup settable (see #6854) 2015-06-01 16:11:05 +02:00
Richard Heck
3c2b3e6907 Remove printing support from LyX.
This was bug #6747.
2015-05-27 18:13:08 -04:00
Enrico Forestieri
c2a18fc142 Bump RC format for commit 260a98d2 2015-05-23 18:24:26 +02:00
Juergen Spitzmueller
47dd9189eb Add more Float tags to allow to disable wide and sideways feature
Fixes: #9557, #9558

This is amended to yesterday's layout format change.
2015-05-22 18:59:17 +02:00
Juergen Spitzmueller
7dc123b790 Add Float tag to determine allowed positioning options (#7752) 2015-05-22 10:37:14 +02:00
Enrico Forestieri
a365e696e2 Take into account compressed documents when creating a LyX archive 2015-05-14 18:58:46 +02:00
Juergen Spitzmueller
bc47054be8 Properly fix #6369
Avoid that \newcommand[x] definitions of math macros are pushed multiple
times to the preview loader.

Redefinitions (via \renewcommand[x]) are properly handled.
2015-04-30 16:48:55 +02:00
Enrico Forestieri
d3eae5b9c7 Do not show previews of snippets that produce latex errors 2015-04-30 00:37:05 +02:00
Enrico Forestieri
2a77dc5ec6 Forgot to escape the dot 2015-04-29 18:04:51 +02:00
Enrico Forestieri
83f2fe7045 Correct progress message
Now we also process with pdflatex the previews requiring hyperref.
2015-04-29 18:00:28 +02:00
Enrico Forestieri
2bbf775c74 Detect hyperref when generating previews
If use of hyperref is detected, the postscript route is not attempted
(because we know it will fail) and the PDF route is directly chosen.
Also account for all upper case extensions for pdflatex image files.
2015-04-29 17:29:27 +02:00
Enrico Forestieri
ca921fd650 Correctly indicate the failing converter
If epstopdf fails, pdftocairo is not called but the warning points
the finger to it. Also correctly indicate the failing file.
2015-04-29 16:20:27 +02:00
Enrico Forestieri
d44b0a19cb Amend 75f7eafd
Was forgetting this last bit from 64e0c558. Also give a message such
that the user is informed that not everything is lost if latex fails.
With this, the previews are generated also when the document directly
specifies a specific pdf output format.
2015-04-29 13:59:28 +02:00
Enrico Forestieri
75f7eafd65 Try even harder to obtain an instant preview
This is a followup commit to 691fdea3 and restores the behavior of the
script as it was intended before 64e0c558, other than taking into account
possible inclusion of files that only pdflatex can process and the
possibility of multiple defined math macros.
The instant previews in the math manual now work again.
2015-04-29 12:32:54 +02:00
Enrico Forestieri
c9b553fd2f Use pdftocairo (if available) for instant preview.
If pdftocairo is detected, it is used for generating bitmaps in the
legacy method route in preference to ghostscript. This is justified
by the fact that the conversion is 4 to 5 times faster and the
quality of the generated images is superior.
2015-04-27 21:37:26 +02:00
Enrico Forestieri
691fdea346 Try hard to obtain an instant preview.
When the dvipng route is selected and latex fails, the lyxpreview2bitmap.py
script simply bails out. The failure may be due to using a specific pdf
only feature in ERT (for example, the inclusion of a pdf image).
In this case the procedure may succeed simply trying to use pdflatex
and the legacy conversion method.
2015-04-27 17:28:39 +02:00
Enrico Forestieri
890b9a53cb Fix bug #7850 (Preview of inline math misaligned) 2015-04-26 19:08:16 +02:00
Juergen Spitzmueller
897b2e73a1 New (Inset)Layout tag PassThruChars 2015-04-20 18:13:49 +02:00
Georg Baum
88c274eee7 Let imagemagick detect file format (bug #2332)
Imagemagick detects the inut file format based on contents. Therefore it does
not make sense that we prefix the to be converted file name with the extension
(assuming that the file extension matches the imagemagick format name). This
breaks formats where the extension used by LyX does not match the imagemagick
format name.
2015-03-22 10:22:31 +01:00
Georg Baum
70afbc82ac Add low-res pdf export as suggested by James
As discussed on the list, but I did not need to create two new pdf formats
since any given document either uses TeX fonts or not. For the same reason
I also added an additional converter to PDF (cropped).
2015-02-11 22:24:04 +01:00
Georg Baum
eb121f9993 Replace hardcoded hack with InsetLayout tag 2015-01-11 20:01:19 +01:00
Juergen Spitzmueller
cfeddb9293 Add ObsoletedBy tag to InsetLayout
Fixes: #9000.
2014-12-08 09:08:45 +01:00
Juergen Spitzmueller
a25569ebb3 Add a layout tag ForceOwnlines that assures an inset is started and terminated by a line break in the LaTeX output.
Fixes: #8875.
2014-12-01 14:56:47 +01:00
Georg Baum
f110ef2f41 Convert updatelayouts.sh to python
This makes the script usable on windows and speeds it up by an order of
magnitude, since no new process needs to be forked for each layout file.
It also does not conevrt .old files again.
2014-11-16 12:43:52 +01:00
Jean-Marc Lasgouttes
45eb314a86 Get rid of rtl_support preference
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!

Now right to left support is always enabled.
2014-07-09 21:11:08 +02:00
Jean-Marc Lasgouttes
9d5c947110 Remove LyXRC option force_paint_single_char
It was not honored anymore.
2014-07-08 23:12:09 +02:00
Georg Baum
953a4d13d9 Add missing bits of layout file format update
This is needed so that the new format number is actually used. Since the
conversion is a noop I did not update the layout files (more updates will
come).
2014-05-29 21:25:08 +02:00
Juergen Spitzmueller
20bcaec061 Add layout tag that determines if/when a paragraph can be indented.
Fixes: #7327, #7458, #8670
2014-05-29 14:10:32 +02:00
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Richard Heck
7e1541dd49 Fix failure to detect quoted flex insets in conversion to layout
48. Also, simplify this code.
2014-04-25 17:18:29 -04:00
Richard Heck
4540e6c2ef Patch from Enrico fixing a problem with the lyxpak.py script when
"Add Bibliography to TOC" is used. Fixes #9044.
2014-04-21 11:51:58 -04:00
Richard Heck
64e0c5589c Return an error if LaTeX is unable to compile the file. 2014-04-21 11:51:57 -04:00
Scott Kostyshak
23a28e78a8 Bump RC format for commit 214f7ed2 2014-03-19 21:56:31 -04:00
Richard Heck
1c76460858 A a copule comments reminding us where preference formats should
be updated.
2014-03-19 11:05:34 -04:00
Scott Kostyshak
eb53788f3a csv2lyx: use universal newlines when reading CSVs
Patch from Dustin J. Mitchell.
2014-02-16 00:07:43 -05:00
Jean-Marc Lasgouttes
e7a1cce551 Rename some LFUN names to match their text name
Also, rename copy-label-as-reference to label-copy-as-reference and update LFUNs.lyx accordingly.
2014-02-13 13:50:33 +01:00
Georg Baum
6b49b6b129 Fix conflicting inset font defaults (bug #8874)
This makes the defaults of Inset::inheritFont() and Inset::resetFontEdit()
compatible. There is no user visible change except for the Chunk inset which
does not produce invalid LaTeX after editing operations anymore.
This is the safe version for 2.1.0, for later there are still open questions:
- All insets with ResetsFont true should be audited: Is this really needed,
  or do they show similar editing problems as the Chunk inset?
- Does inheritFont() need to be customizable in the layout file as well?
- Is resetFontEdit() != !inheritFont() needed at all?
I did not use change tracking for the docs, since I updated all existing
translations.
2014-02-10 22:06:32 +01:00
Richard Heck
f9de88c53c Remove the shebang line from our python scripts, per Jose's suggestion.
Fedora ships these chmod 644 and has never seen a problem. The advantage
to doing this is that it better controls what version of python we are
using to launch the script, and it will reveal if we're somehow somewhere
not controlling that properly.
2014-01-28 12:52:16 -05:00
Richard Heck
5d94d1b3bf Use "#!/usr/bin/env python", as elsewhere. 2014-01-26 11:38:41 -05:00
Juergen Spitzmueller
c9ea13ee99 Bump RC format for commit 8f287f5ffa 2013-06-02 12:06:01 +02:00
Richard Heck
2374229cc6 Introduce InitialValue tag for counters. Fixes bug #8707. 2013-06-01 17:42:08 -04:00
Uwe Stöhr
2f38fe8649 csv2lyx.py: update for fileformat 413 (LyX 2.0.x) 2013-05-31 02:02:28 +02:00
Stephan Witt
75c631df7f On Mac, moving down a paragraph should place the cursor at the end of the current paragraph
(unless it's already there, in which case it should move to the end of the next paragraph).
Change the preference setting name (mac_like_word_movement to mac_like_cursor_movement)
to better reflect its function.

Patch and description from Bennett Helm
2013-05-25 18:02:21 +02: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
Georg Baum
7bdc34a987 Implement forced local layouts
These should be used if any new style needs to be introduced in the stable
2.1 series: If the ForceLocal flag of the style is set, it will always be
written to the document header, so that even older 2.1 versions can read
and correctly output the document.
2013-05-15 07:19:49 +02:00
Vincent van Ravesteijn
147dcb4cb9 Make the use of system's theme icons configurable
A lyxrc variable is added and a checkbox is added to the LyX->preferences
dialog.
2013-05-14 17:26:06 +02:00
Richard Heck
4968ce4627 This probably doesn't matter, but the reason for bug #8666 traces,
ultimately, to the layout conversion for format 2.
2013-05-10 13:47:03 -04:00
Georg Baum
8c8e19bb1c Work around gnuhtml2latex encoding bug
gnuhtml2latex does not handle encodings at all. Therefore the result is not
imported correctly by tex2lyx if the HTML file is encoded in anything else
than ascii or latin1 (the default of tex2lyx). The simple wrapper script
loads inputenc if needed. It may not be possible to compile the result with
LaTeX, (e.gif utf8 is used), but for running tex2lyx it will work just fine.
2013-04-12 21:35:50 +02:00
Kornel Benko
f9e41a159e prefs2prefs: While handling converters, make sure
the entry is really '\converter' and not e.g. '\converter_cache_maxage'
2013-03-23 15:31:21 +01:00
Richard Heck
6eb0b47a8a Fix a couple problems with new prefs2prefs material. 2013-03-23 09:35:26 -04:00
Georg Baum
cb5dd33475 Split pdf format as discussed on the list
Previously, the format used for included pdf files was the same as for
document export via ps2pdf. This caused unwanted conversion routes, e.g.
export via odt->pdf instead of dvi->ps->pdf.
I renamed the format for included graphics and not for exported documents,
since otherwise the command line syntax for export would change. This would
require more adaptions for the users, since with the chosen solution the
custom converters are almost always changed correctly in prefs2prefs(),
so that only custom external templates need manual adjustement.
2013-03-21 20:13:02 +01:00
Georg Baum
eb53c60a8f Complete the NoInsetLayout format change 2013-02-21 21:57:59 +01:00
Richard Heck
06cac41193 Add "NoInsetLayout" tag for Uwe. Fixes bug #8545. 2013-02-12 10:13:41 -05:00
Richard Heck
d6709df3d7 Layout changes for changes to LabelType:
LabelType Counter --> LabelType Static
	LabelType Top_Environment --> LabelType Above
	LabelType Centered_Top_Environment --> LabelType Centered
2013-02-09 13:44:06 -05:00
Jean-Marc Lasgouttes
c48bdf845c Handle encoding correctly with knitr>=1.0 (#8504)
Knitr now has a parameter to indicate the encoding of the file. With this patch,it is used when possible (from Yihui Xie).
2013-01-21 09:53:26 +01:00
Julien Rioux
10b2ef1af5 lyxpreview: Allow to find python scripts.
In particular, lilypond-book is just a python script. On windows,
we need to call the python interpreter, using the full path to
the script while being wary of spaces in the path.
2012-12-31 17:16:11 +01:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Juergen Spitzmueller
b0aa0db10a Bump layout format 2012-12-22 11:39:04 +01:00
Richard Heck
945c0e4127 Fix lyx2lyx bug: We need to check for quoted names before we check
for unquoted ones. Otherwise, a quoted name with no spaces gets
treated as if it were an unquoted name.
2012-12-10 11:09:50 -05:00
Richard Heck
72c2a72afd Fix bug reported on user list: the path variable here was undefined,
causing a failure when running outside the user tree. This was my
fault: when I refactored this routine, I failed to note that this
variable was now undefined.
2012-11-27 20:50:09 -05:00
Juergen Spitzmueller
98e8dfeffc layout2layout for the new argument syntax 2012-11-20 11:49:02 +01:00
Enrico Forestieri
f6fde4b553 Fix bug #8379: LyX Archive fails to include BibTeX files 2012-10-20 18:27:35 +02:00
Richard Heck
cb20125e1d Add comment. 2012-10-12 09:54:49 -04:00
Richard Heck
b5e2fd7bb7 Fix layout2layout conversion for format 40. This is a big ugly,
I'm afraid, but it's going to be. We skip all comment lines at
the start of the script, but what we want to convert here is in
those comment lines. My previous attempt to deal with this issue
produced an invalid file.
2012-10-12 09:50:47 -04:00
Richard Heck
ddd0ff971a Convert old pre-category layouts to new categorized layouts.
Unfortunately, this doesn't quite work the way one might like. It
is fine for manually converting one's own layouts to the new format,
but it doesn't work if you just start LyX, since the category info
is written at configuration time, not at run time, and chkconfig.ltx
does not run layout2layout.
2012-10-10 13:54:26 -04:00
Richard Heck
98656dd15b Bump layout format to 40, in preparation for conversion of layout
categories.
2012-10-10 13:22:54 -04:00
Scott Kostyshak
f7928f48a6 More elegant knitr support and bug fix
Implement a more simple and elegant integration of the R package knitr. Now,
lyxknitr.R does not need to move or copy files at all.

This also fixes a bug: when /tmp was on a different file system (e.g.
encrypted home), lyxknitr.R failed to move files to /tmp because it relied on
R's 'file.rename' function, which in turn relied on the rename function in
<stdio.h>, which was failing with the EXDEV errno.

Patch from Yihui Xie.
2012-10-06 21:01:34 -04:00
Tommaso Cucinotta
ad827243fc Adding preferences format update as due to commit 4985015 (new close_buffer_with_last_view option). 2012-10-01 22:30:13 +01:00
Pavel Sanda
a982bdc5fa Attempt to bump prefs2prefs_lfuns.py. 2012-09-29 20:04:56 +02:00
Juergen Spitzmueller
4df9eb36a0 Remove annoying warning 2012-09-25 17:01:23 +02:00
Scott Kostyshak
8dc4c965a5 Update of the bash completion script
The -dbg options are updated and support is added for
-E, --export-to, -n, --no-remote, -r, --remote,
-f, and --force-overwrite.
2012-09-25 01:14:09 -04:00
Juergen Spitzmueller
769afefb15 documentation 2012-08-08 10:07:31 +02:00
Juergen Spitzmueller
a18af62087 Complete default_language rc removal 2012-08-08 09:31:46 +02:00
Richard Heck
c9d2794d93 Prettify the prefs2prefs file a bit. 2012-05-22 09:02:12 -04:00
Richard Heck
aeca5e6f0d Typo. 2012-05-22 08:58:55 -04:00
Richard Heck
abbc07026b Add commit to prefs2prefs. 2012-05-22 08:57:25 -04:00
Richard Heck
288c1e0faa Add "nice" flag for converters, addressing final problem with bug #4624. 2012-05-22 08:56:05 -04:00
Richard Heck
a7c3567452 Fix typo. 2012-05-22 08:14:33 -04:00
Enrico Forestieri
fbcf2486d8 Fix bug #8164: lyxpak.py fails to include filenames with spaces
People love embedding spaces in filenames, so account for that.
2012-05-20 16:32:47 +02:00
Pavel Sanda
dce6c8875c Allow Insetlayout for Branch inset (#8106).
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg173659.html
2012-04-19 11:56:32 +02:00
Richard Heck
12ba6a19d0 Add some comments to include_bib.py about how to set up the converter. 2012-04-17 16:58:28 -04:00
Georg Baum
a2e8cb758b Translations for listings insets
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:

1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
   and InsetListings
2012-04-10 20:21:01 +02:00
Richard Heck
a71e831d23 Clean up the include_bib script a bit. 2012-03-26 12:06:04 -04:00
Julien Rioux
1e947e3a18 Move the citation engine machinery to layouts.
Add a new layout syntax CiteEngine to define the citation commands
available for a given citation engine.

Also extend the CiteFormat syntax to allow more customization. This
mechanism, previously used to produce bibliography entries in the
citation GUI based on the BibTeX entrytype, is now also used to
produce the textual labels for citation insets in the buffer view.

Thus citation styles are almost completely customizable by modules.
Modules for the basic, jurabib and natbib engines are implemented.

Layout format incremented to 37.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40820 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-01 00:41:30 +00:00
Georg Baum
26e5f1a8ec Use libmagic for file format detection if available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40789 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:29:44 +00:00
Jean-Marc Lasgouttes
d6246362e6 Fix #8019 (from yihui)
* avoid creation of file Rplots.pdf in document file
* find correctly Sweave.sty on old R versions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40703 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-02 22:30:38 +00:00
Jean-Marc Lasgouttes
7335b3193b Add support for R package knitr (a Sweave alternative)
This fixes #7887.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40674 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-25 22:26:31 +00:00
Kornel Benko
b64014229f Do not py-compile also on cmake build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40648 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 13:05:37 +00:00
Georg Baum
0293746521 keywords in preferences are case insensitive
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40646 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 10:40:56 +00:00
Julien Rioux
06dab7972b Remove unused libreoffice2eps.py script.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40596 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-10 13:54:48 +00:00
Julien Rioux
ec1e52ca91 Add gswin64c as possible executable in legacy_lyxpreview2ppm.py (#7938).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40595 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-10 13:50:11 +00:00
Enrico Forestieri
5003431903 Fix bug #7933 (lyx2lyx error while running lyxpak.py)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40544 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-24 11:54:30 +00:00
Abdelrazak Younes
7f14df4af4 increment lyxrc version following r40515.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40516 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 11:51:26 +00:00