This is the LyX 0.10 BETA release.

What is LyX?

	LyX is a modern approach of writing documents with a computer
	which breaks with the tradition of the obsolete typewriter
	concept. It is designed for people who wants a professional
	output with a minimum of time effort, without becoming specia-
	lists in typesetting. Compared to common word processors LyX
	will increase the productivity a lot, since most of the type-
	setting will be done by the computer, not the author. With LyX
	the author can concentrate on the contents of his writing,
	since the computer will take care about the look.

	Technically this is done by the combination of the comfortable
	usage of a word processor with the high quality of a real
	typesetting system. LyX uses the most popular and in our opinion
	best typesetting system available: LaTeX. It is used for a wide
	range of documents, especially in science. It is for example
	difficult to find a mathematics or computer science book that is
	not done with LaTeX. So some people claim that its main purpose
	is mathematic typesetting. This isn't true. It is as good for
	writing letters, articles or any other kind of book, and that
	means much better than common word processors. What prevents some
	people from using this powerful free system, which is available on
	almost every computer system, is the difficult usage. With plain
	LaTeX the author just enters the wishes for typesetting as commands
	into the text. This means he gets no visual feedback whether things
	are ok or not. It is also difficult to read these documents before
	they have been printed, so online editing isn't easy. 
	This is where LyX enters the game. 

	LyX proposes an almost WYSIWYG-view of the document. "Almost" means
	that the line- and page-breaks are not displayed exactly as they
	will be in the printed document. But that isn't really necessary,
	since LyX helps you to write portable documents with the generic
	markup concept. With this concept, the typesetter (here: LaTeX)
	has enough information to break your text in a very nice manner.
	So line- and page-breaks aren't your problem anymore. That means
	you don't have to care about the rest of the document, when you
	do changes at the beginning. Neither do you need to do low-level
	formatting such as "large bold italic modern font and a little
	space above and below", but simply choose a so-called "layout"
	or "style" for each paragraph. This also gives you complete
	reusability of your documents. Without any deeper changes you
	can print them with another papersize or in two columns or with
	landscape orientation. Or just switch the main font (maybe you
	don't want a serif-font for the online version of your
	document in the WWW). Or just cut some paragraphs from an older
	document (maybe from an article) and paste them in a new one
	(maybe a letter): The look will always fit together without any 
	manual labour. Of course you can also do some low-level formatting
	at your own risk, but the usual way with LyX is to tell what the 
	text is, not what it should look like. In a sense LyX gives you
	WYSIWYM editing (What You See Is What You *Mean*).

What is LyX not?

	LyX is not just another word processor that claims to be a
	Desktop Publishing program. It's a more modern way of
	creating documents that look much nicer, but without wasting 
	time with layout-fiddling. For these reasons you might need 
	little time to get used to the differences.
	If you are looking for a free Desktop Publishing program for
	Unix, you will be disappointed.

What's new compared to lyx-0.8.6?

	WYSIWYG math editor
	WYSIWYG figures
	WYSIWIG tables
	Improved documentation
	Unlimited undo
	Support for user configurable keyboard binding
	Support for international keyboard layouts
	Now needs version 0.81 of the xforms library 
       		and version 4.7 of the Xpm library
	Zillions of patches and improvements.

What do I need to run LyX?

	A decent LaTeX2e installation (e.g. teTeX or NTeX)
	ghostscript and ghostview (optional)
	At least X11R5

What do I need to compile LyX?

	1. A good c++ compiler.  Development is being done mainly on gcc/g++.
	2. The Xforms library version 0.81.  Careful, there have been 
	   problems with mislabelled xforms libraries.  The correct 
	   version is available at the LyX archive site, 
			ftp://ftp.via.ecp.fr/pub/xforms
	   as well as at the Xforms archives, for most machines.  
	   It is available (free) only in binary format, source code is 
	   not available.  If it is not available for your machine,
	   contact the Xforms developers to request a version for 
	   your system.
	3. LibXpm version 4.7 (or newer).  Older libXpm versions are 
	   incompatible with the current Xforms library.

	Read the file "INSTALL" for more information on compiling.

How do I install a binary distribution of LyX?

	At some point LyX will be able to find its configuration files
	wherever you put them, but now the path to these configuration
	files is compiled in, and is needed to run LyX.  LyX _needs_ these
	files to run, and will probably die an ugly death if it can't
	find them.  They allow a great deal of customization of a
	precompiled binary, so they are really a good thing. Two cases may
	arise:
	
	 1. You unpacked this distribution in /usr/local. There is
	    then nothing particular to do. LyX should work directly.
	
	 2. You unpacked this distribution somewhere else (for example 
	    in yourhome directory). Then you should add to your start 
	    up files(.profile, .tcshrc...) one of the following, assuming 
	    for example you unpacked the distribution in /users/bozo
	
	 export LYX_DIR=/users/bozo/lib/lyx (assuming your shell is sh or bash)
	
	 setenv LYX_DIR /users/bozo/lib/lyx (assuming your shell is csh or tcsh)

	The main binary is bin/lyx. Don't try to run this binary unless 
	you have unpacked it in	the directory /usr/local or LYX_DIR has 
	been correctly set! 

Why does it complain about missing files and die?

	In order to have LyX be as flexible as possible, it needs to 
	have a number of configuration files available where it expects
	them to be.  If you compile your own version of LyX, you can set
	the "prefix" (in the configure options) as you like it, which is
	where LyX will look for these files.  "make install" should install
	them, along with the executable.  It may not run at all without 
	these files being made available.  
	
	User-level configuration is possible with a file .lyxrc placed in 
	the user's home directory.  A sample "sample.lyxrc" files is 
	included, as is a (more extensive) file "system.lyxrc" which you can
	use as a template for your .lyxrc file.

Okay, I've installed Lyx. What now?

	Once you've installed it, and everything looks fine, go read
	the file "Intro.lyx" which you will under in the Help menu by
	selecting the Documentation item. After that, you should also
	read the file "LaTeXConfig.lyx" which provides info on your
	LaTeX configuration as LyX sees it. You might miss a package
	or two that you'd like to have.

How do I tell LyX that my LaTeX configuration has changed?

	Run "latex chkconfig.ltx" from the LyX system dir, per default
	/usr/local/lib/lyx. This will inspect your LaTeX installation
	and update the system as needed. You can inspect the result of
	inspection by reading the generated file "LaTeXConfig.lyx" which 
	you'll find in the Help/Documentation browser.

How is the numbering scheme for releases? Like the linux kernel?

	Yes, it's like the linux kernel since LyX version 0.8. 
	This means that even numbers are stable (public) releases,
	while the odd numbers are for developers only.

         0.8.x, 0.10.x, 0.12.x ... are "stable",
         0.9.x, 0.11.x, 0.13.x ... are developer releases

	Of course you may also use the developer releases, but only
	at your own risk. This is definitely higher than your risk
	when using the public releases, even if this is your
	own risk, too.

	During "stable" releases, bugs tend to appear because many
	people besides the developers use the releases. Many of these 
	are fixed and a new, even more "stable" release is put out. 
	However, we have had a few unfortunate experiences with 
	"trivial" changes that break things, so now "snapshots" are 
	releases inbetween stable releases to protect you. These
	snapshots are to be considered as "developer releases",
	and when a snapshot proves to be stable, it is releases
	as a genuine "stable" release with an even number. In
	short: Only use releases with an even number unless you
	feel adventurous and want to help finding bugs.

You may get updates and patches via anonymous ftp from

	ftp://ftp.via.ecp.fr/pub/lyx
	ftp://fiwi02.wiwi.uni-tuebingen.de/pub/LyX/Mirror.ftp.via.ecp.fr

How do I apply a patch?

	Go to the root of the source distribution and type:
	
		patch -p0 <../name_of_patch

	if the patch-file is in the directory above.

	Do an "ls *.rej" to see if you had any rejects, in which case,
	results may not be as intended. Often the rejects are cosmetical,
	but sometimes you need to fix them by hand. Other times, that can
	be very difficult, so just wait for the next release. They come 
	every week or so.

There is a mailing list intended for users:

	Use this list if you have questions on how to get LyX working,
	how to use LyX and other question related to usage.

	To subscribe send mail to 

		lyx-users-request@fiwi02.wiwi.uni-tuebingen.de

	with "subscribe" as the subject.
	
	To contribute to the mailing list, mail to

		lyx-users@fiwi02.wiwi.uni-tuebingen.de

There is also a mailing list for developers available:

	This list is intended only for the discussion of subjects
	relevant to the implementation, planning, hacking and
	improvement of LyX.

	To subscribe send mail to 

		majordomo@via.ecp.fr

	with in *BODY*:

		subscribe lyx
		end

	To contribute to the mailing list, mail to

		lyx@via.ecp.fr

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!

	The LyX project was started by Matthias Ettrich in 1995, and
	has since then grown from his single efforts on Linux to a 
	project involving many people on different platforms in
	different countries.

	In the beginning, Matthias took care of the code base and
	patches were sent to him personally, but as the project
	grew, he handed over the maintainance job to Lars Gullik
	Bjoennes, so he could spent more time hacking the code.
	
	Since spring 1996, Lars has maintained the code, but once
	again the project outgrew the structure, so in the summer 
	of 1996, the documentation effort was handed over to 
	John Weiss, who now organizes this part of LyX.

	In early fall of 1996, the LyX team feels a need to organize 
	this even further, so some of the sub-components of LyX have 
	been handed out to different groups in order to prevent
	patches that break something unintentionally and duplication
	of work:

		LyX kernel		Matthias Ettrich 
					(ettrich@informatik.uni-tuebingen.de)

		The math editor		Alejandro Aguilar Sierra
					(asierra@servidor.unam.mx)

		Configuration stuff	Jean-Marc Lasgouttes
					(Jean-Marc.Lasgouttes@inria.fr)

		LinuxDOC/SGML stuff	Pascal Andre
					(andre@via.ecp.fr)
					Bernhard Iselborn
					(iselborn@mv.uni-kl.de)

		Documentation		John Weiss
					(weissjp@monsoon.colorado.edu)
					David L. Johnson
					(dlj0@lehigh.edu)

		Source maintainer	Lars Gullik Bjoennes
					(larsbj@ifi.uio.no)

		GUI & spellchecker	Asger Alstrup
					(alstrup@diku.dk)

	The "LyX kernel" is the core of LyX: The data structures and
	algorithms used for the basic text, insets and other low level
	things.

	The "GUI" is higher-level (graphical) user interface stuff. Lower
	level UI is maintained collectively.

	This organization means that the above people are the ones
	that knows most about those areas, so if you change, or want to
	change, something, you should check with the appropriate group 
	before sending a patch for inclusion in the main source tree.
	It also means that the individuals invest time in keeping the
	area functional, but of course doesn't exclude any from doing
	other stuff.

	You can read more about the documentation effort in the file
	README.Documentation.

	If you want to work in an area not covered by the above, you 
	should contact the developer's mailing list for discussion on 
	how to do your stuff.

	In general, if you want to contribute to the main source, with
	a new module or in any of the existing groups, we expect at
	least that you:

	- write good C++ code: Readable, well commented and taking
	  advantage of the OO model.
	- adapt the code to the structures already existing in LyX, or
	  in case that you have better ideas, discuss them on the
	  developer's list before writing the code.

	These guidelines should save us a lot of work while cleaning
	up the code and help us to have quality code. LyX has been
	haunted by problems coming from unfinished projects by people 
	who have left the team. Those problems will hopefully disappear 
	if the code is easy to hand over to somebody else.

	Notice that other contributions to the LyX project in general,
	such as *external* code don't fall in this category and can be 
	written in whatever way preferred.

	Patches for the main source tree should be prepared with the 
	makepatch utility found in

		./development/tools/makepatch

	and should be done against the latest version of LyX with
	all other patches applied. 
	
	Every patch should update the CHANGES file at the top only, and 
	maybe also the CREDITS file.

	If you feel confident that the patch doesn't break anything,
	and it's not covered by one of the above areas, you should mail
	the uuencoded patch to

		lyxpatches@via.ecp.fr

	and then send a mail to the developer's mailing list 
	at lyx@via.ecp.fr describing the changes when you've 
	confirmed that the file arrived safely at via.ecp.fr 
	(check the file size in the receipt mail).

	For bugreports and/or suggestions please mail to the appropriate 
	mailing list.

How do I prepare a binary distribution for the use of others?

	1) 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.

	2) Create a file README.bin describing your distribution and
	referring to *you* if problems arise. As a model, you can use the 
	file development/tools/README.bin.example which was originally
	written for Linux by David L. Johnson. Do *not* use directly
	the file in the distribution, since it refers to Linux and
	points to David L. Johnson for help. However, it can be a good
	starting point. Note that removing the file completely is
	better than not	editing it at all.

	3) Type `make bindist'. This will create a file
	lyx-0.xx.yy-bin.tar.gz. Rename it to reflect you architecture 
	and the peculiarities of your build (e.g. static vs. dynamic).

	4) Check that everything is correct by unpacking the distribution 
	in some private place and running it. In particular, check the 
	output of `ldd lyx' to know which libraries are really needed.

	5) Upload your binary file to ftp.via.ecp.fr:/pub/lyx/uploads.

Thank you for trying LyX, and we appreciate your feedback in the mailing
lists.

Matthias Ettrich and The LyX Team.
(ettrich@informatik.uni-tuebingen.de)
