<< NewInLyX15 | Page list | NewInBranch >>
About the new features in LyX 1.6
What's new in LyX 1.6?
The LyX Team
April 2008
The development of LyX 1.6.0 took off in July 2007. Here's an overview of the major new features that were implemented or being worked on.
Categories: Development, LyX_1_6
§ Multiple Work Areas
Abdelrazak Younes enhanced the way Work areas are implemented. In LyX-1.5, a window was composed of a tab bar and a single work area; the tab bar was basically just a handy way for switching documents in the one work area. Now, there are as many work areas as tab items. This means two things to the user:
- An open document can be hidden without a tab element being affected. This is especially useful for documents that have multiple child documents that you don't really want to edit. This also means that a given buffer can be hidden without being closed.
- Two windows do not have the same set of tab elements: users can arrange which documents to edit in each window.
§ Split Views
Multiple work areas support paved the way to so-called "split-view" support. Abdelrazak Younes finally implemented that long awaited feature. Split views works the same way as multiple windows except that they of course share the same window, including the menubar and the toolbars.
§User-formattable Collapsable Insets
Martin Vermeer enhanced the way Collapsable Insets can be configured.
- Formatting information can be specified in layout files
- Besides Character Styles, now also Custom (user defined) insets can be defined in layout files.
§ Layout Modules
Richard Heck has given birth to the Layout Modules feature. To add anything to the layout in LyX (for example, a custom character style), you have previously had to edit the layout files themselves. This feature allows the use of layout "modules" which can be chosen within Document>Settings. So, for example, you could put all your custom character styles into mycharstyles.module, and then use this module with any document class. LyX 1.6 will ship with several modules, too, including one that defines an custom Endnote inset. (See above.)
§ Citation Dialog
Richard Heck re-wrote the internal representation of BibTeX data and, as a result, was able to add new search functionality to the citation dialog. You can now search by field (author, title, etc) and by entry type (article, book, etc). Richard has also added a cache for BibTeX data, which will speed up use of the citation dialog significantly for users on slower machines and for those who use large BibTeX databases.
§ Layout combobox changes
- Layout Categories.
Layouts in LyX 1.6 are grouped into categories. The layout list will display small category headers to make it easier to find the right layout.
- Layout List Filtering.
The number of possible layouts can be huge. It sometimes easily fills up the screen space and makes scrolling necessary. Stefan Schimanski added a keyboard filter mechanism: just type some characters of the layout you are after. The list will shrink to the matches of your search. Together with the shortcut "M-p Space" to open the layout list, you are always only a few keys away from any layout.
- Sorting.
Up to now only thematical sorting of available layout was possible. Alphabetical sorting for better orientation in longer layout lists is possible in 1.6 too.
§ Support for the LaTeX package hyperref
- Pavel Sanda has implemented support for the LaTeX-package hyperref. With hyperref you can link all cross-references, URLs, etc. in the PDF and DVI output. You can furthermore automatically create PDF-bookmarks, set the appearance of links, set the start properties of PDF (Fullscreen, Zoom, etc.). The hyperref options dialog is shown below:
§ Support for hyperlinks and URLs
Uwe Stöhr has rewritten the handling of URLs and created a dialog to produce hyperlinks.
URLs
The menu Insert→URL has been moved to Insert→Custom insets→URL. This creates an inset with only one field. The former inset with an additional field for the URL name is now taken for hyperlinks, see next paragraph. URL insets of existing LyX documents will be switched to the new custom inset URLs.
Hyperlinks
There is a new inset to create hyperlinks. You can specify there the link target, name, and type. When no link name is given, the target will be taken as name in the output.
The hyperlink inset dialog is shown below:
§ Improved floats
- Uwe Stöhr has revised LyX's support for wrapped floats. The wrap float dialog now allows you to optionally set an overhang for your float, so that it is moved a bit outside or inside the page side margin. The placement can now really be set floating as the name "float" implies. You can also optionally specify there the number of text lines that are needed by the float, see the screenshot below. Furthermore LyX has now also a wrap table float.
- Thanks to Jürgen Spitzmüller, now all kind of floats, not only figure and table, can be rotated sideways. Furthermore, rotated figure and table floats can now span multiple columns.
- LyX had support for subfigures, but it was both clumsy and outdated: Subfigure captions had to be entered in the Graphics dialog, which disallowed both short titles and proper LyX cross-referencing and emphasizing; furthermore, subfigure support was based on the outdated package subfigure, which has been superseded by the more powerful subfig long time ago. LyX 1.6 not only switches to the newer package, but it also introduces a completely overhauled support for nested figures, including new support for nested floats of all kind (tables, algorithms, etc.). The UI implemented by Jürgen Spitzmüller is both easy and powerful: simply insert a figure/table/algorithm float into a figure/table/algorithm float to get a subfloat with a subcaption. All the stuff that works for ordinary floats (labels, short titles) work here as well.

§ Math Macros
Stefan Schimanski contributed a new implementation of Math Macros, the LyX counterpart of \newcommand macros in TeX. You can define mathematical notations once and at one place in the document and use them all over your formulas. Although this was available in older LyX version to some extent, LyX 1.6 takes them serious for the first time:
- You can define Math Macros with up to 9 parameters.
- Optional parameters with default values are supported, even more than one optional parameter.
- Macros are position aware, i.e. LyX will know where they were defined in the document and which macro version is to be displayed at any point.
- Redefine macros as you like throughout the buffer.
- Remove and add parameters as you like. LyX will adapt all instances of the macro in the text.
- LyX knows about macros in child and master documents. Create your macro collection in a macro file and use this in all your documents.
- You can edit macros inline using holes to be filled with the parameters. Or use your beloved, old-style parameter list edit mode.
- Render just a child document and LyX will make sure all macros are defined correctly, even though their real definition is e.g. in the master document.
For further details you can look here. If you like youtube look here.
§ Completion popup
Stefan Schimanski implemented the well-known TAB completion in the math editor and in text mode. In an equation just enter \ and see available math commands including symbols and your own math macros, which are valid at that point. To match everybody's taste you can configure the grey inline completion and the completion popup for math and text via an extensive preferences pane. You can see a small screencast of completion in action here at YouTube.
§ Inset Tooltip
In order to further improve the user experience with regard to inset understanding, Abdelrazak Younes put in place a framework for tooltip showing in the document work area. Some tooltips show some practical advices, other indicate their content (as shown below for footnotes). More to come before 1.6.0 hopefully, users are invited to send recommendation and/or idea to the devel list.
Context Menu
A framework for context menu was put in place by Abdelrazak Younes. Right-clicking somewhere in a text area will popup a copy of the Edit menu, this might change before 1.6.0. Most insets have specific context menus. Below is the current context menu of the citation inset as an example:
§ New Symbols dialog
- Jürgen Spitzmüller has implemented a symbols dialog. It provides access to all supported symbols of the given encoding.
§ New Dialog for Horizontal Space
- Did you know LyX supported horizontal spaces like \qquad and \enskip as of 1.4.0? No? Probably, because they only could be accessed via esoteric LyX functions. Now LyX comes with a Horizontal Space dialog, which lets you chose from a range of predefined horizontal spaces, similar to the established Vertical Space dialog. This dialog also contains the horizontal fill which was implemented as an inset of its own previously, and, as new features, custom horizontal space (LaTeX: \hspace and \hspace*) as well as horizontal fills with patterns (LaTeX: \dotfill, \hrulefill, \rightarrowfill, \leftarrowfill, \upbracefill and \downbracefill).
§ Revised Paragraph dialog
- Edwin Leuven and Abdelrazak Younes revised the paragraph settings dialog for better usability. In particular it is now possible to have the paragraph settings synchronized with the currently edited paragraph. See the screenshot below:
§ Shortcut Configuration dialog
Thanks to Bo Peng LyX has now a nice user interface for the key bindings.
- A shortcut configuration panel is added to the preference dialog. It displays all shortcuts defined in the current bind file, and allows users to add and remove shortcuts.
§ Shortcuts menu
- A help document Shortcuts is added to the Help menu. It displays all current shortcuts in a nice table format.
- This document is dynamic in the sense that its printout can vary from system to system, depending on system configuration. The magic behind this is a newly introduced inset called InsetInfo.
§ Paste Graphics from the Clipboard / Mac LinkBack support
Stefan Schimanski added support for pasting graphics directly from the clipboard.
Getting graphics into LyX usually takes a number of steps: draw it, export it, find it in the file dialog and insert it.
- Now you can also easily copy graphics from any application and paste it via the clipboard as PNG or JPEG.
- On Windows you can paste as metafile (EMF/WMF) data from nearly any application which gives you high quality vector graphics.
- On Mac OSX you can paste as PDF data from nearly any application which gives you high quality vector graphics.
- On Mac OSX you can paste via the LinkBack technology from any LinkBack-enabled application. This also gives you high quality PDF vector graphics, but in addition to that, also the ability to edit the figure later in the original editing application.
§ Language support
Uwe Stöhr revised the language support. LyX supports now also
- Albanian
- Bahasa Malaysia / Bahasa Melayu
- Interlingua
- Latin
- Lower Sorbian
- Mexican Spanish
- North Sami
- Serbian (Cyrillic and Latin letters)
- Vietnamese
- With the help of Koji Yokata, the support for Japanese has been improved.
§ "Visual mode" for bidirectional cursor movement
Dov Feldstern added "visual mode" cursor movement in bidirectional text. This mode can be enabled in the Language tab of the Preferences (Logical mode is still the default), provided that RTL support is also enabled.
- this feature probably still requires some tweaking / bug-fixing. Please report any issues to the LyX developers mailing list!
§ New commands
- Thanks to Uwe Stöhr, LyX supports now the LaTeX-commands \pagebreak and \linebreak. They are working in contrary to the already supported \newpage and \newline as "soft" break, stretching the rest of the page or line to the whole remaining page height and line width, respectively. The shortcut C-Return creates, as already, a \newline line break, the shortcut C-S-Return creates a \linebreak soft line break.
- Jürgen Spitzmüller added two new special characters:
- "Breakable Slash" which inserts a slash after which a linebreak can occur (LaTeX: \slash).
- "Protected Hyphen", a hyphen after which no linebreak must occur (amsmath's \nobreakdash).
- Bernhard Reiter has implemented support for both, \nocite{<key>} (in the citation dialog) for adding specific entries to the bibliography without citing, and \nocite{*} (in the bibtex inset dialog) for citing all entries of specific bibtex databases.
§ Fullscreen capabilities
- Pavel Sanda added toggling visibility for certain GUI elements and full-screen mode editing became possible. Look here for details.
§ Well behaved scrolling
Ever since version 1.4.0 the scrolling behavior of LyX has had a lot of bugs and deficiencies. Abdelrazak Younes rewrote the scrolling code and fixed most of these. As a bonus you can now scroll with the keyboard using Ctrl-Alt-[up/right/PageUp/PageDown] shortcuts. Also, when right-clicking on the scrollbar a scrolling context menu pops up.
§ Extended Outliner
Abdelrazak Younes extended the outline panel which now becomes a "Navigator". It supports the following navigation lists:
- Child Documents
- Embedded Files
- Labels and References:
- easy spotting of broken cross-references (because of an erased label),
- easy spotting of duplicated labels (but 1.6 will try hard to avoid that),
- integration of math labels and reference,
- now works reliably across child documents.
- Lists of floats (Algorithms/Figure/Table)
- List of Citations
- List of Equations
- List of Foot notes
- List of Graphics
- List of Indexes
- List of Listings
- List of Marginal notes
- List of Notes
- Table of Contents: This list is special as it contains the outlining feature. In 1.6, the promote and demote features will move all child sections.
§ Better master file handling
- You can now define a default master file for your child documents in the Document dialog. The advantage of this is that LyX automatically takes informations such as bibliography keys, math macros and labels from the master, even if it is not opened. Gone are the days were you needed to put a bibtex inset in a comment to get citation working in the child documents.
§ Index entries
- Martin Vermeer changed the way index entries are added. Now you can directly format index entries like every other text in LyX.
§ Graphics parameters groups
Imagine you have a lot of similar pictures in your document and want to change their size settings in the same way. Up to now you had to change them one by one or edit .lyx file directly in some plain editor. This kind of annoying task should be much simpler now. Pavel Sanda implemented grouping mechanism for this purpose. Any picture can now define new group in its preferences dialog and any other picture can be joined to this group via its context menu. Changing settings of any picture from some particular group automatically changes all other pictures within this group.
§ Miscellaneous
- Jürgen Spitzmüller has implemented a Linguistics module that provides numbered examples and glosses (uses the LaTeX-package "covington") as well as some semantic markup useful for linguistic papers.
Release note: http://wiki.lyx.org/LyX/LinguistLyX#covington needs to be actualized!
- Uwe Stöhr added support for 6 dot Braille via the layout module Braille (it uses the LaTeX-package "braille").
- The framed and shadowed notes have been reimplemented as part of the box inset.
- Jürgen Spitzmüller added support for the packages pdfpages via the external inset.
- Stefan Schimanski added a preference setting to choose between opening new buffers in a tab or in a new window. The latter is set by default on Mac, the former on all other platforms. Moreover on Mac you can now close all LyX windows and LyX will stay running, just the way a typical Mac application behaves.
- Tabs can be dragged and dropped to change their order in the tab bar.
- Find-next function was added and bound to F3 shortcut.
§ Under the hood
- general refactoring of GUI code
- hunt on number of compiled lines
- LyX's starting time could be reduced