## Tuesday, July 28, 2009

### XeLaTeX Thesis Choices....

I have spent many hours trying to get my thesis looking just right using XeLaTeX. XeLaTeX is basically an extension to LaTeX based on XeTeX which uses unicode fonts. To me this means that I get to use any font thats freely available very easily. (Not sure whether you should convert from Word? See The Beauty of LaTeX article).

Anyhoo... some interesting facts. Most LaTeX packages can be used with XeLaTeX. In fact I converted to it by changing my template to:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper,11pt,final,openright,twoside]{memoir}
\RequireXeTeX %Force XeTeX check

%XeLaTeX packages
\usepackage{xltxtra}
\usepackage{fontspec} %Font package
\usepackage{xunicode}
\defaultfontfeatures{Scale=MatchLowercase}

%Select fonts
\setmainfont[Mapping=tex-text]{Minion Pro}
\setmonofont{Courier Std}

\date{}

\begin{document}

\maketitle
\chapter{Title}

\section{Section Title}

\subsection{Subsection Title}
\end{document}

You can then replace Minion Pro, Myriad Pro and Courier Std fonts (which come with Acrobat Reader 9) to any font installed on your system. You will need to compile the document using XeLaTeX rather than LaTeX. Simply reconfigure the latex button of your favourite editor. For those interested in getting MnSymbol package (i.e. the Minion Pro Maths package) to work with XeLaTeX, replace the Select Font part with:
\setprimaryfont{Minion Pro}
\setmainfont[Mapping=tex-text]{Minion Pro}
\setmonofont{Courier Std}
\setmathsfont[Set=Greek,Uppercase=Italic,Lowercase=Italic]{Minion Pro}

Also replacing the XeLaTeX packages section to:
\usepackage[MnSymbol]{mathspec}
\usepackage{xltxtra}
%\usepackage{fontspec}
\usepackage{xunicode}
\defaultfontfeatures{Scale=MatchLowercase}

You can control which font goes to which math font (rm, it etc.). See the mathspec package documentation for details. My experience of XeLaTeX has been quite enjoyable so far, hopefully it stays that way.

Some very useful packages that I've found for my thesis so far has been:
1. Memoir package.... a must really.
2. Natbib... another must
3. The rest in code form:
%Call other packages
\usepackage{varioref} %extends \pageref via \vref to automate things like "on the next page"
\usepackage{memhfixc} %Allows Hyperref in Memoir
\usepackage{graphicx}
\usepackage[draft]{pdfpages}
\usepackage{mdwmath} %Math alignment
\usepackage{mdwtab}
\usepackage[printonlyused,withpage]{acronym} %acronyms package

% Notation package
\usepackage[intoc]{nomencl}% Notation equation ref [refeq]
\makenomenclature

%Temporary Packages
\usepackage[draft]{fixme} %Fix me margin notes and list

4. Others include ntheorem and svn-multi (if you intend on using Subversion for versioning)
Some things to consider though.... XeLaTeX is found in MikTeX 2.7 (Windows) and TeXLive 2008 (Windows/Linux). Ubuntu Linux only uses TeXLive 2007 which is too old and so you will need to install the latest version of TeXLive.... (New version will be out soon)... MikTeX 2.7 has just updated memoir so grab it now if you're on Windows.

Anyway, hope that helps anyone thinking of using XeLaTeX.

Cheers
Shakes - L3mming

EDIT: I have corrected the Minion Pro Math code.
EDIT: I have made the source for a basic but full thesis template is available on GitHub. Enjoy!