Ελληνικα στο 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!

Εξωτερικα λινκς:

Ελληνικα στο TeX/LaTeX με το XeTeX

8 thoughts on “Ελληνικα στο TeX/LaTeX με το XeTeX

  1. Anonymous says:

    Το έχεις δοκιμάσει σε ubuntu?
    κάποιο bug υπάρχει μάλλον ή κάτι δεν κάνω καλα. Έχεις κάποιο παραδειγματάκι?

    Like

  2. plagal says:

    Οπως λεω και στην κυριως αναρτηση, οσα περιγραφω εχουν δοκιμαστει και δουλευουν μια χαρα στο Debian Sid μου, οχι καπου αλλου. Απλα υποθετω πως θα ειναι το ιδιο και στο Ubuntu.

    Like

  3. Konstantinos says:

    Το δοκίμασα σε Ubuntu 7.10 (Gutsy Gibbon). Λειτουργεί περίφημα! Απλά εγκατέστησα από το synaptic (ή μέσω apt-get install) τα σχετικά με texlive πακέτα (ίσως αρκεί μόνο η εγκατάσταση του πακέτου texlive-full). Δες την αντίστοιχη εγγραφή στο blog μου για ένα παράδειγμα αρχείου που γίνεται κανονικά compile.

    Like

  4. Alienus says:

    Ρε φίλε αυτό το “fc-list | grep Deja” που το γράφεις? Αν δεν καταλαβαίνεις, ότι σε κάτι τέτοια πρέπει να είσαι σαφής, μην γράφεις τίποτα. Τρελαίνεις κόσμο!

    Like

    1. Φιλε μου, δε σου χρωσταω τιποτα και προσεχε τον τονο σου. Το αν και τι και πώς θα γραφω ή οχι, δεν θα μου το πεις εσυ. Συνεννοηθηκαμε?

      Τωρα, η απαντηση στην ερωτηση “πού το γραφεις” ειναι: στο τερματικο. Το οποιο θα το ειχες καταλαβει αν ειχες διαβασει προσεχτικα οτι οσα λεω τα λεω για linux και αν ειχες προσεξει το λινκ στο manpage του fc-list.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s