> 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/glosses/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.md).

# Πολυγλωσσική στοιχειοθεσία στο Overleaf με χρήση polyglossia και fontspec

## Εισαγωγή

Αυτό το άρθρο παρέχει μια επισκόπηση της στοιχειοθεσίας πολυγλωσσικών εγγράφων στο Overleaf χρησιμοποιώντας τον μεταγλωττιστή XeLaTeX (ή LuaLaTeX) σε συνδυασμό με τα `fontspec` και `polyglossia` πακέτα LaTeX.

Για πολλούς, αν όχι για τους περισσότερους, χρήστες η προεπιλεγμένη επιλογή του TeX engine είναι `pdfTeX`, το οποίο, σε αντίθεση με τα XeTeX και LuaTeX, δεν έχει ενσωματωμένη δυνατότητα ανάγνωσης [UTF-8](https://en.wikipedia.org/wiki/UTF-8) κωδικοποιημένων αρχείων κειμένου. Η χρήση του pdfTeX κάνει τη στοιχειοθεσία ορισμένων γλωσσών στο LaTeX πολύ περίπλοκη, ειδικά εκείνων που δεν χρησιμοποιούν λατινικό σύστημα γραφής. Ορισμένα πακέτα — όπως το [`inputenc`, `fontenc` και](/latex/el/glosses/05-arabic.md) [`arabtex`](/latex/el/glosses/05-arabic.md)— παρέχουν υποστήριξη στο pdfTeX για τη στοιχειοθεσία μη λατινικών γλωσσών και συστημάτων γραφής, αλλά δεν είναι βέβαιο ότι όλα τα γλυφά και οι χαρακτήρες θα υποστηρίζονται ή θα αποδίδονται σωστά στο PDF εξόδου, ακόμη κι αν έχετε χρησιμοποιήσει την `utf8` ή `utf8x` επιλογή με το `inputenc`.

Για μια εις βάθος συζήτηση σχετικά με το UTF-8, την κωδικοποίηση Unicode και τις μηχανές XeTeX/LuaTeX, το άρθρο του Overleaf [Unicode, UTF-8 and multilingual text: An introduction](/latex/el/se-vathos-arthra/51-unicode-utf-8-and-multilingual-text-an-introduction.md) είναι ένα συναρπαστικό ανάγνωσμα.

## Μπαίνουν οι XeTeX και LuaTeX

Οι μηχανές XeTeX και LuaTeX μπορούν να διαβάζουν/επεξεργάζονται απευθείας κείμενο κωδικοποιημένο σε UTF-8· κατά συνέπεια, προσφέρουν εγγενή υποστήριξη για Unicode — μπορούν επίσης [να δουλεύουν με γραμματοσειρές TrueType και OpenType](/latex/el/grammatoseires/03-xelatex.md) απευθείας. Αυτά τα χαρακτηριστικά τις καθιστούν φυσική επιλογή για τη στοιχειοθεσία πολυγλωσσικών ή μη λατινικών εγγράφων στο LaTeX, παράγοντας εξόδους όπως αυτές:

![](/files/58e56ce4b32c68ca3bd43db0cbbdb46a0aedf031) ![](/files/04e85723090cc3256204ba13edbaa06380bbf52f) ![](/files/51f4a6452fd35b90578652758a1a74f8e27468e4)

Αυτά τα παραδείγματα μπορείτε να τα βρείτε στη Συλλογή του Overleaf: [Πώς να γράψετε πολυγλωσσικό κείμενο με διαφορετικά συστήματα γραφής στο LaTeX στο Overleaf](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz) και [Πολυγλωσσικό "Ευχαριστώ"](https://www.overleaf.com/latex/templates/multilingual-thank-you/wjmrnnqkstyf).

Αν θέλετε να στοιχειοθετήσετε κινέζικα, ιαπωνικά και κορεατικά, ρίξτε μια ματιά σε αυτά τα άρθρα:

* [Κινέζικα](/latex/el/glosses/06-chinese.md)
* [Ιαπωνικά](/latex/el/glosses/11-japanese.md)
* [Κορεατικά](/latex/el/glosses/12-korean.md)

Το Xe(La)TeX παραμένει χρήσιμο για αυτές τις γλώσσες, αλλά υπάρχουν πιο εξειδικευμένες μηχανές TeX, συγκεκριμένα [σχεδιασμένες για τη στοιχειοθεσία γλωσσών CJK](/latex/el/perissotera-themata/45-tex-primitives-listed-by-cjk-tex-engine.md)— όπως το [pTeX](https://ctan.org/pkg/ptex?lang=en) για τη στοιχειοθεσία ιαπωνικών.

Σημειώστε ότι αν ο κέρσοράς σας φαίνεται να συμπεριφέρεται περίεργα κατά την επεξεργασία κειμένου σε ορισμένες γλώσσες στο Overleaf, ίσως θέλετε να κάνετε κλικ στο κουμπί Overleaf **Μενού** (που βρίσκεται πάνω από τη λίστα αρχείων του έργου) και να αλλάξετε την επιλογή “Font Family”. Μπορείτε επίσης να δοκιμάσετε [να αλλάξετε τις προτιμήσεις της μονοπλάτης γραμματοσειράς του προγράμματος περιήγησής σας](https://www.howtogeek.com/208552/how-to-change-the-default-fonts-in-your-web-browser/) ή να χρησιμοποιήσετε αντί γι’ αυτό τη προβολή Rich Text του Overleaf. Ωστόσο, τη στιγμή που γράφεται αυτό, οι προβολές Source και Rich Text μπορεί να μην υποστηρίζουν ακόμη πλήρως την επεξεργασία κειμένου από δεξιά προς τα αριστερά στο επίπεδο λειτουργικότητας που στοχεύουμε να επιτύχουμε.

## Αλλαγή του μεταγλωττιστή του έργου

Η `fontspec` και `polyglossia` Τα πακέτα απαιτούν τον μεταγλωττιστή XeLaTeX ή LuaLaTeX, οπότε θα χρειαστεί να ρυθμίσετε το έργο σας στο Overleaf ώστε να χρησιμοποιεί έναν από αυτούς τους μεταγλωττιστές. Λεπτομερείς οδηγίες μπορείτε να βρείτε στο άρθρο μας [Επιλογή μεταγλωττιστή LaTeX](/latex/el/perissotera-themata/08-choosing-a-latex-compiler.md) αλλά εδώ υπάρχει ένα σύντομο βίντεο που δείχνει πώς να ορίσετε τον μεταγλωττιστή για το έργο σας:

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/2HDpWlJuNR50hknbpxfQdu/93cdc17ef2c6c77249a1c7c76b34a817/choosingcompiler.mp4>" %}

Μόλις κάνετε μεταγλώττιση με XeLaTeX ή LuaLaTeX, μπορείτε (και θα πρέπει) να αφαιρέσετε τα `inputenc` και `fontenc` πακέτα από το προοίμιο του αρχείου .tex σας, επειδή αυτές οι μηχανές με υποστήριξη Unicode θα θεωρήσουν ότι τα αρχεία εισόδου (κειμένου) είναι κωδικοποιημένα σε UTF-8. Παρεμπιπτόντως, όλα τα αρχεία κειμένου που ανεβαίνουν στο Overleaf μετατρέπονται σε UTF-8, οπότε συνήθως θα πρέπει να χρησιμοποιείτε `utf8` με `inputenc` όταν εργάζεστε με τους μεταγλωττιστές pdfLaTeX και LaTeX στο Overleaf.

## Αν ολόκληρο το έγγραφό σας περιλαμβάνει μόνο μία γλώσσα

Όταν χρησιμοποιείτε το `fontspec` πακέτο, ίσως αρκεί να ρυθμίσετε μόνο μια κύρια (serif) γραμματοσειρά, μια γραμματοσειρά sans-serif και πιθανότατα μια μονοπλάτη γραμματοσειρά σχεδιασμένη να υποστηρίζει τη γλώσσα που στοιχειοθετείτε — υπάρχει όμως μια παγίδα, στην οποία θα επιστρέψουμε αργότερα στο άρθρο. Για παράδειγμα, αν ολόκληρο το έγγραφό σας είναι στα ελληνικά, με μερικές αγγλικές λέξεις, μπορείτε απλώς να γράψετε

```latex
\usepackage{fontspec}
\setmainfont[Script=Greek]{GFS Artemisia}
\setsansfont[Script=Greek]{GFS Neohellenic}
\setmonofont[Script=Greek]{Noto Mono}
. . .
Το Lorem Ipsum είναι \textsf{απλά} ένα κείμενο χωρίς νόημα
για τους επαγγελματίες της \texttt{τυπογραφίας} και στοιχειοθεσίας.
```

Μπορείτε να επιλέξετε γραμματοσειρές από μια [λίστα διαθέσιμων γραμματοσειρών TrueType και OpenType](https://www.overleaf.com/help/193). Το `Ligatures=TeX` επιλογή προστίθεται αυτόματα για το `\setmainfont` και `\setsansfont`, οπότε δεν χρειάζεται να το προσθέσετε εσείς. (`\setromanfont` είναι ψευδώνυμο του `\setmainfont`.)

Ο παραπάνω κώδικας LaTeX παράγει το ακόλουθο αποτέλεσμα:

![](/files/31b304cad7a7c886b0ad7570890d6f8c795f0358)

## Πολλές γλώσσες/συστήματα γραφής στο ίδιο έγγραφο: Εισαγωγή στο polyglossia

Αν το έγγραφό σας περιέχει μη αμελητέες ποσότητες κειμένου σε πολλές γλώσσες, το `polyglossia` πακέτο είναι χρήσιμο για να αναλάβει τις συμβάσεις στοιχειοθεσίας και τον συλλαβισμό που είναι ειδικοί για κάθε γλώσσα.

```latex
\usepackage{fontspec}
\setmainfont{FreeSerif}
\setsansfont{FreeSans}
\setmonofont{FreeMono}

\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguages{english,russian,thai}

\begin{document}
\begin{abstract}
Le Lorem Ipsum est simplement du faux texte employé dans
la composition et la mise en page avant impression.
\end{abstract}

Merci. \textenglish{Thank you.} \textrussian{Спасибо.} Et plus de
texte en français!

Le Lorem Ipsum est le faux texte standard ...

\begin{english}
Lorem Ipsum is simply dummy text ...
\end{english}

\begin{russian}
Lorem Ipsum - это текст-`\textsf{рыба}', часто используемый в
\texttt{печати} и вэб-дизайне. ...
\end{russian}

\begin{thai}
\XeTeXlinebreaklocale "th_TH"
\textenglish{Lorem Ipsum} คือ เนื้อหาจำลองแบบเรียบๆ ที่ใช้กันในธุรกิจงานพิมพ์หรืองานเรียงพิมพ์
\end{thai}
```

![](/files/25bdc261966f46abd70bd1ec621c9f5d5ba8aa57)

`polyglossia` σας επιτρέπει να ορίσετε την κύρια γλώσσα του εγγράφου με το `\setdefaultlanguage` (προεπιλογή είναι τα Αγγλικά) και (πιθανώς πολλαπλές) «άλλες» γλώσσες με το `\setotherlanguages`. (`\setmainlanguage` είναι ψευδώνυμο του `\setdefaultlanguage`.) Αν περιμένετε να χρησιμοποιείτε μόνο μία άλλη ξένη γλώσσα, μπορείτε να χρησιμοποιήσετε τον ενικό `\setotherlanguage`. Τα ονόματα των γλωσσών είναι τα ίδια με εκείνα που χρησιμοποιούνται από το `babel`.

Έχουμε ετοιμάσει ένα μικρό παράδειγμα ενός (κυρίως) γαλλικού εγγράφου που περιέχει επίσης λίγο αγγλικό, ρωσικό και ταϊλανδικό κείμενο. Αποφασίσαμε να χρησιμοποιήσουμε τις γραμματοσειρές FreeSerif, FreeSans και FreeMono.

Επειδή η κύρια γλώσσα του εγγράφου είναι `γαλλικά`, η `abstract` το περιβάλλον παράγει αυτόματα τον τίτλο ‘Résumé’. Παρατηρήστε πώς, στο τέλος της πρώτης παραγράφου, το θαυμαστικό στοιχειοθετείται χρησιμοποιώντας τη γαλλική τυπογραφική σύμβαση για τα κενά: τοποθετείται χωριστά από το ‘français’, παρότι ακολουθεί αμέσως μετά τη λέξη `français` στον πηγαίο κώδικα.

Στο κυρίως κείμενο, μικρά αποσπάσματα αγγλικού, κυριλλικού και ταϊλανδικού κειμένου μπορούν να συμπεριληφθούν σε μια παράγραφο γαλλικού κειμένου με `\textenglish{Thank you}`, `\textrussian{Спасибо}` και `\textthai{ขอบคุณ}`. Γενικά, μπορείτε να χρησιμοποιήσετε `\textLANGUAGE{...}` για να στοιχειοθετήσετε κείμενο σε οποιαδήποτε `LANGUAGE` που έχει δηλωθεί από το `\setdefaultlanguage` και `\setotherlanguages`. Επειδή η κύρια (serif) γραμματοσειρά του εγγράφου είναι η FreeSerif, και η FreeSerif περιέχει γλυφές για τα λατινικά, κυριλλικά και ταϊλανδικά (και όχι μόνο!) συστήματα γραφής, `fontspec` και `polyglossia` μπορεί να χρησιμοποιηθεί για να αποδώσει όλα αυτά τα κείμενα στο PDF εξόδου.

Για μεγαλύτερες παραγράφους κειμένου σε ξένες/άλλες γλώσσες, συνιστάται να χρησιμοποιήσετε `\begin{LANGUAGE}`...`\end{LANGUAGE}`, π.χ. `\begin{russian}`...`\end{russian}`, `\begin{thai}`...`\end{thai}`. Στην περίπτωση των αραβικών δεν μπορείτε να χρησιμοποιήσετε `\begin{arabic}`...`\end{arabic}`· θα πρέπει να γράψετε `\begin{Arabic}`...`\end{Arabic}` αντί γι’ αυτό, ενώ το `\textarabic{...}` παραμένει έγκυρο.

Για ορισμένες γλώσσες μπορεί να χρειάζονται κάποια πρόσθετα ζητήματα: για παράδειγμα, μέσα στο `thai` περιβάλλον, οι λέξεις `Lorem Ipsum` πρέπει να περιληφθούν μέσα σε ένα `\textenglish{...}` (ή `\textfrench{...}`) εντολή, ώστε να διασφαλιστεί ότι αποδίδονται με τις γλυφές του λατινικού συστήματος γραφής.

Σε αυτό το σημείο ίσως αναρωτηθείτε: Αν η FreeSerif είναι τόσο ευέλικτη και περιέχει ούτως ή άλλως γλυφές για τα ρωσικά και τα ταϊλανδικά, γιατί θα χρειαζόμασταν ακόμη να χρησιμοποιούμε το `\textrussian`, `\begin{english}`...`\end{english}` κ.λπ.; Δεν θα ήταν αυτό περιττό; Ας δούμε τι συμβαίνει όταν αφαιρούμε τα `\begin{english}`...`\end{english}` και `\begin{russian}`...`\end{russian}` περιβάλλοντα:

![](/files/db1690846fc3360531ccd0257c16383fffdb6be4)

Βεβαίως, οι λατινικές και οι κυριλλικές γλυφές αποδίδονται όλες στο PDF εξόδου, αλλά σημειώστε ότι ορισμένες λέξεις συλλαβίζονται τώρα λανθασμένα: ‘unk-nown’ και ‘unchan-ged’—και το стандартной δεν συλλαβίζεται καθόλου. Χωρίς τα περιβάλλοντα αλλαγής γλώσσας, ο μεταγλωττιστής θεωρεί ότι αυτά τα στοιχεία κειμένου είναι ακόμη στη γαλλική γλώσσα και προσπαθεί να τα στοιχειοθετήσει χρησιμοποιώντας γαλλικές συμβάσεις. Ο μεταγλωττιστής προσπαθεί να εφαρμόσει τους γαλλικούς κανόνες συλλαβισμού, οι οποίοι φυσικά δίνουν λανθασμένα αποτελέσματα. Γι’ αυτό η τυπογραφία και η στοιχειοθεσία είναι πολύ περισσότερα από απλό σχεδιασμό και επιλογή γραμματοσειράς: είναι κλάδοι πολύ εξαρτημένοι από τη γλώσσα και τον πολιτισμό.

Επανεξετάζοντας το πρώτο μας ελληνικό παράδειγμα, τώρα βλέπουμε γιατί είναι καλή ιδέα να φορτώσουμε `polyglossia` και να χρησιμοποιήσουμε `\setdefaultlanguage{greek}`: ώστε να διασφαλιστεί ότι το έγγραφο στοιχειοθετείται σύμφωνα με τις ελληνικές συμβάσεις.

## Ανάμειξη γλωσσών από δεξιά προς τα αριστερά (RTL) και από αριστερά προς τα δεξιά (LTR)

Πρέπει να είστε προσεκτικοί όταν στοιχειοθετείτε ένα μείγμα από συστήματα γραφής από δεξιά προς τα αριστερά (RTL), όπως τα αραβικά ή τα εβραϊκά, και συστήματα γραφής από αριστερά προς τα δεξιά (LTR) στο ίδιο έγγραφο. Σκεφτείτε το παρακάτω μικρό αραβικό έγγραφο με μια αγγλική λέξη, χρησιμοποιώντας την Amiri ως κύρια γραμματοσειρά:

```latex
\usepackage{polyglossia}
\setdefaultlanguage{arabic}
\setmainfont{Amiri}
\begin{document}
ما هو differentiation
\end{document}
```

το οποίο παράγει:

![](/files/a1da44e4a23a75f4406a3e1c2a03f4ea556bcdfa)

Το κείμενο στοιχειοθετείται αυτόματα από δεξιά προς τα αριστερά, ξεκινώντας από τη δεξιά άκρη της σελίδας. Η ίδια η λέξη “differentiation” στοιχειοθετείται σωστά ως κείμενο από αριστερά προς τα δεξιά — αλλά περιμένετε, *όχι, δεν είναι*! Αποδίδεται ως “dffirentiation” στην έξοδο! Τι συμβαίνει εδώ;

Η γραμματοσειρά Amiri πράγματι διαθέτει γλυφές για τα λατινικά αλφάβητα, αλλά εδώ το κείμενο `differentiation` δεν έχει επισημανθεί ως αγγλικό: ο μεταγλωττιστής αντιμετωπίζει `differentiation` ως κείμενο από δεξιά προς τα αριστερά, σαν να ήταν ακολουθία αραβικών χαρακτήρων. Κατά τη στοιχειοθεσία, η αρχική ακολουθία `iff` επεξεργάζεται ως `ffi` (δηλ., ως κείμενο RTL) και η [λιγάτουρα](https://en.wikipedia.org/wiki/Typographic_ligature) γλυφή για το “ffi” στοιχειοθετείται. Η επισήμανση της λέξης με το `\textenglish{...}` διασφαλίζει ότι ερμηνεύεται σωστά ως κείμενο από αριστερά προς τα δεξιά.

```latex
\setmainfont{Amiri}
\setotherlanguage{english}
\newfontfamily\englishfont{TeX Gyre Termes}
\begin{document}
ما هو \textenglish{differentiation}
```

![](/files/e15527312b7785f5757c568fecf16303cd5977f1)

**Σημείωση:** Αν είστε εξοικειωμένοι με τις `babel` εντολές του πακέτου, θα χαρείτε να μάθετε ότι οι εντολές `\selectlanguage`, `\foreignlanguage` και το περιβάλλον `otherlanguage` υποστηρίζονται επίσης από το `polyglossia`.

## Επιλογές ειδικές για τη γλώσσα

Ορισμένες γλώσσες υποστηρίζουν πρόσθετες επιλογές προσαρμογής· για παράδειγμα, `ελληνικά` δέχονται μια `variant=ancient`, `mono` ή `poly` επιλογή για αρχαία, μονοτονικά ή πολυτονικά ελληνικά· `χίντι` μπορεί να ρυθμιστεί με `numerals=western` ή `devanagari`. Δείτε την [τεκμηρίωση του πακέτου polyglossia](http://texdoc.net/pkg/polyglossia) για λεπτομέρειες.

Αυτές μπορούν να καθοριστούν κατά τη φόρτωση της γλώσσας:

```latex
\setdefaultlanguage[variant=poly]{greek}
\setotherlanguage[numerals=western]{hindi}
```

ή αργότερα, οποιαδήποτε στιγμή:

```latex
\setkeys{greek}{variant=ancient}
```

ή ακόμη και τοπικά για ένα συγκεκριμένο περιβάλλον:

```latex
\begin{greek}[variant=ancient]
...
\end{greek}
```

## Καθορισμός γραμματοσειρών για συγκεκριμένες γλώσσες

Μπορείτε να καθορίσετε τη γραμματοσειρά που χρησιμοποιείται για διαφορετικές γλώσσες. Ας υποθέσουμε ότι θέλετε να στοιχειοθετήσετε όλο το αγγλικό κείμενο (που περιέχεται στο προηγούμενο παράδειγμά μας) σε πλάγια γραφή· θα μπορούσατε να γράψετε:

```latex
\newfontfamily\englishfont{FreeSerif Italic}
```

![](/files/96b7e4cc2c5bcd2045dcaa5fab8ba4ffdbd907fa)

Φυσικά μπορείτε να χρησιμοποιήσετε κάτι ακόμα πιο εντυπωσιακό:

```latex
\newfontfamily\englishfont{Chancery Uralic}
```

![](/files/560ce897c809540531d1d15002459111b63e010c)

Αυτός ο μηχανισμός ορισμού γραμματοσειρών για διαφορετικές γλώσσες ή συστήματα γραφής είναι ιδιαίτερα σημαντικός όταν χρησιμοποιείτε μια κύρια γραμματοσειρά που *δεν* να διαθέτει γλυφές για όλα τα συστήματα γραφής ή όλες τις γλώσσες του εγγράφου σας. Ας υποθέσουμε τώρα ότι αποφασίζουμε να χρησιμοποιήσουμε την Caladea ως κύρια γραμματοσειρά του εγγράφου:

```latex
\setmainfont{Caladea}
```

Κατά τη μεταγλώττιση θα βλέπαμε το ακόλουθο σφάλμα:

```
Σφάλμα του πακέτου polyglossia: Η τρέχουσα ρωμαϊκή γραμματοσειρά
δεν περιέχει το κυριλλικό σύστημα γραφής!

(polyglossia)                Ορίστε
\cyrillicfont με \newfontfamily.

Δείτε την τεκμηρίωση του πακέτου polyglossia για
επεξήγηση.
Πληκτρολογήστε  H <return>  για άμεση βοήθεια.
 ...

l.15 \select@language {russian}

Σφάλμα του πακέτου polyglossia: Η τρέχουσα ρωμαϊκή γραμματοσειρά
δεν περιέχει το ταϊλανδικό σύστημα γραφής!

(polyglossia)                Ορίστε
\thaifont με \newfontfamily.

Δείτε την τεκμηρίωση του πακέτου polyglossia για
επεξήγηση.
Πληκτρολογήστε  H <return>  για άμεση βοήθεια.
 ...

l.23 \select@language {thai}
...
```

Τώρα είμαστε υποχρεωμένοι να προσδιορίσουμε ποιες γραμματοσειρές θα χρησιμοποιηθούν για τα κυριλλικά και τα ταϊλανδικά συστήματα γραφής. Και πάλι, μπορείτε να ανατρέξετε στο [λίστα διαθέσιμων γραμματοσειρών TrueType και OpenType](https://www.overleaf.com/help/193) στο Overleaf.

```latex
\newfontfamily\cyrillicfont[Script=Cyrillic]{Charis SIL}
\newfontfamily\thaifont[Script=Thai]{Garuda}
```

![](/files/b75e75880ea754d17d856345a63b1a10819a4b1e)

**Σημείωση**: είναι πέρα από το πεδίο αυτού του άρθρου να ασχοληθούμε με ζητήματα που αφορούν επιλογές αισθητικά ευχάριστων και τυπογραφικά συμβατών συνδυασμών γραμματοσειρών.

Σημειώστε ότι έχουμε ορίσει `\cyrillicfont` αντί για `\russianfont`, δηλαδή ορίσαμε μια γραμματοσειρά για το κυριλλικό *σύστημα γραφής* αντί για τη ρωσική *γλώσσα*. Το πλεονέκτημα του να ορίζουμε `\cyrillicfont` είναι ότι αν, για παράδειγμα, `σερβικά` είναι επίσης δηλωμένη γλώσσα στο έργο σας, τότε `\textserbian` θα χρησιμοποιούσε αυτόματα την ορισμένη `\cyrillicfont`. Αν είχατε ορίσει μόνο το `\russianfont`, τότε η χρήση του `\textserbian` θα παραπονεθεί ξανά ότι «η τρέχουσα ρωμαϊκή γραμματοσειρά δεν περιέχει το κυριλλικό σύστημα γραφής» και θα χρειαστεί να ορίσετε `\cyrillicfont` οπωσδήποτε — *εκτός αν* εσάς *όντως* σκοπεύατε να χρησιμοποιήσετε διαφορετική γραμματοσειρά για το σερβικό κείμενο!

Ένα άλλο παρόμοιο σενάριο είναι το Devanagari *σύστημα γραφής*, το οποίο χρησιμοποιείται για τα συστήματα γραφής των χίντι και σανσκριτικών *γλωσσών*; ή το αραβικό σύστημα γραφής που χρησιμοποιείται για τα αραβικά και τα φαρσί (περσικά).

```latex
\setdefaultlanguage{english}
\setotherlanguages{hindi,sanskrit}
\newfontfamily\devanagarifont[Script=Devanagari]{Lohit Devanagari}
...
Χίντι: \texthindi{हिन्दी}
Σανσκριτικά: \textsanskrit{संस्कृतम्}
```

![](/files/fb8d66ceb2341ba6e4b3c45fa7006c2a52ad6b1c)

Όταν χρησιμοποιείτε `\newfontfamily` είναι απαραίτητο να καθορίσετε το `Script`, διαφορετικά ορισμένες γλυφές ενδέχεται να αποδοθούν λανθασμένα· για παράδειγμα, αν είχαμε γράψει μόνο `\newfontfamily\thaifont{Garuda}` το στοιχειοθετημένο αποτέλεσμα μπορεί να είναι λανθασμένο (αριστερή εικόνα παρακάτω)—το σωστό αποτέλεσμα παράγεται με την προσθήκη `[Script=Thai]`.

Λάθος: ![](/files/749aa523e522dfd1d18b972bd39e78c52454ff8d) Σωστό: ![](/files/a89e96b662ede8b2173942270b588f61df33ec0a)

## Ορισμός άλλων οικογενειών γραμματοσειρών

Ας ρίξουμε μια ματιά σε ένα ακόμη παράδειγμα, αυτή τη φορά με τα εβραϊκά:

```latex
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=hebrew]{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont[Script=Hebrew]{Hadasim CLM}
\begin{document}
\section{מבוא}
זוהי עובדה מבוססת שדעתו של הקורא תהיה מוסחת עלידי טקטס קריא כאשר הוא יביט בפריסתו.  -
\end{document}
```

![](/files/8210f683a22d5882cc40fa546012fd55572bfa76)

Ως εδώ καλά. Τώρα ας υποθέσουμε ότι χρησιμοποιούσαμε ένα πρότυπο που δημιουργήθηκε αρχικά για ένα αγγλικό έγγραφο, το οποίο ορίζει τις επικεφαλίδες των ενοτήτων σε γραφή χωρίς πατούρες χρησιμοποιώντας το `titlesec` πακέτο:

```latex
\RequirePackage{titlesec}
\titleformat{\section}{\Large\sffamily\bfseries}{\thesection}{1em}{}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=hebrew]{hebrew}
...
```

Ερχόμαστε αντιμέτωποι με το μήνυμα σφάλματος:

```
Σφάλμα του πακέτου polyglossia: Η τρέχουσα ρωμαϊκή γραμματοσειρά
δεν περιέχει το εβραϊκό σύστημα γραφής!

(polyglossia)                Ορίστε
\hebrewfont με \newfontfamily.

Δείτε την τεκμηρίωση του πακέτου polyglossia για
επεξήγηση.
Πληκτρολογήστε  H <return>  για άμεση βοήθεια.
 ...

l.27 \section{מבוא}
```

Αυτό είναι λίγο μπερδεμένο: δεν ορίσαμε ήδη το `\hebrewfont` να είναι Hadasim CLM; Λοιπόν, ο λόγος είναι πραγματικά ότι δεν *έχουμε καθορίσει γραμματοσειρά χωρίς πατούρες για τα εβραϊκά*. Ας το διορθώσουμε προσθέτοντας έναν ορισμό για το `\hebrewfontsf`:

```latex
\newfontfamily\hebrewfontsf[Script=Hebrew]{Miriam CLM}
```

Και τώρα έχουμε το αποτέλεσμα:

![](/files/9fcd88c7bd543cb72b9f1569fc5b14a5f8d436e3)

Αν προκύψει ανάγκη, θα μπορούσαμε επίσης να ορίσουμε μια μονοπλάτη γραμματοσειρά για χρήση με το `\hebrewfonttt`.

## Ευχαριστίες

Όλα τα αποσπάσματα lorem ipsum, σε διάφορες γλώσσες, προέρχονται από [`https://lipsum.com`](https://lipsum.com).


---

# 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/glosses/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.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.
