Avoid that \newcommand[x] definitions of math macros are pushed multiple
times to the preview loader.
Redefinitions (via \renewcommand[x]) are properly handled.
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.
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.
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.
- enrich the examples
- add info about naming
- formatting fixes to improve the layout of the PDF
- make the document compilable also if the package insdljs is not installed
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.
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.
The \lightning symbol is text mode only. Hence, for using it in
mathed, it must be inserted in a text mode environment such as
\mbox, \text, etc. However, as it is not marked as textmode,
LyX "helpfully" encloses it in \ensuremath everytime one tries
to put it in a text mode environment, thus defying the countermeasure.
By declaring it textmode only, LyX stops doing that and thus it can be
correctly output by simply selecting it and hitting Ctrl-M.
Control + Shift + PgDn now moves a tab to the right.
Control + Shift + PgUp now moves a tab to the left.
These keybindings are consistent with Chromium, Firefox,
Nautilus, and gnome-terminal.
Note that I allow for wrapping. This is consistent with
allowing wrapping for buffer-{next,previous}, but there
might be reasons to disable it in the future.
This template was only reported as failing to compile by LyX as of
0a6120cb. I do not know how long this template was actually failing
to compile without error. The problem was that the class requires
\doi to be defined. This might not have been a requirement in
previous versions of the class.
Thanks to Enrico for finding the problem and solution.
This is the rersult of a discussion on the list. Now all special characters
have meaningful names, and it is clear that the LyX file syntax is not LaTeX.
When closing a document with the cursor near an icon info inset, LyX
may crash on loading again the same document. This is most probably due
to the fact that compressed svg icons are first uncompressed to a
temporary file before being used. The temporary file is then deleted
but something still expects to find it in place. The exact circumstances
that lead to the crash are unknown, and maybe there is also a race entering
the picture here. However, a document that always leads to a crash can be
found attached here: http://article.gmane.org/gmane.editors.lyx.devel/154566
This commit does not fix the cause of the crash but rather avoids it.
As a bonus, the svg icons used by LyX are not uncompressed anymore before
being used, speeding up startup time. This is not a problem, because Qt
can deal with compressed svg images.
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.
- Restore proportion between icons, such that, for example, \imath
is not confused with a lower case 'l' or \textdegree with \circ
- Use real \mathbb and \mathcal TeX icons
I'll revise also the other sets in the Math Panels toolbar along
these lines. It is important to see whether a symbol has ascendents
or descendents or what is their relative size.
- Use paths, not fonts. Have a look at the sqrt icon in the image attached
here http://thread.gmane.org/gmane.editors.lyx.devel/154179/focus=154183
to see what may happen when a font is not present on a given system.
- Make uniform the height of the parentheses.
- Move a couple of icons to the oxygen subdir (I was not sure it was Ok
replacing them. If yes, they can be simply deleted).
I did not notice that all icons in math/ are shared and in a0895046 I have
overwritten some of them. I am restoring them in the proper subdir.
Two of them, namely font.svgz and frac.svgz, give warnings that should
be addressed. Anyway, I see that these icons use fonts. They are better
substitued with paths (a menu entry in inkscape) because if the fonts
are missing on a system, the icons look different and, in general, they
may look ugly.
You have to manually delete the lib/images/svg directory as git
tracks only files.
There may be warnings on the terminal due to some faulty icons that have
to be found and corrected. Moreover, some of the icons are not rendered
too well at the default size. These ones should be properly tweaked.
Kudos to Jürgen for putting together such a large number of icons.
Most of the changes are related with dictionaries returning views instead of
lists.
xrange -> range (since xrange is gone in python 3)
The code that is special to support both python 2 and 3 is enclosed in a comment
\# Provide support for both python 2 and 3
and
\# End of code to support for both python 2 and 3
And so later it can be removed safely when python 2 is no longer supported.
We have some math macros that exist only because LyX can display them easily,
but which require user preamble code. These commands should not appear in
autocompletion, they are only there to make the formulas of users who actually
need thgese symbols and know what to put into the preamble more beautiful.
The svg files produced by vector editors may end up containing a lot
of unused elements that increase their size without any impact on
quality. For example, this occurs when copy/pasting between images
such that unused effects or shadings simply clutter the files.
Removing these elements in some cases may reduce the size to one half
or one third of the original one, leaving unmodified the image quality.
I also tweaked some existing icons to make them look better at default size.
Moreover, some text was replaced with paths, because the required font may
not exist on a system and font substitution would take place, making the
icons look different on different systems.
Both the hyphen and special phrase conversion did not exclude insets which
reference external files. This was wrong since LyX does not replace
\SpecialCharNoPassThru etc for these insets.
Previously, LyX did replace some words with typeset logos, and there was no
way to prvent this except putting them, in ERT (bug #4752). Now we have
special insets for these words, and standard text is left alone.
Thanks to Scott for testing. Command insets do not use InsetText for the
arguments, so users have to write them in LaTeX syntax (this is bug #4595).
Therefore we must leave hyphens alone in these insets.
Previously, consecutive dashes in .lyx files were combined to endash and emdash
in some cases, and in other cases they were output as is. This made the code
complicated, and resulted in inconsitencies ((bug #3647).
Now, a dash in a .lyx file is always a dash in the output, for all flavours.
The special handling is moved to the input side, so that you still get an
endash if you type two hyphens. If needed, this can be changed or made
customizable without the need to update the file format again. Many thanks
for the fruitful mailing list dicsussion, which contributed significantly to
the final version.
I am also replacing some existing icons with reworked ones that
look better at small sizes. I think that these icons are now
comparable to the png ones as regards quality at the default size.