| 1 |
How do I upgrade my existing LyX system to version 1.6.x? |
|---|
| 2 |
--------------------------------------------------------- |
|---|
| 3 |
|
|---|
| 4 |
* Upgrading from LyX 1.5.x: |
|---|
| 5 |
|
|---|
| 6 |
The format of preference and session files has changed. LyX 1.6.x is |
|---|
| 7 |
able to read old files but will save them in the new format. |
|---|
| 8 |
|
|---|
| 9 |
The format of layout files has changed but, as before, |
|---|
| 10 |
layout2layout.py will convert older versions to the new format |
|---|
| 11 |
automatically. |
|---|
| 12 |
|
|---|
| 13 |
* Upgrading from LyX 1.4.x: |
|---|
| 14 |
|
|---|
| 15 |
The biggest change in 1.5 is the switch to Unicode. Please refer to |
|---|
| 16 |
the section "Document transfer" below for some things you might take |
|---|
| 17 |
into account before upgrading. |
|---|
| 18 |
|
|---|
| 19 |
The format of the preferences file has changed slightly. LyX 1.5.x is |
|---|
| 20 |
able to read old preferences files, but it will save them in the new |
|---|
| 21 |
format, so it is not possible to run LyX 1.4.x and 1.5.x with the same |
|---|
| 22 |
personal configuration directory. If you are upgrading from 1.4.x and |
|---|
| 23 |
do not intend to continue using 1.4.x, you should delete your existing |
|---|
| 24 |
preferences file and allow LyX to create a new one. |
|---|
| 25 |
|
|---|
| 26 |
The list of recently open files is now stored in a different location. |
|---|
| 27 |
It will therefore be reset when upgrading from LyX 1.4.x. |
|---|
| 28 |
|
|---|
| 29 |
The format of the layout files has also changed, but LyX 1.5.x uses a |
|---|
| 30 |
converter layout2layout.py written in python that will convert old layout |
|---|
| 31 |
files on the fly (see below, section "Document transfer"). |
|---|
| 32 |
|
|---|
| 33 |
* Upgrading from LyX 1.3.x: |
|---|
| 34 |
|
|---|
| 35 |
The format of the external template file has changed substantially with |
|---|
| 36 |
LyX 1.4.0. Automatic conversion is not available, so you need to convert |
|---|
| 37 |
your external templates manually. The new format of the external template |
|---|
| 38 |
configuration file is described in chapter 6.5 of the Customization Guide. |
|---|
| 39 |
|
|---|
| 40 |
* Upgrading from LyX 1.2.x: |
|---|
| 41 |
|
|---|
| 42 |
Since 1.3.0, you have to do the following changes: |
|---|
| 43 |
|
|---|
| 44 |
One of the perennial bug bears of LyX users in the past has been that |
|---|
| 45 |
they have had to run Edit->Reconfigure when starting their new version |
|---|
| 46 |
of the code for the first time. Strange and wonderful things would |
|---|
| 47 |
often result if they forgot to do this, so LyX 1.3.0 now runs |
|---|
| 48 |
Edit->Reconfigure automatically the first time the program is run. |
|---|
| 49 |
|
|---|
| 50 |
If you have your own layout files, you may need to update them a little: |
|---|
| 51 |
|
|---|
| 52 |
- floats are now defined in the layout file, using the "Float"..."End" |
|---|
| 53 |
construct. In most cases, adding "Input stdfloats.inc" to your layout |
|---|
| 54 |
file is enough. |
|---|
| 55 |
|
|---|
| 56 |
- counters are also defined in the layout files, using the |
|---|
| 57 |
"Counter"..."End" construct. As for floats, adding "Input |
|---|
| 58 |
stdfloats.inc" is probably a good idea. |
|---|
| 59 |
|
|---|
| 60 |
* Upgrading from LyX 1.1.x: |
|---|
| 61 |
|
|---|
| 62 |
- all layout files should have a "DefaultStyle" entry |
|---|
| 63 |
|
|---|
| 64 |
- the "Latex" font style does not exist anymore. If you really need |
|---|
| 65 |
its functionality, consider using the "PassThru" keyword instead. |
|---|
| 66 |
|
|---|
| 67 |
The new layout format keywords are described in the Customization |
|---|
| 68 |
manual. |
|---|
| 69 |
|
|---|
| 70 |
If you have your own binding files (especially math.bind), you will |
|---|
| 71 |
have to update them |
|---|
| 72 |
|
|---|
| 73 |
- math-insert now takes a latex macro name as argument, so that |
|---|
| 74 |
"math-insert sqrt" should now be "\math-insert \sqrt" |
|---|
| 75 |
|
|---|
| 76 |
- math-greek-toggle is now gone, and should be replaced by explicit |
|---|
| 77 |
bindings like |
|---|
| 78 |
|
|---|
| 79 |
\bind "M-m g a" "math-insert \alpha" |
|---|
| 80 |
|
|---|
| 81 |
|
|---|
| 82 |
Build requirements |
|---|
| 83 |
------------------ |
|---|
| 84 |
|
|---|
| 85 |
LyX 1.6 uses the Qt 4.x toolkit (version 4.2.0 or newer). Contrary to |
|---|
| 86 |
previous versions of LyX, it won't build against Qt 2.x or 3.x. |
|---|
| 87 |
Furthermore, the XForms frontend was dropped. |
|---|
| 88 |
|
|---|
| 89 |
LyX's graphics handling system has changed substantially. If you |
|---|
| 90 |
do not have the JPEG library installed, you may need to install |
|---|
| 91 |
it before you can use the graphics capabilities of LyX. If you |
|---|
| 92 |
do not have the ImageMagick command-line tools installed, you |
|---|
| 93 |
will need to modify the default set up of LyX, or install them, |
|---|
| 94 |
in order to get previews of your document's graphics. |
|---|
| 95 |
|
|---|
| 96 |
Document transfer |
|---|
| 97 |
----------------- |
|---|
| 98 |
|
|---|
| 99 |
* Compatibility with older documents/layouts |
|---|
| 100 |
|
|---|
| 101 |
LyX 1.6.x uses an external python script, lyx2lyx, to import documents |
|---|
| 102 |
written using previous versions of LyX. All versions of LyX as far back as |
|---|
| 103 |
0.10 are supported, so any klyx users still holding out for an alternative |
|---|
| 104 |
to xforms will finally be able to put their dinosaur to rest ;-) |
|---|
| 105 |
|
|---|
| 106 |
Of course, this means that you must have python (at least version 2.3.4) |
|---|
| 107 |
installed in order to use LyX 1.6.x with your old documents. |
|---|
| 108 |
|
|---|
| 109 |
lyx2lyx also has the framework in place to be able to convert |
|---|
| 110 |
documents to an earlier format (which requires python 2.3.4 at |
|---|
| 111 |
least). However, these converters have only been written for the |
|---|
| 112 |
conversion from 1.6.x to 1.5.x, 1.4.x and 1.3.x, so versions of LyX |
|---|
| 113 |
older than 1.3.0 will NOT be able to read documents saved with LyX |
|---|
| 114 |
1.6.x. The conversion from 1.6.x to 1.5.x-1.3.x is lossless as long as |
|---|
| 115 |
no new features are used. lyx2lyx tries hard to find something |
|---|
| 116 |
equivalent for new features such as boxes, but this is known to fail |
|---|
| 117 |
sometimes. LyX 1.5.7 contains an updated lyx2lyx that can read |
|---|
| 118 |
documents in 1.6.x format. |
|---|
| 119 |
|
|---|
| 120 |
Furthermore, LyX uses a converter layout2layout.py, also written in python |
|---|
| 121 |
that will convert old layout files on the fly. You can also call it manually |
|---|
| 122 |
on your layout files if you want to convert them to 1.6.x format permanently. |
|---|
| 123 |
|
|---|
| 124 |
* Preparing for Unicode: |
|---|
| 125 |
|
|---|
| 126 |
As of version 1.5.0, LyX uses Unicode internally. This is a major change that |
|---|
| 127 |
affects documents and layouts likewise. We have tried to do out best to make the |
|---|
| 128 |
transition as smooth as possible for you. However, there are some caveats: |
|---|
| 129 |
|
|---|
| 130 |
- User layout files must be converted to UTF-8 |
|---|
| 131 |
|
|---|
| 132 |
In previous versions, layout styles were allowed to use non-ASCII names |
|---|
| 133 |
using the local encodings. LyX-1.5 now assumes that all layout files are |
|---|
| 134 |
UTF-8 encoded. This means that non-ASCII style names are still allowed |
|---|
| 135 |
but they must be valid UTF-8 strings. One way of doing the conversion |
|---|
| 136 |
is to use iconv. Using bash, the script below should work: |
|---|
| 137 |
|
|---|
| 138 |
#! /bin/sh |
|---|
| 139 |
|
|---|
| 140 |
cd /path/to/layouts |
|---|
| 141 |
for l in * |
|---|
| 142 |
do |
|---|
| 143 |
cp "$l" tmp.txt |
|---|
| 144 |
iconv -f latin1 -t utf8 tmp.txt -o "$l" |
|---|
| 145 |
done |
|---|
| 146 |
rm -f tmp.txt |
|---|
| 147 |
|
|---|
| 148 |
- Inset encodings and Conversion from earlier LyX versions |
|---|
| 149 |
|
|---|
| 150 |
As part of the transition to unicode, lyx2lyx (the scripts used for |
|---|
| 151 |
converting back and forth between different versions of the lyx |
|---|
| 152 |
files) converts old .lyx files, which may use a number of different |
|---|
| 153 |
encodings, to UTF-8. This conversion depends on correctly |
|---|
| 154 |
identifying the language of the text. There were previously some |
|---|
| 155 |
edge-cases (insets embedded in different-language text type |
|---|
| 156 |
scenarios) in which the language was incorrectly identified, which |
|---|
| 157 |
caused some text to appear incorrectly after having upgraded from |
|---|
| 158 |
older versions. This has now been fixed. Unfortunately, however, the |
|---|
| 159 |
fix cannot be applied to files which have already been converted |
|---|
| 160 |
past format 249. So if you have already converted your old files |
|---|
| 161 |
(using a development version or release candidate), this fix won't |
|---|
| 162 |
help, unless you still have the originals lying around (and haven't |
|---|
| 163 |
yet made too many changes to the newer versions ;) ). |
|---|
| 164 |
|
|---|
| 165 |
Generally, it is probably wise to keep a backup of the old version of your |
|---|
| 166 |
files, at least until you are sure that the upgrade went smoothly (which it |
|---|
| 167 |
almost always will). |
|---|
| 168 |
|
|---|
| 169 |
* Languages/encodings and insets |
|---|
| 170 |
|
|---|
| 171 |
One of the bugs fixed in LyX 1.5.0 is that previously, there were certain |
|---|
| 172 |
specific cases in which the LaTeX generated did not correctly reflect |
|---|
| 173 |
language/encoding transitions in and around insets (footnotes, LyX notes). |
|---|
| 174 |
After much deliberation, it was decided not to change older files such that |
|---|
| 175 |
they will still reflect the old LaTeX output; rather, they will now correctly |
|---|
| 176 |
reflect the situation as it appears in the GUI. This means, however, that if |
|---|
| 177 |
you mangled the text in the GUI in the older versions, in order that it |
|---|
| 178 |
generate the correct LaTeX output, the LaTeX will now generate the mangled |
|---|
| 179 |
text. If this is problematic for you, please get in touch with us on the |
|---|
| 180 |
developers mailing list, we do have some possible solutions for this. |
|---|
| 181 |
|
|---|
| 182 |
The effects of this will be more pronounced for RTL (Hebrew, Arabic, Farsi) |
|---|
| 183 |
users -- though they affect users of other languages as well. |
|---|
| 184 |
|
|---|
| 185 |
* Floatflt in 1.2.x and older |
|---|
| 186 |
|
|---|
| 187 |
If you were previously (in LyX 1.1.x) using the floatflt paragraph |
|---|
| 188 |
option to wrap text around a figure, it was necessary to modify this |
|---|
| 189 |
for LyX 1.2.0 manually, as described in the manuals. The feature has |
|---|
| 190 |
been re-implemented as "Floating figure" inset in 1.3.0. Old files will |
|---|
| 191 |
be converted automatically, but you may want to convert the |
|---|
| 192 |
1.2.x-style ERT constructs with the native solution (see section 3.8 |
|---|
| 193 |
of the Extended Features manual). |
|---|
| 194 |
|
|---|
| 195 |
* Babel changes since 1.2.x |
|---|
| 196 |
|
|---|
| 197 |
Since LyX 1.2.0, the babel package is loaded after the user-defined |
|---|
| 198 |
preamble (because some packages really need to be loaded before |
|---|
| 199 |
babel). If you relied, on babel being loaded before your own |
|---|
| 200 |
definitions, you can add an extra "\usepackage{babel}" statement at |
|---|
| 201 |
the beginning of your preamble. |
|---|
| 202 |
|
|---|
| 203 |
http://bugzilla.lyx.org/show_bug.cgi?id=315 |
|---|