[XeTeX] Localized XeLaTeX / greek XeLaTeX

Ulrike Fischer news3 at nililand.de
Fri Oct 15 17:30:03 CEST 2010

Am Fri, 15 Oct 2010 15:51:02 +0300 schrieb Alexandros Gotsis:

> My point was rather simple: I think it will be easier to persuade
> Electra, my nine year old daughter, to use XeLaTeX rather than
> MSWord to type her school reports if she can understand what she
> types (including the typesetting commands). 

Somewhere in the long thread started by your first question is
mentioned that for a good solution you will have to change the latex
kernel (latex.ltx) to generate e.g. greeklatex.ltx and with this a
xegreeklatex format.

For a perfect solution which also includes translation for units and
primitive commands the engine must be changed.

Here some ideas for an acceptable solution which avoid both:

> Well, almost successful! Because, in reality, in order to run the
> XeLaTex engine, the first line of the text flle has to be:
> \documentclass[...]{GreekArticle} 

Call xelatex like this

xelatex \let\newdocumentclassname\documentclass \input{file}

> And then, even though I have changed
> the command \tabular into \πίνακας I have to go to the latin
> keyboard to specify the format of the columns "{c c l r}".

Use package array and \newcolumntype.

> Things like [htbclr] used to position minipages, boxes etc. are
> also annoying when writing in a non-latin script. Where are these
> defined in the XeLaTeX system? 

In the kernel latex.ltx.

> Is it possible to define other
> symbols (unicode characters) in addition to these? For the greek
> script I would suggest: h -> ε (epsilon), t -> ψ (psi), b -> χ
> (chi), c -> κ (kappa), l -> α (alpha), r -> δ (delta)

You can naturally redefine all definitions of the latex kernel, but
this hard coded characters are in many places. Also you should take
into account that other packages can undo your redefinitions or fail
if your new definitions do something unexpected. 

A safe and easier way is to use commands in this places:


> When, however, length units are used
> internally by the typesetting system, such as in "\vskip 1 cm",
> then it would be much more elegant if the change of the keyboard
> could be avoided. For this useage, a nice solution would be to
> replace "cm" with e.g. "εκ" (small greek letter epsilon + small
> greek letter kappa; which are the first letters for the greek
> word "ekatosto" for centimeter). 

That's not possible without changing the engine, but like above you
can define commands \newcommand\mycm{cm} and use \vskip 1\mycm

Ulrike Fischer 

More information about the XeTeX mailing list