

		 texi2latex -- convert Texinfo files to LaTeX

				     v0.9


Copyright (c) 2005 Torsten Bronger <bronger@physik.rwth-aachen.de>

Licence: GPL, see COPYING in the distribution

Project web page: http://savannah.nongnu.org/projects/texi2latex/ (please
reports bugs there)


INSTALLATION
============

Prerequisites:

* An XSLT processor.  I recommend Saxon 6.5.x because it's the fastest.  But
  texi2latex uses only standard XSLT 1.0, which is a very strictly defined
  standard.  So Xalan etc. work too.  At least in new big Linux distributions
  Saxon is already available.

* A current version of makeinfo, which is part of the Texinfo distribution.
  For some features it is necessary to have a CVS version of it, and even then
  you can't be sure.  See below.

* A non-ancient version of LaTeX.

Adjust the paths in the Makefile to your requirements and preferences.  Call

    make
    make install     (as root)


USAGE
=====

Go to the directory where your Texinfo file resides.  Assuming that your
Texinfo file is called "mytexi.texi", call

    texi2latex mytexi.texi

(you may omit the extension).  This writes mytexi.ltx in the current directory.
ATTENTION: If this file already exists, it's overwritten.

Then you can get a PDF with

   pdflatex mytexi.ltx

Plain "latex" (without "pdf") works, too, but pdflatex is highly recommended.

Please note that plain latex and pdflatex can only deal with certain image
formats.  Plain latex usually only can include EPS files.  pdflatex can deal
with PDF, JPEG, and PNG.  So it may be necessary to convert images.

There are no non-standard dependencies in the ltx file.  In particular, there
are no "class" or "style" files special to texi2latex.  However, if your
version of LaTeX is too old, this may cause trouble.


CUSTOMISATION
=============

The most straightforward way to customise the layout of the output is to create
a file called "texi2latex.cfg" in the current directory.  This file is included
into the LaTeX file immediately before \begin{document}.  Change fonts with the
psnfss package, page margins with the geometry package, and headers and footers
with fancyhdr.

If you know how to write XSLT, you can create a customisation layer to
texi2latex.xsl.  This is an XSLT file that you create that includes
texi2latex.xsl but overrides all templates that you want to change.  Such
measures are necessary e.g. for modifying title page layout.


INDICES
=======

If you have indices in your Texinfo document (concept index, function index,
etc) you have to create them separately with makeindex (part of the LaTeX
distribution).  texi2latex helps you with that.  When you process your LaTeX
file with (pdf)latex, a file called "makeindex.bat" is (over)written in the
current directory.  With

    bash makeindex.bat

all indices will be created.  Please note the you have to process your LaTeX
file at least twice to be sure that the page numbers won't change any more.
*Then* create the indices, and call LaTeX again.


TEXINFO v. XML
==============

The XML output format of makeinfo is almost, but not fully mature.  So if you
want to use advanced features such as index mapping (@synindex), it is
necessary to install a very fresh version of Texinfo, possibly a CVS version.
And even then success cannot be fully guaranteed.  Not yet.


LIMITATIONS
===========

texi2latex doesn't yet support @deffn and such, @cartouche, @flushleft, and
@flushright.  But I'll add all this soon.


ABOUT THIS PROJECT
==================

I created v1.0 of texi2latex from 2004/12/24 to 2005/01/02.  Unfortunately, my
actual work and other Free Software projects make it difficult for me to
continue with it as fast as it should be.  If you want to help with texi2latex,
contact me.

