= Toolchain =
== Installation ==
=== Requirements ===
 * Installation of TeX Live from ctan.org
 * Execution of a script in the ubuntu-developer-manual branch
 * Reinstalling man-db package (or the {{{man <command>}}} won't work

=== Install TeX Live ===

 1. Uninstall Ubuntu TeX Live packages:
  {{{
sudo apt-get remove texlive-*
  }}}
 1. Download the TeX Live 2010 install script: [[http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz]]
 1. Unpck the tarball:
  {{{
tar -zxvf install-tl-unx.tar.gz
 }}}
 1. Change to the newly unpacked directory: 
  {{{
cd install-tl-*
  }}}
 1. Run the installation script: 
  {{{
sudo ./install-tl
   }}}
 1. Configure the installation.
   Use all defaults except: enable {{{Create symlinks to standard directories}}}, as follows:
  1. Enter capital letter 'O'
  1. Enter capital letter 'L'
  1. You are prompted, one at a time, to enter where you want binaries, man pages, and info pages. Use the following:
    * For binaries, use: /usr/bin
    * For man, use /usr/share/man 
    * For info, use /usr/share/info
  1. Enter capital 'R' to return to the main menu
 1. Install:
   Enter capital 'I' to install. This will take some time.

=== Get Trunk and Run Script ===

 1. Create a working dir and move into it
 1. Get the ubuntu-developer-manual branch:
   {{{
bzr branch lp:ubuntu-developer-manual
   }}}
 1. Execute install-pkgs.sh as root:
   {{{
sudo ./install-pkgs.sh
   }}}

=== Reinstall man-db ===

After installation, the {{{man}}} command may not work. You can restore it as follows:
{{{
sudo apt-get install --reinstall man-db
}}}

== Language Toolchain ==

 * launchpad.net to provide web UI for translation and to export translations to po files in trunk. (Ubuntu Translators through their good graces to translate.)
 
 * XeTeX.  This is the underlying typesetting engine that we're using. It's what takes our code and generates PDFs.  It supports Unicode, OpenType and Truetype fonts.

 * LaTeX.  This is a common set of macros that run on top of the XeTeX (and other TeX) engine. This is what provides the \chapter{}, \section{}, etc. commands.

 * fontspec package.  This package is a set of macros that provides afriendlier user interface to the underlying XeTeX font commands.

 * polyglossia package. This package maintains common translations(e.g., "Table of Contents," "Index," "Figure," "Table," "Glossary,") for a wide variety of languages and also changes the font based on the currently selected language.

 * xindy. Sorts and manages the indexes and glossaries.

 * po4a.  po4a reads in our .tex files and emits .pot files. It also takes .po files and generates translated .tex files.