Ελληνικα στο TeX/LaTeX με το XeTeX
Mε τεσσερεις γραμμες κωδικα, o Μιχαλης Παπακυριακου διελυσε με ενα ποστ του ολους τους φοβους μου οτι για να αρχισω να γραφω στα Ελληνικα την διπλωματικη μου στο TeX/LaTex θα επρεπε να κινησω γη και ουρανο (και να φορτωθω σε ανθρωπους που εχουν καλυτερα πραγματα να κανουν). Με ελαχιστο ψαξιμο παραπανω, μπορω να συμπληρωσω τα κομματια που λειπουν απο το ποστ του Μιχαλη και να γραψω το υπερσυντομο howto που ακολουθει.
Καταρχην, να ξεκαθαρισω οτι μιλαω για linux box που τρεχει Debian Sid. Η εγκατασταση του TeX/LaTeX ειναι απο τα πακετα της διανομης TeX Live τα οποια ειναι διαθεσιμα απο τα repositories του Debian. Με λιγα λογια, ολοκληρη η εγκατασταση του TeX/LaTeX εγινε χρησιμοποιωντας το apt ("μεσα απο το synaptic" που λεμε). Εκτος απροοπτου, αν καποιος τρεχει Ubuntu λογικα θα μπορει να κανει ακριβως την ιδια δουλεια με τον τροπο που περιγραφω εδω. Το κρισιμο πακετο, ειναι το texlive-xetex το οποιο παρεχει το XeTeX. Στο Ubuntu βρισκεται στο universe, με το ιδιο ονομα.
Αν το XeTeX ειναι εγκατεστημενο, για να χρησιμοποιησουμε Ελληνικα σε καποιο εγγραφο tex, προσθετουμε στην αρχη τις παρακατω γραμμες:
\usepackage{fontspec}
\setromanfont{FreeSerif}
\setsansfont{FreeSans}
\setmonofont{FreeMono}
Εδω εχω χρησιμοποιησει τις γραμματοσειρες freefont (που ειναι διαθεσιμες με GPL), αλλα μπορει κανεις να χρησιμοποιησει οποιαδηποτε TrueType γραμματοσειρα (γραμματοσειρες που η καταληξη τους ειναι .ttf). Συμφωνα με το FAQ του XeTeX, το συστημα δουλευει και με OpenType γραμματοσειρες, αλλα στο ομολογουμενως ελαχιστο χρονο που ασχοληθηκα με το θεμα δεν τα καταφερα να τις κανω να δουλεψουν καλα.
Υπαρχει ενα σημειο ομως που αξιζει να προσεχτει. Για να αναγνωρισει το XeTeX σωστα τις γραμματοσειρες που του λεμε, πρεπει να γραψουμε "σωστα" το ονομα τους (πχ "FreeSans" και οχι "Freesans" ή "Free Sans"). Ενας ευκολος τροπος για να βρουμε τα σωστα ονοματα ειναι με την εντολη fc-list. Αν για παραδειγμα θελουμε να χρησιμοποιησουμε DejaVu , ενα
fc-list | grep Deja
αρκει για να μαθουμε οτι τα σωστα ονοματα ειναι "DejaVu Serif", "DejaVu Sans" και "DejaVu Sans Mono".
Ενα δευτερο σημειο που πρεπει να προσεχτει ειναι οτι πρεπει τα Ελληνικα που θα γραψουμε να ειναι UTF-8 και οχι για παραδειγμα ISO8859-7. Ενας καλος τροπος να το εξασφαλισουμε αυτο (εκτος απο το να χρησιμοποιουμε το αντιστοιχο locale στο συστημα μας) ειναι να δουλευουμε με καποιον editor που να χειριζεται καλα τα encodings (το Kate ερχεται αυθορμητα στο μυαλο).
Η μεταγλωττιση του αρχειου tex γινεται με την εντολη xelatex. Να σημειωθει οτι το xelatex παραγει κατευθειαν pdf (οχι dvi, οχι ps).
Αυτα τα λιγα (και υποψιαζομαι οτι τα παρουσιασα καπως πιο πολυπλοκα απο οσο ειναι στην πραγματικοτητα). Happy TeXing!
Εξωτερικα λινκς: