> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/el/se-vathos-arthra/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# Το γενεαλογικό δέντρο του TeX: LaTeX, pdfTeX, XeTeX, LuaTeX και ConTeXt

Η ιστορία του LaTeX ξεκινάει από το 1977, όταν ο Donald Knuth κατάλαβε για πρώτη φορά την ανάγκη για ένα πρόγραμμα στοιχειοθεσίας υψηλής ποιότητας. Είναι μια αξιοσημείωτη απόδειξη της ποιότητας του LaTeX το γεγονός ότι το σύστημα που συνέλαβε τότε εξακολουθεί να είναι και σήμερα το καλύτερο εργαλείο για τη δουλειά, παρόλο που έχουν προστεθεί πολλές χρήσιμες δυνατότητες στις δεκαετίες που μεσολάβησαν. Στην πραγματικότητα, το LaTeX είναι μία από αυτές τις προσθήκες στο αρχικό σύστημα που ανέπτυξε ο Donald Knuth, το οποίο ονομαζόταν [TeX](http://www.tug.org/).

Για να κρατήσετε το κύρος σας στον κόσμο του LaTeX, πρέπει να το γράφετε με κεφαλαίο T και X, και να το προφέρετε σαν Lay-Tech. Αυτό συμβαίνει επειδή το X στο TeX είναι στην πραγματικότητα ένα κεφαλαίο Χι (χ) από τα ελληνικά. Το Latex με τη συνηθισμένη γραφή και προφορά είναι ένα είδος καουτσούκ!

## Το αρχικό TeX

Υπάρχει μια μεγάλη οικογένεια εργαλείων που προέρχονται πλέον από το TeX, και με την πρώτη ματιά μπορεί να μοιάζει με μια λίστα από ακατανόητες λέξεις: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, και ούτω καθεξής. Ο πρόγονος όλων αυτών είναι φυσικά το αρχικό πρόγραμμα TeX του Knuth. Αυτό δέχεται ένα έγγραφο σε απλό κείμενο και το μετατρέπει σε ένα όμορφα στοιχειοθετημένο έγγραφο. Ο Knuth ήταν πολύ σχολαστικός με τη στοιχειοθεσία και η προσοχή στη λεπτομέρεια στο TeX είναι εμφανής. Ένα παράδειγμα εγγράφου TeX θα μπορούσε να μοιάζει κάπως έτσι:

```latex
Το \TeX{} είναι καλό στη στοιχειοθεσία λέξεων όπως `fjord', `efficiency',
και `fiasco'. Είναι επίσης καλό στη στοιχειοθεσία μαθηματικών όπως,
$a^2 + b^2 = c^2$.
\bye
```

Η έξοδος αυτού, αφού περάσει από το πρόγραμμα TeX, είναι:

![Texsample.png](/files/5990c5123cb70be2105152e5ad603c473051c813)

Παρατηρήστε πώς οι συνδυασμοί των γραμμάτων 'fi', 'fj' και 'ff' στις λέξεις του παραδείγματος δένουν μεταξύ τους με ευχάριστο τρόπο, και πώς τα μαθηματικά σύμβολα έχουν σωστή απόσταση. Σε μεγαλύτερη κλίμακα, το TeX κάνει πολύ καλή δουλειά στο να σπάει τις γραμμές στα κατάλληλα σημεία για να δημιουργεί κείμενο με σωστή στοίχιση, με συλλαβισμό όπου χρειάζεται.

Όχι μόνο στοιχειοθετεί το κείμενο όμορφα, αλλά διαθέτει και μια συλλογή από εντολές, όπως `\bye` και `\TeX` στο παραπάνω παράδειγμα. Αυτές μπορούν να κάνουν απλά πράγματα, όπως να αλλάξουν το μέγεθος της γραμματοσειράς ή τον τρόπο διάταξης του κειμένου, καθώς και πολύ πιο ισχυρά πράγματα, όπως να διατηρούν μετρητή ενοτήτων για αναφορές σε άλλες σελίδες ή να δημιουργούν αυτόματα έναν πίνακα περιεχομένων. Το πρόγραμμα TeX έχει περίπου 300 ενσωματωμένες εντολές, αλλά μπορούν να οριστούν και άλλες μέσα σε αυτό. Ο Donald Knuth έγραψε άλλες περίπου 600 χρήσιμες εντολές μέσα από το TeX, σε ένα πακέτο που ονομάζεται Plain TeX και το οποίο κάνει ορισμένες συνηθισμένες εργασίες στοιχειοθεσίας ευκολότερες.

## LaTeX

Οι εντολές στο TeX και στο Plain TeX παραμένουν αρκετά βασικές και δεν είναι εύκολο να κάνεις πολύπλοκα πράγματα με αυτές. Για να βοηθήσει σε αυτό, ο Leslie Lamport δημιούργησε [LaTeX](http://www.latex-project.org/) στις αρχές της δεκαετίας του 1980 για να προσφέρει μια γλώσσα υψηλότερου επιπέδου για εργασία από ό,τι το TeX. Το LaTeX είναι ένα σύνολο εντολών που ορίζονται σε όρους των υποκείμενων εντολών του TeX, συχνά σε πολλά πολλά επίπεδα αφαίρεσης. Όλες οι εντολές που χρησιμοποιείτε σε ένα έγγραφο LaTeX είναι στην πραγματικότητα απλώς περίπλοκα σύνολα εντολών TeX από κάτω, εκτός φυσικά αν χρησιμοποιήσετε απευθείας μια εντολή TeX! Έννοιες όπως τα πακέτα (`\usepackage{...}`), τα περιβάλλοντα (`\begin{environment} ... \end{environment}`), και οι κλάσεις εγγράφων (`\documentclass{...}`) εισήχθησαν όλες από τον Leslie Lamport στο LaTeX.

Δημιουργώντας ένα τυποποιημένο σύστημα πακέτων για το LaTeX, ο Leslie Lamport επέτρεψε στην κοινότητα να μεγαλώσει πάρα πολύ. Υπάρχουν πλέον χιλιάδες επί χιλιάδων διαθέσιμα πακέτα LaTeX για να σας επιτρέπουν να στοιχειοθετήσετε τα πάντα, από υποεικόνες μέχρι σχέδια πλεξίματος. Υπάρχουν επίσης πολλές διαθέσιμες κλάσεις εγγράφων για διαφορετικούς τύπους εγγράφων, είτε γράφετε ένα βιβλίο, μια εργαστηριακή αναφορά ή ένα βιογραφικό σημείωμα. Πολλοί εκδότες και περιοδικά έχουν τις δικές τους προσαρμοσμένες κλάσεις εγγράφων που μορφοποιούν τα έγγραφά τους όπως επιθυμούν.

## pdfTeX

Το πρόγραμμα TeX είναι αξιοσημείωτα σταθερό για ένα λογισμικό άνω των 20 ετών· ο Knuth δήλωσε ότι είχε ολοκληρωθεί σε επίπεδο δυνατοτήτων το 1989, και από τότε έχουν γίνει μόνο διορθώσεις σφαλμάτων. Φυσικά, αυτό δεν εμπόδισε τη σημαντική και συνεχιζόμενη ανάπτυξη του LaTeX, επειδή αυτό είναι γραμμένο μέσα στο ίδιο το TeX. Στην πραγματικότητα, η σταθερότητα του TeX έχει επιτρέψει σε πακέτα όπως το LaTeX, που χτίστηκαν πάνω του, να ακμάσουν.

Αυτό δεν σημαίνει ότι το υποκείμενο πρόγραμμα TeX δεν γνώρισε καμία εξέλιξη τα τελευταία 20 χρόνια. Κάθε άλλο μάλιστα· απλώς οι βελτιώσεις έγιναν παράλληλα με το TeX, ενώ το αρχικό TeX έμεινε σταθερό. Η σημαντικότερη βελτίωση της δεκαετίας του 1990 ήταν η δημιουργία του [pdfTeX](http://www.tug.org/applications/pdftex/) από τον Hàn Thế Thành για τη διδακτορική του διατριβή. Το αρχικό πρόγραμμα TeX εξάγει το στοιχειοθετημένο έγγραφο σε μια προσαρμοσμένη μορφή που ονομάζεται DVI (μορφή DeVice Independent), η οποία αργότερα μπορεί να μετατραπεί σε αρχείο PostScript για εκτύπωση. Ωστόσο, η μορφή PDF εμφανίστηκε το 1993 και σήμερα βλέπουμε ότι ξεκάθαρα επικράτησε ως καλύτερη μορφή από το PostScript. Υπάρχουν πολλά χαρακτηριστικά που κάνουν το PDF καλύτερο, όπως οι υπερσύνδεσμοι ανάμεσα στις ενότητες, ένα τμήμα μεταδεδομένων που σας επιτρέπει να βλέπετε έναν πίνακα περιεχομένων στην αριστερή πλευρά του προγράμματος προβολής PDF, και υποστήριξη για ένα ευρύτερο και πιο σύγχρονο φάσμα μορφών εικόνας. Το pdfTeX είναι μια τροποποίηση του TeX που του επιτρέπει να εξάγει απευθείας PDF και έτσι να αξιοποιεί αυτά τα επιπλέον χαρακτηριστικά.

Όταν εγκαθιστάτε σήμερα μια διανομή LaTeX στο σύστημά σας, στην πραγματικότητα συνοδεύεται από δύο διαφορετικά προγράμματα: `tex`, και `pdftex`. Συνοδεύεται επίσης από άλλα δύο προγράμματα επιπλέον αυτών: `latex` και `pdflatex`, αλλά αυτά στην πραγματικότητα είναι απλώς περιτυλίγματα γύρω από `tex` και `pdftex` αντίστοιχα. Αυτά φορτώνουν πρώτα τα πακέτα LaTeX πριν επεξεργαστούν το έγγραφό σας, αλλά εξακολουθούν να είναι TeX από κάτω. Αν εκτελέσετε το `latex` ή `tex` τότε θα πάρετε ένα αρχείο DVI το οποίο μπορείτε να το μετατρέψετε σε αρχείο postscript ή σε PDF, αλλά αν εκτελέσετε το `pdflatex` θα πάρετε απευθείας ένα PDF.

Στις περισσότερες περιπτώσεις, `pdftex` και `pdflatex` είναι βελτιώσεις σε σχέση με το `tex` και `latex`, αλλά υπάρχει ένα μειονέκτημα. Το αρχικό TeX και η μορφή DVI υποστηρίζουν αρχεία Encapsulated PostScript (`.eps`) επειδή αυτά μπορούν εύκολα να συμπεριληφθούν σε αρχεία PostScript (που παράγονται με τη μετατροπή των `.dvi` αρχείων σε Postscript μέσω του [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Ωστόσο, `pdftex` δεν μπορεί να συμπεριλάβει αρχεία EPS, και αντί γι’ αυτό θα πρέπει να χρησιμοποιείτε PDF (τα οποία μπορούν να παραχθούν από αρχεία EPS με την εντολή `epstopdf` η οποία γενικά συνοδεύει τις διανομές LaTeX). Σε αντάλλαγμα για αυτό το μειονέκτημα, όμως, το pdfTeX προσθέτει υποστήριξη για `.png`, `.jpg` και `.pdf` εικόνες, ενώ το αρχικό TeX υποστηρίζει μόνο .eps (μέσω του [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX και LuaTeX

Μέχρι στιγμής είδαμε ότι το TeX έχει εξελιχθεί με δύο διαφορετικούς τρόπους από την αρχή του: με την προσθήκη ευκολότερων στη χρήση εντολών πάνω από το αρχικό σύστημα (LaTeX), και με ενημερώσεις στο υποκείμενο πρόγραμμα ώστε να υποστηρίζει έξοδο PDF (pdfTeX). Ωστόσο, η ιστορία δεν τελειώνει εκεί και υπήρξαν συνεχείς προσπάθειες εκσυγχρονισμού του TeX. Το 2004 ο Jonathon Kew δημιούργησε [XeTeX](http://tug.org/xetex/), το οποίο είναι μια ακόμη τροποποίηση της υποκείμενης μηχανής TeX, αυτή τη φορά για να υποστηρίζει ένα ευρύτερο φάσμα χαρακτήρων πέρα από τους απλούς αγγλικούς αριθμούς και γράμματα, και για να περιλαμβάνει υποστήριξη για σύγχρονες μορφές γραμματοσειρών. Αυτό κάνει τη συγγραφή σε ξένες γλώσσες πολύ ευκολότερη, και επίσης σας επιτρέπει να χρησιμοποιείτε γραμματοσειρές μέσα στο LaTeX που παραδοσιακά ήταν διαθέσιμες μόνο στον επεξεργαστή κειμένου σας.

[LuaTeX](http://www.luatex.org/) είναι μια προσπάθεια να επεκταθεί το αρχικό πρόγραμμα TeX με μια πιο λογική γλώσσα προγραμματισμού. Ενώ κατ’ αρχήν μπορείτε να κάνετε απολύτως τα πάντα μέσα από το TeX, στην πράξη είναι μια πολύ δύσχρηστη γλώσσα προγραμματισμού για εργασία, αν μπορεί καν κανείς να την αποκαλέσει γλώσσα προγραμματισμού. Μεγάλο μέρος των εσωτερικών λειτουργιών του LaTeX είναι πολύπλοκο και δύσκολο για τους απ’ έξω να το κατανοήσουν, επειδή πρέπει να δουλεύει κανείς μόνο σε TeX. Το LuaTeX επεκτείνεται με την ομώνυμη γλώσσα σεναρίων, Lua, η οποία είναι μια απλή και σταθερή γλώσσα, ιδανική για τη συγγραφή πολύπλοκων μακροεντολών. Από το 2012, βρίσκεται ακόμη σε ενεργή ανάπτυξη και το API του είναι πιθανό να αλλάξει, αλλά παραμένει πολύ χρησιμοποιήσιμο.

## ConTeXt

Έχουμε αναφέρει το LaTeX ως επέκταση των εντολών που είναι διαθέσιμες στο TeX, αλλά δεν είναι το μόνο πακέτο που έχει επεκτείνει το TeX με σημαντικό τρόπο. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) είναι ένα ακόμη σύστημα που δημιουργήθηκε το 1990 από τον Hans Hagen. Το LaTeX στοχεύει να απαλλάξει τον χρήστη από το να παίρνει αποφάσεις για την τυπογραφία και τη διάταξη (πληκτρολογείτε `\section` και `\emph` αλλά δεν ανησυχείτε για το τι κάνουν αυτά - αυτό αφήνεται στην κλάση εγγράφου ή στη διάταξη). Από την άλλη πλευρά, το ConTeXt στοχεύει να παρέχει μια εύχρηστη διεπαφή σε προηγμένες τυπογραφικές δυνατότητες. Δυστυχώς δεν ξέρω τόσα πολλά για το ConTeXt όσα θα ήθελα, οπότε δεν μπορώ να επεκταθώ πολύ περισσότερο, αλλά αν ποτέ καταφέρω να το δοκιμάσω περισσότερο, θα φροντίσω να γράψω τα ευρήματά μου.

Ως μια τελευταία ιστορική σημείωση, θα πρέπει να αναφέρω το [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) το οποίο ήταν μια επέκταση των μακροεντολών του Plain TeX και χρησιμοποιήθηκε από την Αμερικανική Μαθηματική Εταιρεία (AMS) από το 1982 έως το 1985. Η κληρονομιά του επιβιώνει στα πακέτα AMS-LaTeX, τα οποία αποτελούν βασικό στοιχείο πολλών εγγράφων LaTeX: `\usepackage{amsmath}`.

## Το Μέλλον

Τι θα επιφυλάσσει το μέλλον για το TeX και το LaTeX; Δεν το ξέρω ακόμη, αλλά όπως είπε κάποτε ο Alan Kay:

> Ο καλύτερος τρόπος να προβλέψεις το μέλλον είναι να το εφεύρεις.

Με το ShareLaTeX ελπίζουμε να βελτιώσουμε το TeX και το LaTeX σε μια τρίτη κατεύθυνση, φέρνοντας σημαντικές βελτιώσεις στη ροή εργασίας του LaTeX. Παρότι είναι πάνω από 20 ετών, το LaTeX παραμένει σε μεγάλο βαθμό ένα πρόγραμμα γραμμής εντολών που πρέπει να χρησιμοποιείται σε έναν άβολο κύκλο γραφής, μεταγλώττισης και ελέγχου του αποτελέσματος. Οι μέθοδοι συνεργασίας τείνουν να περιλαμβάνουν άκαμπτα email αντί για τις πιο απλοποιημένες διαδικασίες που είναι διαθέσιμες για επεξεργασία κειμένου, όπως τα Έγγραφα Google.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/el/se-vathos-arthra/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
