I've updated some files that needed this for the next release. Some were really outdated. Attached are those files and a diff.
I've you have some ideas for fine-tuning, this can be done after these changes are in. However, please let me know if you have some more fundamental remarks. Jürgen
Index: RELEASE-NOTES =================================================================== --- RELEASE-NOTES (Revision 20470) +++ RELEASE-NOTES (Arbeitskopie) @@ -1,7 +1,8 @@ -This file lists interface changes that might affect users in 1.5.0 and -also some known problems in LyX 1.5.0 that did not occur in -1.4.5. Note that fixes are available for many of these, but they have -not yet been applied because of incomplete testing. +This file lists interface changes that might affect users in 1.5.2, some +known problems in LyX 1.5.2 and some things you have to take into account +when upgrading from earlier versions to a version of the 1.5.x series. +Note that fixes are available for some of these, but they have not yet +been applied because of incomplete testing. Interface changes @@ -10,83 +11,43 @@ Some of the LyX functions have changed names : -Known issues with version 1.5.0 +Known issues in version 1.5.2 ------------------------------------ -- User layout files must be converted to UTF-8 +- LyX might crash if you switch the encoding of a document while the + View->Source pane is opened. + http://bugzilla.lyx.org/show_bug.cgi?id=3561 -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: +- LyX might suddenly slow down when you have copied something in another + instance of LyX or in another application. Known workaround: Ctrl+C of + some text inside the active window bring the speed back. + http://bugzilla.lyx.org/show_bug.cgi?id=4045 -#! /bin/sh +- Cursor restoration problems with Multiple-View: + When using multiple Windows to edit different parts of the + same document, the cursor position is sometimes not correctly restored + when you switch from one view to the other. -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 +- RTL and keymaps: + Currently there is a bug where you can't use two non-RTL language keymaps if + the RTL preference is set (which is now the default). If you need to use two + non-RTL keymaps, for now you should just turn off the RTL preference (Tools -> + Preferences... -> Language settings -> Language, uncheck "Right-to-left + language support"). + We hope to offer more comprehensive support for multiple keymaps in the future, + which will solve this bug, as well as allow more than just two keymaps. If you + have any input on this issue, please chime in on the developers mailing list, + or add your comments to http://bugzilla.lyx.org/show_bug.cgi?id=4051. -- Cursor restoration problems with Multiple-View -When using multiple Windows to edit different parts of the -same document, the cursor position is sometimes not correctly restored -when you switch from one view to the other. +Caveats when upgrading from earlier versions to 1.5.x +------------------------------------------------------- -- Languages/encodings and insets +Due to the change to Unicode, there are some general things you'll have to take care +about when upgrading from an older version to LyX 1.5.0 or newer. Please refer to the +file UPGRADING for details. -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. - -- Inset encodings and Conversion from earlier LyX versions - -One of the main new features in version 1.5.0 is Unicode. As part of the -transition, 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). - -- RTL and keymaps - -Currently there is a bug where you can't use two non-RTL language keymaps if -the RTL preference is set (which is now the default). If you need to use two -non-RTL keymaps, for now you should just turn off the RTL preference (Tools -> -Preferences... -> Language settings -> Language, uncheck "Right-to-left -language support"). - -We hope to offer more comprehensive support for multiple keymaps in the future, -which will solve this bug, as well as allow more than just two keymaps. If you -have any input on this issue, please chime in on the developers mailing list, -or add your comments to http://bugzilla.lyx.org/show_bug.cgi?id=4051. - - Note: There may later be an updated list of known issues online at http://wiki.lyx.org/LyX/ReleaseNotes Index: UPGRADING =================================================================== --- UPGRADING (Revision 20470) +++ UPGRADING (Arbeitskopie) @@ -1,24 +1,32 @@ -How do I upgrade my existing LyX system to version 1.4.x? +How do I upgrade my existing LyX system to version 1.5.x? --------------------------------------------------------- -The format of the preferences file has changed slightly. LyX 1.4.x is +* 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.3.x and 1.4.x with the same +format, so it is not possible to run LyX 1.4.x and 1.5.x with the same personal configuration directory. The format of the layout files has also changed, but LyX 1.4.x uses a converter layout2layout.py 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.4.x format permanently. +files on the fly (see below, section "Document transfer"). -The format of the external template file has changed substantially. -Automatic conversion is not available, so you need to convert your -external templates manually. The new format of the external template +* 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. -And of course, if you upgrade from LyX 1.2.x, remember that since -1.3.0, you have to do the following changes: +* 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 @@ -35,8 +43,7 @@ "Counter"..."End" construct. As for floats, adding "Input stdfloats.inc" is probably a good idea. -And of course, if you upgrade from LyX 1.1.x, remember that since -1.2.0, you have to do the following changes: +* Upgrading from LyX 1.1.x: - all layout files should have a "DefaultStyle" entry @@ -61,6 +68,10 @@ 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 @@ -71,33 +82,102 @@ Document transfer ----------------- -LyX 1.4.x uses an external python script, lyx2lyx, to import documents +* 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 1.5.2) -installed in order to use LyX 1.4.x with your old documents. +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. However, these converters have only been written -for the conversion from 1.4.x to 1.3.x, so versions of LyX older than -1.3.0 will NOT be able to read documents saved with LyX 1.4.x. -The conversion from 1.4.x to 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.3.7 contains an updated lyx2lyx that can read documents in 1.4.x -format. LyX 1.4.x can also export to 1.3.x format for document transfer to -older 1.3.x releases. +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 + 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 "Floting figure" inset in 1.3.0. Old files will +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). +* 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 Index: README =================================================================== --- README (Revision 20470) +++ README (Arbeitskopie) @@ -41,9 +41,9 @@ LyX uses a contiguous numbering scheme for versions, where a number "1.x.y" indicates a stable release '1.x', maintenance - release 'y'. In other words, LyX 1.4.0 was the first stable - release in the 1.4-series of LyX. At the time of writing, the - latest maintenance release in the 1.4-series was LyX 1.4.4. + release 'y'. In other words, LyX 1.5.0 was the first stable + release in the 1.5-series of LyX. At the time of writing, the + latest maintenance release in the 1.5-series was LyX 1.5.2 Please note that maintenance releases are designed primarily to fix bugs, and that the file format will _never_ change due to a Index: development/lyx.rpm.README =================================================================== --- development/lyx.rpm.README (Revision 20470) +++ development/lyx.rpm.README (Arbeitskopie) @@ -1,45 +1,44 @@ -********** WARNING ********** - -This file is out-dated! - -Its description is based on the xforms frontend, which was dropped in -LyX 1.5. This file should eventually be adjusted to the qt4 frontend. - -***************************** - Here is what to do to make a binary rpm using the spec file lyx.spec. The description below apply only to the Intel platform, but only minor changes should be needed for other platforms. -1) Install xforms-88 or later. You can find an xforms-0.88 rpm -at +1) Install qt-4.1.1 or later. If you are using RPMs, make sure to install + the qt-devel packages as well. -ftp://moni.msci.memphis.edu/pub +2) Install LaTeX. You can do this using RPMs from your distribution that + might be splitted in multiple packages (e.g. tetex-xdvi, tetex, + tetex-latex), or you can install TeXLive straight from the DVD. -2) Install LaTeX. You can do this using rpms (you need tetex-xdvi, -tetex, tetex-latex) from your RH distribution. +3) Copy lyx.spec to the SPECS directory (on Redhat, this is located at + /usr/src/redhat/SPECS, on other systems at /usr/src/packages/SPECS) -3) Copy lyx.spec to /usr/src/redhat/SPECS +4) Copy lyx-1.5.2.tar.gz to your SOURCES directory (located in the same + path as SPECS, e.g. /usr/src/packages/SOURCES) -4) Copy lyx-1.0.0.tar.gz to /usr/src/redhat/SOURCES - 5) Issue the command - rpm -bb /usr/src/redhat/SPECS/lyx.spec + rpmbuild -bb /usr/src/packages/SPECS/lyx.spec -This builds the binary rpm, and puts it in /usr/src/redhat/RPMS/i386. -Note that building lyx requires about 35M free space on your disk. +(adjust the path if needed) +This builds the binary rpm, and puts it in /usr/src/packages/RPMS/i386 +(alternatively in /i586 or /x86_64, depending on your system). +Note that building lyx requires about 150M free space on your disk. + 6) Now install the package: - rpm -Uvh /usr/src/redhat/RPMS/i386/lyx-1.0.0-1.i386.rpm + rpm -Uvh /usr/src/redhat/RPMS/i386/lyx-1.5.2-1.i386.rpm -If you get dependency errors about xforms or tetex, then you need to -use the --nodeps option (because you installed xforms or tetex not in +(again, adjust the path and filename if needed) + +If you get dependency errors about qt4 or tetex/texlive, then you need to +use the --nodeps option (because you installed qt4 or TeX not in rpm form): - rpm -Uvh --nodeps /usr/src/redhat/RPMS/i386/lyx-1.0.0-1.i386.rpm + rpm -Uvh --nodeps /usr/src/redhat/RPMS/i386/lyx-1.5.2-1.i386.rpm +(again, adjust the path and filename if needed) + You should not get any more errors. [EMAIL PROTECTED]
What is LyX? LyX is a document processor that encourages an approach to writing based on the structure of your documents, not their appearance. It is released under a Free Software / Open Source license. LyX is for people that write and want their writing to look great, right out of the box. No more endless tinkering with formatting details, 'finger painting' font attributes or futzing around with page boundaries. You just write. In the background, Prof. Knuth's legendary TeX typesetting engine makes you look good. On screen, LyX looks like any word processor; its printed output -- or richly cross-referenced PDF, just as readily produced -- looks like nothing else. Gone are the days of industrially bland .docs, all looking similarly not-quite-right, yet coming out unpredictably different on different printer drivers. Gone are the crashes 'eating' your dissertation the evening before going to press. LyX is stable and fully featured. It is a multi-platform, fully internationalized application running natively on Unix/Linux and the Macintosh and modern Windows platforms. What do I need to run LyX? Either of : * a Unix-like system (including Windows with cygwin) * Windows 2000 or newer * Mac OS 10.2 or newer A decent LaTeX2e installation (e.g. teTeX for unix) not older than 1995/12/01. Python 2.3 or later to convert old LyX files and for helper scripts (note that you need at least Python 2.3.4 for exporting LyX files to a pre-unicode format, as previous versions are affected by a bug about the normalization of unicode strings) How does the LyX version scheme work? LyX uses a contiguous numbering scheme for versions, where a number "1.x.y" indicates a stable release '1.x', maintenance release 'y'. In other words, LyX 1.5.0 was the first stable release in the 1.5-series of LyX. At the time of writing, the latest maintenance release in the 1.5-series was LyX 1.5.2 Please note that maintenance releases are designed primarily to fix bugs, and that the file format will _never_ change due to a maintenance release. In addition to the stable releases and maintenance releases, some users may want to give a ''release candidate'' a try. This is a release that should be stable enough for daily work, but yet may be potentially unstable. If no major bugs are found, the release candiate is soon released as the first stable release in a a new series. To summarize, there are three possible types of file names that are of interest to normal users: lyx-1.5.0.tar.gz -- stable release, first in the 1.5-series lyx-1.5.5.tar.gz -- fifth maintenance release of LyX 1.5 lyx-1.5.0rc1.tar.gz -- potentially unstable release candidate Note that the goal is not parallel development as for the linux kernel --the team is too small to afford that-- but rather to include all the simple and safe bug fixes. This is so that the maintenance burden on us is not too high, and so that system administrators can install new releases without fear. Experience shows that these releases will contain a few new features, and that the bulk of the patches will be documentation updates. If you get the source from Subversion, the version string will look like one of: 1.5.1svn -- this is the stable branch on which maintenance release 1.5.1 will eventually be tagged. 1.6.0svn -- this is the main branch on which stable release 1.6.0 will eventually be tagged. What's new? Read NEWS. How do I upgrade from an earlier LyX version? Read the file UPGRADING for info on this subject. What do I need to compile LyX from the source distribution? * A good C++ compiler. Development is being done mainly with gcc/g++, but some others work also. As of LyX 1.5.0, you need at least gcc 3.2.x. * The Qt4 library, version 4.1.1 or newer. Read the file "INSTALL" for more information on compiling. Okay, I've installed LyX. What now? Once you've installed it, and everything looks fine, go read the "Introduction" item under the Help menu. You should follow the instructions there, which tell you to read (or at least skim) the Tutorial. After that, you should also read "Help>LaTeX configuration" which provides info on your LaTeX configuration as LyX sees it. You might be missing a package or two that you'd like to have. User-level configuration is possible via the Tools>Preferences menu. Does LyX have support for non-English speakers/writers/readers? Yes. LyX supports writing in many languages, including right-to-left languages like Arabic or Hebrew. There is a port of LyX named CJK-LyX which adds support for Chinese, Korean and Japanese (http://cellular.phys.pusan.ac.kr/cjk.html) [This support is being merged in lyx-1.5] Menus and error messages have been translated to 17 languages. For the status of the different translations, see http://www.lyx.org/devel/i18n.php Keymaps can ease typing in many languages. Internet resources of relevance to LyX The LyX homepage contains valuable information about LyX and the various LyX mailing lists, as well as links to mirrors and other LyX homepages around the world: http://www.lyx.org/ The LyX Wiki is the place where users can share information on setting up and using LyX. http://wiki.lyx.org/ The main LyX archive site: ftp://ftp.lyx.org/pub/lyx/ The LyX Development page has information about the development effort. LyX is under Subversion control, so you can get the very latest sources from there at any time. http://www.lyx.org/devel ftp://ftp.devel.lyx.org/pub/lyx/ How do I submit a bug report? If possible, read the Introduction found under the Help menu in LyX. You'll find detailed info on submitting bug reports there. If you can't do that, send details to the LyX Developers' mailing list, or use the LyX bug tracker at http://bugzilla.lyx.org/. Don't forget to mention which version you are having problems with! How can I participate in the development of LyX? Any help with the development of LyX is greatly appreciated --- after all, LyX wouldn't be what it is today without the help of volunteers. We need your help! If you want to work on LyX, you should contact the developer's mailing list for discussion on how to do your stuff. LyX is being cleaned up, and therefore it's important to follow some rules. Read about those rules in development/Code_rules/. If you don't know C++, there are many other ways to contribute. Write documentation. Help to internationalize LyX by translating documentation or menus/error messages, or by writing a new keymap. Write a new textclass. Find bugs (but please read the list of known bugs first). Contribute money. Or just offer feature suggestions (but please read the online TODO list first). Thank you for trying LyX. We appreciate your feedback in the mailing lists. The LyX Team.
This file lists interface changes that might affect users in 1.5.2, some known problems in LyX 1.5.2 and some things you have to take into account when upgrading from earlier versions to a version of the 1.5.x series. Note that fixes are available for some of these, but they have not yet been applied because of incomplete testing. Interface changes ----------------- Some of the LyX functions have changed names : Known issues in version 1.5.2 ------------------------------------ - LyX might crash if you switch the encoding of a document while the View->Source pane is opened. http://bugzilla.lyx.org/show_bug.cgi?id=3561 - LyX might suddenly slow down when you have copied something in another instance of LyX or in another application. Known workaround: Ctrl+C of some text inside the active window bring the speed back. http://bugzilla.lyx.org/show_bug.cgi?id=4045 - Cursor restoration problems with Multiple-View: When using multiple Windows to edit different parts of the same document, the cursor position is sometimes not correctly restored when you switch from one view to the other. - RTL and keymaps: Currently there is a bug where you can't use two non-RTL language keymaps if the RTL preference is set (which is now the default). If you need to use two non-RTL keymaps, for now you should just turn off the RTL preference (Tools -> Preferences... -> Language settings -> Language, uncheck "Right-to-left language support"). We hope to offer more comprehensive support for multiple keymaps in the future, which will solve this bug, as well as allow more than just two keymaps. If you have any input on this issue, please chime in on the developers mailing list, or add your comments to http://bugzilla.lyx.org/show_bug.cgi?id=4051. Caveats when upgrading from earlier versions to 1.5.x ------------------------------------------------------- Due to the change to Unicode, there are some general things you'll have to take care about when upgrading from an older version to LyX 1.5.0 or newer. Please refer to the file UPGRADING for details. Note: There may later be an updated list of known issues online at http://wiki.lyx.org/LyX/ReleaseNotes
How do I upgrade my existing LyX system to version 1.5.x? --------------------------------------------------------- * 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. The format of the layout files has also changed, but LyX 1.4.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 ----------------- * 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 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). * 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
Here is what to do to make a binary rpm using the spec file lyx.spec. The description below apply only to the Intel platform, but only minor changes should be needed for other platforms. 1) Install qt-4.1.1 or later. If you are using RPMs, make sure to install the qt-devel packages as well. 2) Install LaTeX. You can do this using RPMs from your distribution that might be splitted in multiple packages (e.g. tetex-xdvi, tetex, tetex-latex), or you can install TeXLive straight from the DVD. 3) Copy lyx.spec to the SPECS directory (on Redhat, this is located at /usr/src/redhat/SPECS, on other systems at /usr/src/packages/SPECS) 4) Copy lyx-1.5.2.tar.gz to your SOURCES directory (located in the same path as SPECS, e.g. /usr/src/packages/SOURCES) 5) Issue the command rpmbuild -bb /usr/src/packages/SPECS/lyx.spec (adjust the path if needed) This builds the binary rpm, and puts it in /usr/src/packages/RPMS/i386 (alternatively in /i586 or /x86_64, depending on your system). Note that building lyx requires about 150M free space on your disk. 6) Now install the package: rpm -Uvh /usr/src/redhat/RPMS/i386/lyx-1.5.2-1.i386.rpm (again, adjust the path and filename if needed) If you get dependency errors about qt4 or tetex/texlive, then you need to use the --nodeps option (because you installed qt4 or TeX not in rpm form): rpm -Uvh --nodeps /usr/src/redhat/RPMS/i386/lyx-1.5.2-1.i386.rpm (again, adjust the path and filename if needed) You should not get any more errors. [EMAIL PROTECTED]