Go to page:

Search:   Help

Edit

LyX /

# New in LyX 2.3

Categories: Development, LyX_2_3
<< | Page list | >>

About the new features in LyX 2.3.

What is new in LyX 2.3?

The LyX Team

February 2017

### § Biblatex support

At long last, LyX 2.3 will introduce native support for the state of the art bibliography package, Biblatex. This addresses one of the most frequent user requests.

Biblatex support is not comprehensive in the sense that each and every of the many features of the package is (already) natively supported via the GUI, but is is now possible to

• select Biblatex alternatively to "Basic", "Jurabib", or "Natbib" in the Document Settings,
• set bibliography (*.bbx) and citation (*cbx) style files (LyX will propose sensible defaults for author-year and numerical),
• set arbitrary biblatex package options via a simple line edit widget,
• set options to the \printbibliography command via a simple line edit widget in the Bib(la)TeX inset dialog.

The support furthermore includes the following features:

• As for Natbib and Jurabib, LyX will offer a range of citation styles for Biblatex in the citation dialog/context menu and output the appropriate citation commands.
• LyX also supports Biblatex's "qualified citation lists", i.e. multi-cite references with an optional pre- and postnote field for each individual item.
• LyX is now aware of Biblatex's rather different bibliography handling and outputs the appropriate commands (\printbibliography and \addbibresource) at the appropriate places in the LaTeX output.
• Support for multiple bibliographies (refsections), including cumulated output of these sections (Biblatex's \bibbysection command)
• LyX now scans and detects the relevant files (package, style files)
• By default, LyX automatically selects biber as processor (if installed) if Biblatex is used (and bibtex otherwise).
• If bibtex of bibtex8 is selected as a bibliography processor (instead of biber), the relevant backend option is automatically set
• Biblatex citation styles are also correctly exported to xhtml and plain text.

Simply put, you can now do (almost*) everything with Biblatex you could already do with Natbib or Jurabib in previous versions of LyX, and more (*with the exception of "Subdivided [aka "Sectioned"] Bibliographies", which are easily possible with Biblatex, but too different to be supported by the current "Subdivided Bibliography" check box. See the Biblatex manual for details).

Along the way, we have polished, streamlined and extended the bibliography-related code at many places. This also allowed us, en passant, to fix some bugs and implement some long-standing desiderata (such as the display of upper-cased names and full author lists in the GUI and the text/xhtml output).

We have put most energy into a design that enables portability between the diverse citation engines as much as possible, so it should be rather straightforward to switch an existing document from, say, Natbib to Biblatex and (to a limited degree, since the feature set is larger) back.

### § Multiple bibliographies

LyX supported subdivided bibliographies for a long time, drawing on the bibtopic package. LyX 2.3 now introduces support for multiple bibliographies (per part, chapter, section, subsection or child document). This uses Biblatex's features, if Biblatex is used (see above). For classic BibTeX, either the bibtopic package or the chapterbib package is used (depending on the setting). Since we draw on bibtopic, it is possible to combine multiple with subdivided bibliographies.

### § Improvements to on-screen display of math equations

• do not use hardcoded pixel values for spacing, but math units that depend on zoom and dpi. This should be good for HiDPI systems.
• implement some parts of the math typesetting algorithm described in Appendix G of the TeXbook.
• use better-looking version of characters like "-".

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. Macros are handled properly; the spacing inside a macro will depend on the values of the arguments and the elements that are before and after the macro.

A consequence of these changes is that user macros that contain hand-crafted screen representations may have to be revised. Note that it is now possible to make use of macros `\mathrel`, `\mathbin` and friends.

### § Inverted branches

• LyX now supports "inverted" branch insets: Ones whose content will be output if the branch is not activated. This allows users more easily to define alternative text for two versions of a document.

### § Quotation marks enhancements

The quotation marks inset has undergone a thorough revision. Several long-standing bugs have been fixed and some enhancements have been implemented, most notably

• LyX now features "dynamic quotation marks". These automatically adapt to the global quotation mark style (and its changes).
• So-called "plain" (i.e., non-typographical) quotation marks are now properly supported.
• The following new quote styles have been added:
• ‘british’ (“inner quotation”)
• 「cjk」 (『inner quotation』)
• 《cjkangle》 (〈inner quotation〉)
• «french» (“inner quotation”)
• «frenchin» («inner quotation») ["in" = Imprimerie Nationale]
• «russian» („inner quotation“)
• »swedishg» (’inner quotation’) ["g" = Guillemets]
• The quotation mark style, level and side can be easily switched via context menu.
• LyX now exports proper typographical quotation marks to XHTML and plain text.
• The automatism to set opening or closing marks has been improved significantly.
• The internal functions (lfuns) have been extended, so it is now easy to insert a specific quotation mark (e.g., German single opening) via lfun (`quote-insert inner opening german` in the example case) or change some characteristics (e.g. the style) of all existing quotation marks via the minibuffer (e.g., `inset-forall Quotes inset-modify changetype g..` to change all quote insets to German style, while maintaining side and level); see the description of the inset-modify and quote-insert functions in Help > LyXFunctions).

### § Updates to reference handling

• There is a new reference format, `label only', which prints just the LaTeX label. This allows for additional customization, should the user wish to put a custom command, not supported by LyX, into ERT.
• The refstyle package allows for automatic capitalization and pluralization of formatted references. LyX now supports this feature. Note, however, that it only supports it insofar as refstyle itself does. So if you have a customized reference format (say, for corollaries), then you will need to define appropriate commands for caps and plurals. For example: `\newref{cor}{name = corollary, names = corollaries, Name = Corollary, Names = Corollaries}`. See the `refstyle` package documentation for more details, or have a look at the default `refstyle.cfg`.

### § Improved LaTeX handling in dialogs

Text that is added to the document via dialogs (e.g., "text after" in the citation dialog, "label" in the bibitem dialog, "name" in the hyperlink dialog, "index name" in the document dialog) is now properly prepared for the LaTeX output (special characters are transferred to LaTeX macros and necessary packages are loaded, special characters such as '&' are escaped). The affected dialogs furthermore provide a "literal" checkbox that allows the insertion of literal LaTeX code.

### § New supported languages

• Amharic
• Asturian
• Bosnian
• Friulian
• Khmer
• Macedonian
• Piedmontese
• Romansh
• Syriac
• Urdu

All implemented by Uwe Stöhr

### § New fonts

The following (LaTeX) fonts are now supported natively

• Crimson (via the cochineal and newtxmath packages, with fall back to the crimson package)

### § Miscellaneous

• The LaTeX package microtype (for micro-typographic enhancements) is natively supported via the document preferences.