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.
Günter Milde [Thu, 12 Jan 2017 14:42:02 +0000 (15:42 +0100)]
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.
Günter Milde [Thu, 12 Jan 2017 14:35:24 +0000 (15:35 +0100)]
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.
Günter Milde [Wed, 11 Jan 2017 19:18:15 +0000 (20:18 +0100)]
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
'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
The goal of this patch is to be able to properly remove the space
needed for markers in the case of insets that are inside macros and do
not need these markers. This was attempted at 9a9a6a8, but did not
work reliably.
To this end, the following simplifications are made:
* instead of drawing its own markers, each inset has a virtual method
marker() which prescribes either NO_MARKER, MARKER (normal bottom
marker) or MARKER2 (top and bottom marker). All explicit calls to
(draw|metrics)Markers(|2) are removed.
* the space necessary for the markers is now counted in the
before/above margins in the row structure. Therefore painting will
not happen at (x + 1, y), but just (x,y).
* the methods drawDecoration are removed.
* the helper methods InsetMath::(draw|metrics)Markers(|2) are removed
and replaced by a new function drawMarkers in MathRow.cpp.
Now the marker type is kept in the MathRow::Element object (and set to
NO_MARKER in not editable context) and the marker is accounted for in
MathRow::(metrics|draw).
Moreover, the extra pixel for the marker is taken on the before/After
space if possible. The marker will only require extra space when
before/after is 0.
See comment 168 of #8883 to understand what issues are fixed.
The rewrite of macro_nesting done at 0f15dcc6 was faulty, in
particular since the information should be available also at draw
time. To this end, we revert the patch of the said commit that removes
macro nesting information from MathRow::Element. In the next commit,
we will change the marker code so that MathRow::draw does not need the
nesting information.
Actually the code is now cleaner since the macro nesting stack of
MathRow::metrics can be removed.
Kornel Benko [Wed, 11 Jan 2017 09:15:13 +0000 (10:15 +0100)]
Cmake tests: Allow ignoring some latex error messages
New file: ignoreLatexErrorsTests
The sublabels in this list of export-testnames specify which error
messages should be ignored.
For each sublabel (for example "xxx") the lyx-command line is expanded with
"--ignore-error-message xxx"
Uwe Stöhr [Mon, 9 Jan 2017 00:31:13 +0000 (01:31 +0100)]
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.
When cloning InsetExternal, the tempname_ member of InsetExternalParams
has yet to be initialized. So, trying to remove it causes the warning
"QFile::remove: Empty or null file name".
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.
Richard Heck [Sat, 7 Jan 2017 21:00:37 +0000 (16:00 -0500)]
Alphabetize the list of LFUNs in LyXAction.cpp.
No one seems to have been adding them `thematically', and it's too
hard to know how to do that, anyway. This at least makes it easier
to scan through the list.
I have verified, by re-generating LFUNs.lyx, that no significant
changes have been made here.
Richard Heck [Sat, 7 Jan 2017 19:39:03 +0000 (14:39 -0500)]
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.
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.
This will be used to transfer any single-cite related information from
anywhere to BiblioInfo (instead of the many strings and bools we use
until now).
This is a prerequisite for some forthcoming fixes and enhancements.