LyX wiki | LyX / New in LyX 2.0 (original) (raw)

Navigation

Groups

LyX documentation

Edit

Shared groups

Links

<< | Page list | >>

About the new features in LyX 2.0.

What is new in LyX 2.0?

The LyX Team

September 2012

Table of contents (hide)

  1. 1. Advanced Search Facility
  2. 2. Spell-checking on the fly
  3. 3. Compare Documents
  4. 4. Multilingual Thesaurus
  5. 5. Refstyle Support
  6. 6. Multiple Indices
  7. 7. New backends: XeTeX, LuaTeX, and XHTML
    1. 7.1 XeTeX backend
    2. 7.2 (Experimental) LuaTeX backend
    3. 7.3 XHTML Backend
  8. 8. Better output customization
  9. 9. Produce output with only selected subdocuments included
  10. 10. Outliner enhancements
  11. 11. Document-specific Layout
  12. 12. New supported LaTeX commands
  13. 13. Languages, scripts and encodings
  14. 14. Branches enhancements
  15. 15. Table features
  16. 16. Size features
  17. 17. Progress view and debugging pane
  18. 18. Color handling
  19. 19. Instant preview inset
  20. 20. Forward search for DVI/PDF files
  21. 21. Optional and Required Arguments
  22. 22. New (sub)version control features
  23. 23. Generalized support for LaTeX files preprocessing
  24. 23.1 Improved support for Noweb
  25. 23.2 Support for Sweave
  26. 23.3 Support for LilyPond-Book
  27. 24. Preference conversion
  28. 25. LyX Archive Exporter
  29. 26. Added modules
  30. 27. New icon themes
  31. 28. Miscellaneous
  32. 29. Under the hood
  33. 30. Backported to LyX the 1.6.x series
  34. 31. New features backported to the LyX 2.0.x series
  35. 32. Categories

(:statusicon documented:) Tommaso Cucinotta has contributed a very much desired feature: Searching with format consideration. With this tool, you can insert everything in the search bar that can be inserted into the LyX window: formatted characters, math, insets, etc. On top of it regular expressions can be used as well. You can also replace existing text with formatted text, including searching for mathematics and replacing with mathematics. Finally, you can also search for paragraph styles.
Look here for more information including some screen casts.

§2. Spell-checking on the fly

§3. Compare Documents

... provide the two documents that you want to compare, and LyX now creates a new document that highlights the changes. The feature's implementation was sponsored by a group of LyX users.

§4. Multilingual Thesaurus

§5. Refstyle Support

(:statusicon documented:) LyX has long supported "formatted" cross-references, where a reference to a chapter, say, can automatically be rendered as "Chapter 3". Support for this, in LaTeX, has been provided by the prettyref package. Unfortunately, however, prettyref provides no support for internationalization of references, so non-English users have largely been shut out. (There were also some conflicts between prettyref and babel.)

After much discussion among users and developers, Richard Heck has added the ability to use the refstyle package, instead. This is controlled by a selection under Document→Settings→Document Class. It is enabled by default for new documents, but older documents will, by default, use prettyref, so that existing \newrefformat definitions will not have to be changed. Users are encouraged, however, to switch to refstyle, if it does not cause too much of a headache, especially because prettyref support should be regarded as "deprecated", meaning that it may be phased out.

Converting \newrefformat declarations is easy. If you have something like

\newrefformat{for}{...LaTeX here...}

you need only replace it with:

\newref{for}{refcmd = {...LaTeX here...}}

Note, however, that you should not use capitalized label prefixes with refstyle, e.g., "For:label" instead of "for:label". This is because refstyle automatically lowercases the \newref argument, so that \newref{For} has the same effect as \newref{for}. LyX knows nothing about this, and it will lead to errors.

§6. Multiple Indices

§7. New backends: XeTeX, LuaTeX, and XHTML

§7.1 XeTeX backend

§7.2 (Experimental) LuaTeX backend

§7.3 XHTML Backend

(:statusicon documented:) Richard Heck has given LyX the ability to output XHTML without relying upon any external converter, such as tex4ht or eLyXer. At present, the implementation is not completely finished and should be regarded as experimental. Some more complex constructs (glossaries and external material, for example) do not work at all, and some of the more complicated math stuff doesn't quite work. But most LyX documents (such as the User Guide) can be output very nicely.

The generated HTML and CSS can be controlled through layout files and, in many cases, the CSS is automatically generated by LyX, to match the appearance on the screen.

Math can be output in four different forms.

LyX falls back automatically from e.g. MathML to an image, if it can't manage to produce the MathML.

More information is available in the Additional Features manual.

§8. Better output customization

The way documents are output can now be controlled better:

§9. Produce output with only selected subdocuments included

(:statusicon documented:) The LaTeX command \includeonly, which allows you to exclude child documents from the output, is one of the few preamble commands that cannot be used verbatim in LyX's preamble, due to LyX's specific file name handling.
To overcome this limitation, J�rgen Spitzm�ller implemented native \includeonly support. You can select a subset of child documents which will be included in the final output, while the others are omitted. If you wish, LyX even assures that the page numbers and the references to non-included children are maintained.

§10. Outliner enhancements

§11. Document-specific Layout

§12. New supported LaTeX commands

§13. Languages, scripts and encodings

§14. Branches enhancements

§15. Table features

The table handling was improved by Vincent van Ravesteijn, Uwe St�hr, Edwin Leuven and Abdelrazak Younes:

§16. Size features

Uwe St�hr implemented some new size features.

§17. Progress view and debugging pane

(:statusicon documented:) Peter K�mmel and Pavel Sanda added new debugging pane, which can be used to inspect various stages of latex compilation, debugging messages, output of external programs like subversion etc.

§18. Color handling

(:statusicon documented:) Uwe St�hr added the feature to specify document-dependent color settings. In the menu Document → Settings → Colors you can now set

(:statusicon documented:) Jean-Marc Lasgouttes changed LyX's default color handling. LyX is now able to use the base colors of your operating system or window manager so that LyX will look like any other installed program on your system. You can enable this by using the option Use system colors in the menu Tools→Preferences→Look & Feel→Colors.

§19. Instant preview inset

(:statusicon documented:) Vincent van Ravesteijn introduced a long time requested feature - an instant preview inset, i.e. the possibility to have online preview for snippets of any LyX code, which is supported by the LaTeX package preview. Such an inset is inserted via the menu Insert→Preview

§20. Forward search for DVI/PDF files

(:statusicon documented:) LyX already supports inverse search - i.e. searching from the particular location of the generated .DVI/.PDF file to the correct row inside LyX document. Pavel Sanda and Enrico Forestieri added support for forward search - i.e. direct jump from particular row in your LyX document to the .DVI/.PDF document. Adding LaTeX macros to enable both forward and reverse search is now easily reachable inside user interface. Read the Additional Features manual for details.

§21. Optional and Required Arguments

LyX has long supported optional arguments to paragraph styles, through the Insert → Short Title menu entry. Thus, LyX can generate LaTeX like:

\section[Short Title]{This Would Be a Short Title If It Weren't So Long}

and one can have as many optional arguments as one likes. As of LyX 2.0, LyX also supports required arguments, so that LyX can generated LaTeX like:

\begin{block}{Title of Block} This is the contents of the block. \end{block}

Required arguments are entered using Insert → Short Title, as well. It is possible to mix optional and required arguments, too, though the optional arguments must precede the required ones. (Think here in terms of how the LaTeX commands \newcommand and \newenvironment allow for optional arguments.)

§22. New (sub)version control features

During the 2.0 development the support of SVN (<1.7) version tracking was enhanced by Pavel Sanda. Some of the features were backported to the latter versions of LyX 1.6.x (updating whole repositories, write-locking for the files), some are present only inside 2.0 - in particular:

Both features work to some extent with RCS too. Read Additional manual for further information.

The support of version tracking with CVS has been brought to a similar level by Stephan Witt.

§23. Generalized support for LaTeX files preprocessing

(:statusicon documented:) It is now possible to create modules that generalize the existing Noweb literate programming support.

§23.1 Improved support for Noweb

(:statusicon documented:) New module for Noweb support allows to do literate programming in any latex document class. The older literate-xxx classes have been removed.

§23.2 Support for Sweave

(:statusicon documented:) The R tool Sweave can be used out of the box with any document class using the sweave module.

§23.3 Support for LilyPond-Book

(:statusicon documented:) LyX now supports LilyPond music notation with the lilypond-book module, by direct entry of LilyPond markup in LyX's window and processing through lilypond-book→(pdf)latex. In combination with the new preview inset, you can view the score directly in the LyX window. For more information see LyX's example file lilypond.lyx. (implemented by Julien Rioux)

§24. Preference conversion

The format of the file that stores user preferences has always changed with major releases, but there has been no way to convert older preference files to the newer format. As a result, users have often seen strange errors and have had to remove their old preference files manually, losing many customizations. The same is true of bind files, which can become non-functional due to changes in the syntax used to call LyX functions, and similarly of customized versions of ui files. This is in contrast with the transparent way LyX converts older LyX files to the new format, using the lyx2lyx script, and converts older layout files and modules to the new format, using the layout2layout script.

LyX 2.0 will feature a sets of prefs2prefs scripts that convert preference, ui, and bind transparently, too. As with lyx2lyx and layout2layout, the script will not change the user's file on disk, but performs the conversion in the temporary directory. Users are encouraged, however, to run the prefs2prefs script manually to convert older files to the new format, since doing the conversion every time will slow LyX's start-up. The prefs2prefs script can be found at $LYXDIR/scripts/prefs2prefs.py. Running the script with no arguments will print usage information.

§25. LyX Archive Exporter

(:statusicon documented:) Users sometimes need to be able to "bundle" a LyX file together with all the images, and other files, on which it depends, either for sending to a publisher or for sharing with a co-author. LyX 2.0 includes a script, written by Enrico Forestieri, that automates this process. To use it, you must have either zip or tar installed on your system. At present, the script prefers tar and, if it is available, then it will compress the archive using gzip or bunzip2, preferring gzip. If the appropriate program is available, then LyX's configuration process will set the script up to export a "LyX Archive", and it will be available under File>Export.

§26. Added modules

§27. New icon themes

Many people contributed to the new available icon themes. Oxygen and LibreOffice icon themes were taken and tweaked for the particular needs of LyX UI.

§28. Miscellaneous

§29. Under the hood

§30. Backported to LyX the 1.6.x series

Many new features have been backported to the 1.6.x stable branch during the 2.0.0 cycle, you can find the list here.

§31. New features backported to the LyX 2.0.x series

Although new features are primarily developed in the development branch ("trunk"), few of them were backported to the 2.0.x branch:

32. Categories