X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=UPGRADING;h=d8bfd28d6f83126886df25e9f84e8e627e577a8d;hb=c08f8291f9968d6a1cf144a9d0a5bb7246180ba0;hp=b08f47a00ec81dc8d458648bcf4930fa09d9d788;hpb=8b0bb92d4082dea547629efa104e0b0352356520;p=lyx.git diff --git a/UPGRADING b/UPGRADING index b08f47a00e..d8bfd28d6f 100644 --- a/UPGRADING +++ b/UPGRADING @@ -1,19 +1,192 @@ -How do I upgrade my existing LyX system to version 1.1.6? +How do I upgrade my existing LyX system to version 1.6.x? --------------------------------------------------------- -If you upgrade from version 1.1.6, you shouldn't have -any problems. +* Upgrading from LyX 1.4.x and earlier: + +The biggest change in 1.5 is the switch to Unicode. Please refer to +the section "Document transfer" below for some things you might take +into account before upgrading. + +The format of the preferences file has changed slightly. LyX 1.5.x is +able to read old preferences files, but it will save them in the new +format, so it is not possible to run LyX 1.4.x and 1.5.x with the same +personal configuration directory. If you are upgrading from 1.4.x and +do not intend to continue using 1.4.x, you should delete your existing +preferences file and allow LyX to create a new one. + +The list of recently open files is now stored in a different location. +It will therefore be reset when upgrading from LyX 1.4.x. + +The format of the layout files has also changed, but LyX 1.5.x uses a +converter layout2layout.py written in python that will convert old layout +files on the fly (see below, section "Document transfer"). + +* Upgrading from LyX 1.3.x: + +The format of the external template file has changed substantially with +LyX 1.4.0. Automatic conversion is not available, so you need to convert +your external templates manually. The new format of the external template +configuration file is described in chapter 6.5 of the Customization Guide. + +* Upgrading from LyX 1.2.x: + +Since 1.3.0, you have to do the following changes: + +One of the perennial bug bears of LyX users in the past has been that +they have had to run Edit->Reconfigure when starting their new version +of the code for the first time. Strange and wonderful things would +often result if they forgot to do this, so LyX 1.3.0 now runs +Edit->Reconfigure automatically the first time the program is run. + +If you have your own layout files, you may need to update them a little: + +- floats are now defined in the layout file, using the "Float"..."End" + construct. In most cases, adding "Input stdfloats.inc" to your layout + file is enough. + +- counters are also defined in the layout files, using the + "Counter"..."End" construct. As for floats, adding "Input + stdfloats.inc" is probably a good idea. + +* Upgrading from LyX 1.1.x: + +- all layout files should have a "DefaultStyle" entry + +- the "Latex" font style does not exist anymore. If you really need + its functionality, consider using the "PassThru" keyword instead. + +The new layout format keywords are described in the Customization +manual. + +If you have your own binding files (especially math.bind), you will +have to update them + +- math-insert now takes a latex macro name as argument, so that + "math-insert sqrt" should now be "\math-insert \sqrt" + +- math-greek-toggle is now gone, and should be replaced by explicit + bindings like + + \bind "M-m g a" "math-insert \alpha" + + +Build requirements +------------------ + +LyX 1.5 uses the Qt 4.x toolkit (version 4.1.1 or newer). Contrary to +previous versions of LyX, it won't build against Qt 2.x or 3.x. +Furthermore, the XForms frontend was dropped. + +LyX's graphics handling system has changed substantially. If you +do not have the JPEG library installed, you may need to install +it before you can use the graphics capabilities of LyX. If you +do not have the ImageMagick command-line tools installed, you +will need to modify the default set up of LyX, or install them, +in order to get previews of your document's graphics. Document transfer ----------------- -In general, you don't need to convert any documents saved with LyX -v1.1.6 to use them with LyX v1.2.0. +* Compatibility with older documents/layouts + +LyX 1.5.x uses an external python script, lyx2lyx, to import documents +written using previous versions of LyX. All versions of LyX as far back as +0.12 are supported, so any klyx users still holding out for an alternative +to xforms will finally be able to put their dinosaur to rest ;-) + +Of course, this means that you must have python (at least version 2.3) +installed in order to use LyX 1.5.x with your old documents. + +lyx2lyx also has the framework in place to be able to convert documents +to an earlier format (which requires python 2.3.4 at least). However, +these converters have only been written for the conversion from 1.5.x +to 1.4.x and 1.3.x, so versions of LyX older than 1.3.0 will NOT be able +to read documents saved with LyX 1.5.x. The conversion from 1.5.x to +1.4.x/1.3.x is lossless as long as no new features are used. lyx2lyx +tries hard to find something equivalent for new features such as boxes, +but this is known to fail sometimes. LyX 1.4.5.1 contains an updated +lyx2lyx that can read documents in 1.5.x format. LyX 1.5.x can also +export to 1.4.x format for document transfer to older 1.4.x releases. + +Furthermore, LyX uses a converter layout2layout.py, also written in python +that will convert old layout files on the fly. You can also call it manually +on your layout files if you want to convert them to 1.5.x format permanently. + +* Preparing for Unicode: + +As of version 1.5.0, LyX uses Unicode internally. This is a major change that +affects documents and layouts likewise. We have tried to do out best to make the +transition as smooth as possible for you. However, there are some caveats: + +- User layout files must be converted to UTF-8 + + In previous versions, layout styles were allowed to use non-ASCII names + using the local encodings. LyX-1.5 now assumes that all layout files are + UTF-8 encoded. This means that non-ASCII style names are still allowed + but they must be valid UTF-8 strings. One way of doing the conversion + is to use iconv. Using bash, the script below should work: + + #! /bin/sh + + cd /path/to/layouts + for l in * + do + cp "$l" tmp.txt + iconv -f latin1 -t utf8 tmp.txt -o "$l" + done + rm -f tmp.txt + +- Inset encodings and Conversion from earlier LyX versions + + As part of the transition to unicode, lyx2lyx (the scripts used for converting + back and forth between different versions of the lyx files) converts old .lyx + files, which may use a number of different encodings, to UTF-8. This conversion + depends on correctly identifying the language of the text. There were previously + some edge-cases (insets embedded in different-language text type scenarios) in + which the language was incorrectly identified, which caused some text to + appear incorrectly after having upgraded from older versions. This has now been + fixed. Unfortunately, however, the fix cannot be applied to files which have + already been converted past format 249. So if you have already converted + your old files (using a development version or release candidate), this fix + won't help, unless you still have the originals lying around (and haven't + yet made too many changes to the newer versions ;) ). + +Generally, it is probably wise to keep a backup of the old version of your +files, at least until you are sure that the upgrade went smoothly (which it +almost always will). + +* Languages/encodings and insets + +One of the bugs fixed in LyX 1.5.0 is that previously, there were certain +specific cases in which the LaTeX generated did not correctly reflect +language/encoding transitions in and around insets (footnotes, LyX notes). +After much deliberation, it was decided not to change older files such that +they will still reflect the old LaTeX output; rather, they will now correctly +reflect the situation as it appears in the GUI. This means, however, that if +you mangled the text in the GUI in the older versions, in order that it +generate the correct LaTeX output, the LaTeX will now generate the mangled +text. If this is problematic for you, please get in touch with us on the +developers mailing list, we do have some possible solutions for this. + +The effects of this will be more pronounced for RTL (Hebrew, Arabic, Farsi) +users -- though they affect users of other languages as well. + +* Floatflt in 1.2.x and older -LyX v1.2.0 can read all documents saved with lyx-1.1.6 correctly. +If you were previously (in LyX 1.1.x) using the floatflt paragraph +option to wrap text around a figure, it was necessary to modify this +for LyX 1.2.0 manually, as described in the manuals. The feature has +been re-implemented as "Floating figure" inset in 1.3.0. Old files will +be converted automatically, but you may want to convert the +1.2.x-style ERT constructs with the native solution (see section 3.8 +of the Extended Features manual). -Note that as a consequence to all the changes is that older LyX -versions will almost certainly fail to read files produced by LyX -1.2.0. +* Babel changes since 1.2.x +Since LyX 1.2.0, the babel package is loaded after the user-defined +preamble (because some packages really need to be loaded before +babel). If you relied, on babel being loaded before your own +definitions, you can add an extra "\usepackage{babel}" statement at +the beginning of your preamble. +http://bugzilla.lyx.org/show_bug.cgi?id=315