diff --git a/ChangeLog b/ChangeLog index 5e4740bcd6..aace77b41c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2002-03-26 Jean-Marc Lasgouttes + * INSTALL: + * README: * NEWS: update somewhat for 1.2.0 2002-03-22 Angus Leeming diff --git a/INSTALL b/INSTALL index 3e99c51f2a..075d5e4a3d 100644 --- a/INSTALL +++ b/INSTALL @@ -1,11 +1,3 @@ -Note for CVS checkouts ----------------------- - -If you have checked this out from CVS, you need to have -automake, autoconf, and gettext installed. Then, -type "./autogen.sh" to build the needed configuration -files and proceed as stated below. - Compiling and installing LyX ============================ @@ -28,19 +20,42 @@ These four steps will compile, test and install LyX: if you want a smaller binary. +Note for CVS checkouts +---------------------- + +If you have checked this out from CVS, you need to have +automake, autoconf, and gettext installed. Then, +type "./autogen.sh" to build the needed configuration +files and proceed as stated below. + +You will also probably need GNU m4 (perhaps installed as gm4). + Requirements ------------ -You will need to have both an Xforms library and Xpm library to compile -LyX. It is imperative that you have the correct versions of these +First of all, you will also need a recent C++ compiler, where recent +means that the compilers are close to C++ standard conforming. +Compilers that are known to compile LyX are egcs 1.1.x, gcc 2.95.x and +later, and Digital C++ version 6.1 and later. Please tell us your +experience with other compilers. It is _not_ possible to compile LyX +with gcc 2.7.x and 2.8.x, and this is not likely to change in the +future. + +Note that, contrary to LyX 1.0.x, LyX 1.2.x makes great use of C++ +Standard Template Library (STL); this means that gcc users will have +to install the relevant libstdc++ library to be able to compile this +version. + +Both an Xforms and Xpm libraries should be installed to compile LyX. +It is imperative that you have the correct versions of these libraries, and their associated header files. -As of LyX version 1.1.5, you will need to have Xforms library and -header version 0.88 or 0.89. Version 0.88 is a stable release and the -recommended version, but 0.89.6 seems to be work very well too. On -some systems, such as linux ELF, there are shared library versions of -the Xforms library, which require an installation step to configure -the system. +As of LyX version 1.2.0, you will need to have Xforms library and +header version 0.88 or 0.89. Version 0.89.6 is the one which works +best, but the old stable 0.88.1 version is still supported. On some +systems, such as linux ELF, there are shared library versions of the +Xforms library, which require an installation step to configure the +system. Xforms is available (free) only in binary format, source code is not available. If it is not available for your machine, contact the Xforms @@ -52,31 +67,13 @@ developers to request a version for your system. You can get it from ftp://ftp.fu-berlin.de/unix/X11/gui/xforms ftp://ftp.cs.ruu.nl/pub/XFORMS/ -In addition, you must have libXpm version 4.7 (or newer; 4.8 rumoured -to work). +If you use a rpm-based linux distribution, such as RedHat or Mandrake, +we recommend that you grab a version of xforms from + ftp://ftp.lyx.org/pub/lyx/contrib +as the rpm packages commonly found are compiled against glibc 2.0 +instead of 2.[12], and this causes occasional crashes. -To use the thesaurus, you will need to install libAikSaurus, available -from : - - http://aiken.clan11.com/aiksaurus/ - -You will also probably need GNU m4 (perhaps installed as gm4). - -libXpm can be found at: - http://www.funet.fi/pub/Linux/sunsite/X11/libs/!INDEX.html - (or similar locations at other sunsites like sunsite.unc.edu) - -You will also need a recent C++ compiler, where recent means that the -compilers are close to C++ standard conforming. Compilers that are -known to compile LyX are egcs 1.1.x, gcc 2.95.x and later, and Digital -C++ version 6.1 and later. Please tell us your experience with other -compilers. It is _not_ possible to compile LyX with gcc 2.7.x and -2.8.x, and this is not likely to change in the future. - -Note that, contrary to LyX 1.0.x, LyX 1.1.x makes great use of C++ -Standard Template Library (STL); this means that gcc users will have -to install the relevant libstdc++ library to be able to compile this -version. +In addition, you must have libXpm version 4.7 or newer. If you make modifications to files in src/ (for example by applying a patch), you will need to have the GNU gettext package installed, due @@ -88,7 +85,11 @@ from: LyX contains a hack to work around this, but you should not rely too much on it. +To use the thesaurus, you will need to install libAikSaurus, available +from : + http://aiken.clan11.com/aiksaurus/ + Finally, the two following programs should be available at configuration time: @@ -99,9 +100,9 @@ configuration time: the machine on which LyX is built is not the one where it will run). - o LaTeX2e should be correctly setup for the user you are logged + o LaTeX2e should be correctly setup for the user you are logged in as. Otherwise, LyX will not be able to run a number of tests. Note - that users can run these tests manually with Option->Configure. + that users can run these tests manually with Edit>Reconfigure. Creating the Makefile @@ -205,7 +206,7 @@ desperate cases: the compilation of LyX. Opposite is --disable-warnings. By default, this flag is on for development versions only. - o --enable-assertions that make the compilier generater run-time + o --enable-assertions that make the compiler generate run-time code which checks that some variables have sane values. Opposite is --disable-assertions. By default, this flag is on for development versions only. @@ -220,7 +221,7 @@ desperate cases: flag, please report it as a bug. o --without-liberty suppresses the detection of the -liberty library - (see the section 'Problems'). + (see the section `Problems'). Compiling and installing LyX @@ -234,7 +235,7 @@ Once you've got the Makefile created, you just have to type: All should be OK ;) Since the binaries with debug information tend to be huge (although -this does not affect the run-time memory footprint), you maight want +this does not affect the run-time memory footprint), you might want to strip the lyx binary. In this case replace "make install" with make install-strip @@ -269,15 +270,9 @@ Preparing a binary distribution for the use of others ------------------------------------------------------ o Compile LyX with the right compiler switches for your - architecture. In particular you might want to ensure that - libraries like xforms and xpm are statically linked. To this end, - you can use a command like - - make LYX_LIBS='/foo/libforms.a /bar/libXpm.a' - - Moreover, make sure you use the --without-latex-config switch + architecture. Make sure you use the --without-latex-config switch of configure, since others might not be interested by your - configuration :-) + configuration :-) o Create a file README.bin describing your distribution and referring to *you* if problems arise. As a model, you can use the @@ -373,20 +368,6 @@ notify us. Angus Leeming for details. Angus 22 March, 2002. - o According to John Collins , on SunOS 4.1.3 you may - find two sets of X libraries, and they are of course incompatible :-) - One is the set provided as part of OpenWindows, and one is the standard - X distribution (e.g., X11R5). If you encounter problems (or if, for - some obscure reasons configure cannot find your X libraries) you can - use the following options: - - o --x-libraries=DIRECTORY that indicates where the X libraries reside. - - o --x-includes=DIRECTORY that indicate where the X include files reside. - - The standard X11R5 libraries should work when the OpenWindows ones - don't. - o Some systems lack functions that LyX needs. To fix this, configure tries to link against the -liberty library, if it is available. If you experience problems with missing symbols at link time, you @@ -409,19 +390,3 @@ notify us. LDFLAGS = -L/opt/aCC/lib # perhaps not needed. - o On Digital Unix with gcc, you can get warnings like - -warning, LyXFamilyNames not found in original or external symbol tables, value defaults to 0 - - These concern symbols beginning with an uppercase letter and seems - to be harmless. Similarly, the compilation can end with the - following warning: - -/bin/ld: -Warning: Linking some objects which contain exception information sections - and some which do not. This may cause fatal runtime exception handling - problems (last obj encountered without exceptions was ../intl/libintl.a). - - - You can safely ignore it. - diff --git a/NEWS b/NEWS index c789259449..45758bc2ea 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,7 @@ LyX 1.2.0 is the version where many of changes in the 1.1.x series really begin to pay off. It should prove to be a very solid base for further developments. As of this version, we use (yet another) new versioning scheme: next major version will be 1.3.0, and 1.2.x will -be just incremental fixes (like the fix series used to be for 1.1.5 +be just incremental fixes (like the `fix' series used to be for 1.1.5 and 1.1.6). This version sees the introduction of the so-called `new' insets, @@ -13,11 +13,12 @@ which can contain arbitrary text. As a consequence, many new features are now possible: - Floats, footnotes and margin notes are now real insets. The - positional parameters of figure, table and algorith, floats can be set + positional parameters of figure, table and algorithm floats can be set float-by-float -- Most problems with the new table inset of 1.1.6 have been resolved - (memory consumption, spell-checking, search and replace...) +- Most problems with the new table inset of 1.1.6 have been addressed + (memory consumption, file bloat, spell-checking, search and replace...). + Better longtable header/footer support was implemented. - TeX mode has been superseded by the ERT inset, which is foldable, or can be shown inline @@ -27,6 +28,9 @@ are now possible: - New minipage inset +Note that another consequence of this change is that older LyX version +will almost certainly fail to read files produced by LyX 1.2.0. + Other more traditional insets have been improved too: @@ -43,10 +47,20 @@ The math editor has been mostly rewritten. This begun as a general cleanup, but it turns out that many new features happened in this process, among which: -- possibility to display arbitrary TeX symbols as long as the fonts are - made available to the X server +- possibility to display all standard latex and amsmath symbols (and + also the \mathcal, \mathbb, and \mathfrak fonts)as long as the + relevant fonts have been made available to the X server - support for many amsmath features + Commands: xrightarrow, xleftarrow, substack, underset, dddot + over/under arrows (e.g. underleftarrow). + Environments: align, alignat, xalignat, xxalignat, multline, gather + split, gathered, aligned, cases, subarray, pmatrix, bmatrix, vmatrix, + Vmatrix + +- Preliminary support for xymatrix + +- Support for horizontal and vertical lines in arrays. - Improvements to the parser @@ -58,17 +72,22 @@ process, among which: - Enable size changes to arrays after creation (add/delete rows/columns) -- Support for changing font on a selection +- Support for changing font or displaystyle on a selection + +- GUI support provided for many more features Other changes include: -- Most of the popups have been rewritten in the GUI-I framework, and +- Support for windows with cygwin has been incorporated into the main + distribution. + +- Most of the dialogs have been rewritten in the GUI-I framework, and improved in the process - The kde frontend has been dropped in favor of a new qt2 frontend. Note that only the xforms front is really operational as of this - version and alternative fontends are expected for 1.3.0 + version and alternative frontends are expected for 1.3.0 - The citation dialog has a search facility, with support for regular expressions. diff --git a/README b/README index 617c3d45ed..c7dd89c735 100644 --- a/README +++ b/README @@ -2,42 +2,42 @@ Preamble: LyX version scheme In September of 1999 the LyX Team decided that we could no longer successfully use the two strand development process - like the Linux kernel. We are in the process of switching to a - development model similar to that used by Fetchmail where we - will only make small stable changes between releases and - release more often. All future releases should be stable - although we are currently in a transition period where some - major changes have to be introduced and are likely to affect - the stability in the short term. + like the Linux kernel. The idea was to to switch to a + development model similar to that used by Fetchmail where only + we would will only make small stable changes between releases + and release more often. This lead to the 1.1.x series of LyX + releases where the inhards of the program have been rewritten + to make use of the C++ Standard Library features, establish + the foundations of GUI/system independence, and generally + clean up the data structures used in the core of LyX. - These changes include: + As of April 2002, this transition phase is completed and we + feel it is time to switch to (yet) another version scheme. + This new series will be in a state of continual advancement. + Note the word "advancement" and not "development." Development + will be occurring in branches of CVS and once the + feature/modification has proved stable it will be merged into + the main releases. - * Use of C++ Standard Library features such as the Standard - Template Library (STL), string and streams. - - * Establishing the foundations of GUI/system independence, - - * Rearrangement of the directory structure. - - Once the transition is over the 1.1 series should be very - stable and we will then release 1.2.0. This new series will be - in a state of continual advancement. Note the word - "advancement" and not "development." Development will be - occurring in branches of CVS and once the feature/modification - has proved stable it will be merged into the main releases. - - LyX now uses a continuous numbering scheme where odd or - even numbering is no longer significant. Prereleases are + LyX still uses a continuous numbering scheme where odd or + even numbering is not significant. Prereleases are labeled with a "pre" suffix and any fixes required between stable releases have a "fix" suffix. Thus there are three possible file names: - lyx-1.1.5.tar.gz -- stable release - lyx-1.1.5fix2.tar.gz -- bug fix of the 1.1.5 stable release. - lyx-1.1.5pre1.tar.gz -- potentially unstable test release + lyx-1.2.0.tar.gz -- stable release + lyx-1.2.2.tar.gz -- second maintenance release of the + 1.2.0 stable release + lyx-1.2.0pre1.tar.gz -- potentially unstable test release - The fix releases contain no new functionality; only fixes that - have already made their way into the cvs repository. + The maintenance releases are designed mainly to fix bugs. The + goal here is not to have parallel development as for the linux + kernel (the team is too small to afford that), but rather to + include all the simple (so that the maintenance burden on us + is not too high) and safe (so that system administrators can + install them without fear) bug fixes. Experience shows that + these releases will contain a few new features, and that the + bulk of the patches will be documentation updates. What is LyX? @@ -64,14 +64,10 @@ What is LyX not? What do I need to run LyX? - A Unix-like system or OS/2 with XFree + A Unix-like system or Windows with cygwin, OS/2 with XFree At least X11 Release 5 A decent LaTeX2e installation (e.g. teTeX or NTeX) not older than 1995/12/01 - Optionally ghostscript and ghostview (or compatible) - - note that ghostscript versions 6.22 through 6.52 - won't render inline figures in LyX. This is due to - a ghostscript bug. Perl5.002 or later to import LaTeX files into LyX What's new? @@ -101,8 +97,10 @@ How do I upgrade from an earlier LyX version? What do I need to compile LyX from the source distribution? 1. A good c++ compiler. Development is being done mainly on - gcc/g++, but many others work. - 2. The Xforms library version 0.88 (recommended) or 0.89. + gcc/g++, but some others work. As of LyX 1.2.0, you need at + least gcc 2.95.X (or egcs 1.1.x). Another compiler known to + work is compaq cxx 6.1. + 2. The Xforms library version 0.89.6 (recommended) or 0.88.1. 3. LibXpm version 4.7 (or newer). Read the file "INSTALL" for more information on compiling. @@ -117,11 +115,7 @@ Okay, I've installed LyX. What now? as LyX sees it. You might be missing a package or two that you'd like to have. - User-level configuration is possible with a file "~/.lyx/lyxrc". - You can use the system-wide lyxrc file (which should be somewhere - like /usr/local/share/lyx/lyxrc) as a template for your personal - lyxrc file. Remember that a personal configuration file will be - used instead of, not in addition to, any system-wide file. + User-level configuration is possible via the Edit>Preferences menu. Does LyX have support for non-English speakers/writers/readers?