XeTeX

Το XɘTeX ή απλά XeTeX είναι ένα πρόγραμμα ηλεκτρονικής στοιχειοθεσίας κειμένου. Με πολύ απλά λόγια το XeTeX επεξεργάζεται αρχεία κείμενου, δηλαδή απλά αρχεία τα οποία περιέχουν μόνο χαρακτήρες που μπορούν να τυπωθούν, τα οποία περιέχουν κείμενο και εντολές μορφοποίησης. Το πρόγραμμα αναπτύχθηκε από τον Jonathan Kew και βασίζεται στο πρόγραμμα TeX του Ντόναλντ Κνουθ. Το XeTeX προσθέτει στο TeX τη δυνατότητα επεξεργασίας αρχείων κειμένου που ακολουθούν την κωδικοποίηση UTF-8 του Unicode ενώ παράλληλα επιτρέπει την άμεση χρήση γραμματοσειρών OpenType. Το XeTeX παράγει αρχεία PDF επιτρέποντας την άμεση και γρήγορη διανομή εγγράφων, κειμένων κ.λπ.

Το σύστημα προετοιμασίας εγγράφων XeLaTeX

Μολονότι το TeX είναι ένα πολύ ισχυρό εργαλείο, εντούτοις η προετοιμασία απλών και πολύπλοκων εγγράφων δεν είναι και τόσο απλή υπόθεση. 
Για να γίνει το TeX όσο το δυνατό πιο φιλικό προς τον χρήστη, ο Leslie Lamport σχεδίασε για το σκοπό αυτό ένα σύνολο εντολών γνωστό ως 
LaTeX.  
Αργότερα το LaTeX γράφτηκε από την αρχή από τον Frank Mittelbach και τους συνεργάτες του. Σήμερα όταν λέμε LaTeX εννοούμε την έκδοση που (ξανα-)έγραψε ο Mittelbach και οι συνεργάτες του. 
Το LaTeX δεν είναι απλά ένα σύνολο εντολών αλλά ένα σύνολο εντολών το οποίο έχει μετατραπεί 
σε μία ειδική μορφή αρχείου γνωστή ως φόρμα. 
Η φόρμα μπορεί να φορτωθεί ταχύτατα από το TeX και έτσι η επεξεργασία εγγράφων γίνεται πολύ πιο γρήγορα. Όταν αντί για το TeX χρησιμοποιούμε το XeTeX, τότε το LaTeX ονομάζεται XeLaTeX. Σημειώστε πως μία φόρμα μπορεί να ενσωματώσει και κανόνες συλλαβισμού διαφόρων γλωσσών. 
Το LaTeX βασίζεται στην απλή ιδέα ότι υπάρχουν διάφορες κατηγορίες εγγράφων οι οποίες έχουν κάποια γενικά χαρακτηριστικά. Για παράδειγμα, 
ένα άρθρο έχει ενότητες ενώ ένα βιβλίο μέρη, κεφάλαια και ενότητες. Επίσης, διαφορετικά τυπώνονται οι σελίδες ενός βιβλίου και διαφορετικά οι σελίδες ενός άρθρου κ.λπ. Αυτό όμως που διαφοροποιεί ουσιαστικά το LaTeX από άλλα συστήματα προετοιμασίας εγγράφων είναι η έμφαση στον λογικό παρά στον οπτικό σχεδιασμό. Με άλλα λόγια, όταν χρησιμοποιούμε ένα συνηθισμένο σύστημα προετοιμασίας εγγράφου έχουμε στην οθόνη του υπολογιστή μας μια σελίδα στην οποία βάζουμε το κείμενό μας. Έτσι είμαστε υποχρεωμένοι να προσέξουμε τι θα βάλουμε πού. Από την άλλη, όταν χρησιμοποιούμε το
LaTeX, το οποίο είναι μια απλή γλώσσα επισήμανσης, απλά γράφουμε το κείμενο στο οποίο σημειώνουμε και εντολές επισήμανσης ώστε να στοιχειοθετηθεί το κείμενο ανάλογα. Με τις εντολές αυτές καθορίζουμε την εμφάνιση, δηλαδή, τον τρόπο στοίχισης, τη μορφή των γραμμάτων κ.ο.κ., μέρους ή ολόκληρου του κειμένου. Με τον τρόπο αυτό επικεντρωνόμαστε στη συγγραφή του κειμένου και όχι στο πώς θα φαίνεται το κείμενο!

Γενική μορφή ενός αρχείου XeLaTeX

Ο παρακάτω κώδικας αποτελεί ένα πολύ απλό παράδειγμα αρχείου XeLaTeX: 
\documentclass[a4paper]{article}\usepackage{xltxtra}  % Πρόλογος\setmainfont[Mapping=tex-text]{Palatino Linotype}\begin{document} % Κυρίως σώμα\Huge Η Νατάσα και η Mary είναι φίλες μου.
\end{document}
Όπως είναι φανερό το αρχείο χωρίζεται σε δύο ενότητες: τον πρόλογο και το σώμα του εγγράφου. Στον πρόλογο υπάρχουν εντολές φόρτωσης άλλων προαιρετικών λογισμικών ενοτήτων (modules ή απλά packages) οι οποίες προσδίδουν επιπλέον δυνατότητες στο XeLaTeX. Σχεδόν κάθε αρχείο XeLaTeX θα πρέπει να φορτώνει την λογισμική ενότητα xltxtra. Αν γράφουμε ελληνικό κείμενο, μπορούμε να χρησιμοποιήσουμε την λοσμική ενότητα xgreek η οποία εξελληνίζει το XeLaTeX. Τέλος, αν θέλουμε να γράψουμε πολύγλωσσο κείμενο, θα πρέπει να χρησιμοποιήσουμε τη λογισμική ενότητα polyglossia.

Μαθηματικό κείμενο με το XeLaTeX

Αν και το TeX, άρα και το LaTeX, έγινε γνωστό για τη ανυπέρβλητη δυνατότητα στοιχειοθεσίας μαθηματικού κειμένου, εντούτοις το XeTeX πήγε τη  
δυνατότητα αυτή ένα βήμα παραπέρα επιτρέποντας τη χρήση ειδικά σχεδιασμένων γραμματοσειρών OpenType. Πιο συγκεκριμένα οι γραμματοσειρές αυτές περιέχουν γλυφές για όσο το δυνατόν περισσότερους μαθηματικούς χαρακτήρες που περιλαμβάνονται στο πρότυπο Unicode, ενώ παράλληλα περιέχουν έναν ειδικό πίνακα ο οποίος περιέχει πληροφορίες για ορθή χρήση των γλυφών και κατά συνέπεια τη σωστή δημιουργία μαθηματικού κειμένου. Τέτοιες γραμματοσειρές είναι η Cambria-Math, που διανέμεται με κάθε κάθε πρόσφατη έκδοση των Windows της Microsoft, και η Asana-Math (από το Ασάνα το δωρικό όνομα της θεάς Αθηνάς που δημιουργήθηκε από τον Απόστολο Συρόπουλο). Οι γραμματοσειρές αυτές μπορούν να χρησιμοποιηθούν με το XeLaTeX μόνο αν φορτωθεί η λογισμική ενότητα unicode-math του Will Robertson. Η παρακάτω εικόνα δείχνει ένα απλό σχετικά παράδειγμα μαθηματικού κειμένου που δημιουργήθηκε με το XeLaTeX και την γραμματοσειρά Asana-Math.