Hyphenation - Υφενώσεις

Από mechpedia

Μετάβαση σε: πλοήγηση, αναζήτηση

Πίνακας περιεχομένων

Γενικά

Για να λειτουργήσουν σωστά οι υφενώσεις (hyphenations), πρέπει να έχουν φορτωθεί οι αντίστοιχοι κανόνες συλλαβισμού. Οι κανόνες αυτοί είναι φυσικά διαφορετικοί για κάθε γλώσσα. Για ελληνικά κείμενα με XeLaTeX υπάρχουν 2 επιλογές, το πακέτο xgreek και το πακέτο polyglossia.

xgreek

Το πακέτο xgreek του Α. Συρόπουλου μπορεί να καλεστεί με 3 διαφορετικές επιλογές οι οποίες επιτρέπουν να φορτώνονται οι ελληνικοί κανόνες συλλαβισμού για:

  • Μονοτονικό σύστημα (\usepackage[monogreek]{xgreek}). H επιλογή αυτή είναι η default.
  • Πολυτονικό σύστημα (\usepackage[polygreek]{xgreek}).
  • Αρχαία ελληνικά (\usepackage[ancientgreek]{xgreek}).

Εκτός από τους κανόνες συλλαβισμού ορίζει αριθμούς σύμφωνα με το ελληνικό αλφαβητικό σύστημα αρίθμησης και το ακροφωνικό σύστημα αρίθμησης.

Polyglossia

Με το πακέτο polyglossia η φόρτωση των ελληνικών κανόνων συλλαβισμού γίνεται ως εξής:

\usepackage{polyglossia}

\setmainlanguage[variant=mono]{greek}

Για τη δήλωση και άλλης, εκτός της ελληνικής γλώσσας, δίνεται η ακόλουθη εντολή:

\setotherlanguage{english,french,german,...}

Υφενώσεις σε πολυγλωσσικά κείμενα

Σε περίπτωση που θέλουμε να στοιχειοθετήσουμε πολυγλωσσικά κείμενα, είναι απαραίτητο αφενός να έχουμε φορτώσει τους απαιτούμενους κανόνες συλλαβισμού και αφετέρου να δηλώσουμε τη γλώσσα στην οποία ανήκει το κείμενο (ή η φράση ή η λέξη) ώστε να χρησιμοποιηθούν οι σωστοί κανόνες συλλαβισμού. Για κείμενα στα οποία χρησιμοποιούνται 3 ή περισσότερες γλώσσες συνίσταται η χρήση του πακέτου polyglossia. Για κείμενα με ελληνικά και άλλη μία γλώσσα προτείνεται το xgreek.

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

xgreek
% This command allows the use of both english and greek text with correct hyphenation.
% Engish text must be placed in braces. Example:
% Ελληνικό κείμενο και \en{English text}. Ξανά ελληνικό κείμενο.
\newcommand{\en}[1]{\setlanguage{american}#1\setlanguage{monogreek}}
Polyglossia

Η αντίστοιχη μακροεντολή για το Polyglossia είναι η ακόλουθη:

\newcommand{\en}[1]{\begin{english}#1\end{english}}

Αυτόματες υφενώσεις σε δίγλωσσα κείμενα

Ένας άλλος τρόπος για να χρησιμοποιηθούν παράλληλα οι κανόνες υφένωσεις 2 γλωσσών, είναι να χρησιμοποιηθεί low - level XeLaTeX, το οποίο έχει τη δυνατότητα να αναγνωρίζει και να ομαδοποιεί τις διαφορετικές γλύφες (συνήθως κατά Unicode Blocks), εκτελώντας αυτόματα κώδικα όταν γίνεται η μετάβαση από τη μια ομάδα γλυφών στην άλλη. Περισσοτερες πληροφορίες μπορούν να βρεθούν στο βιβλίο του Συρόπουλου ενότητα 9.4 και ΕΔΩ σελ 14

Υπάρχει ο εξής περιορισμός. Για τα μέλη του ίδιου Unicode Block (πχ, Greek and Coptic, ή Basic Latin χρησιμοποιούνται υποχρεωτικά οι ίδιοι ακριβώς κανόνες. Πρακτικά αυτό σημαίνει ότι

  • μπορουν να χρησιμοποιηθούν οι κανόνες συλλαβισμού μόνο μίας ξένης γλώσσας με λατινική γραφή (δηλ. μόνο αγγλικά ή μόνο γαλλικά)
  • μπορεί να χρησιμοποιηθεί μόνο μια εκδοχή των κανόντων συλλαβισμού των ελληνικών (ένα εκ των monogreek, polygreek ή ancientgreek)

Υπάρχουν 2 περιπτώσεις, που μπορεί να χρησιμοποιηθεί η μέθοδος. Με το πακέτο:

  1. Xgreek (κύρια γλώσσα τα ελληνικά).
  2. Polyglossia (τα ελληνικά μπορεί να είναι είτε δευτερεύουσα είτε κύρια γλώσσα).

Και στις 2 περιπτώσεις, απαιτείται να χρησιμοποιηθεί το πακέτο ucharclasses. Παραδείγματα χρήσης για ελληνο-αγγλικά κείμενα μπορούν να βρεθούν στα ακόλουθα Minimum Working Examples.

xgreek
\documentclass[a4paper,draft]{article} 

\usepackage[Greek,Latin]{ucharclasses}

% Language declaration
\usepackage{xltxtra,xgreek}

\setTransitionsForGreek{\setlanguage{greek}}{\setlanguage{american}} % Instead of american, any other language can be used

% Fonts
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}

\begin{document}
Just some dummy english text and now some inline greek. Χωρίς τις ενοχλητικές δηλώσεις γλώσσας!
And again some english text. Continuing to show the hyphenation.
\end{document}
Polyglossia (greek as the main language)
\documentclass[a4paper,draft]{article} 

\usepackage[Greek,Latin]{ucharclasses}

% Language declaration
\usepackage{xltxtra}

\usepackage{polyglossia}
\setmainlanguage{greek}
\setotherlanguages{english}

\setTransitionsForGreek{\selectlanguage{greek}}{\selectlanguage{english}}

% Fonts
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}

\begin{document}
Just some dummy english text and now some inline greek. Χωρίς τις ενοχλητικές δηλώσεις γλώσσας!
And again some english text. Continuing to show the hyphenation.
\end{document}

Χειροκίνητες υφενώσεις

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

  • Εισάγοντας την escape sequence "\-" μέσα στη λέξη, πχ Supercalifragilisti\-cexpialidocious
  • Δίνοντας την εντολή \hyphenation{}. Μέσα στις αγκύλες δίνεται η λέξη που θέλουμε να υφενωθεί βάζοντας παύλες όπου επιτρέπουμε να γίνουν οι υφενώσεις. Πχ \hyphenation{Su-per-ca-li-fra-gi-li-sti-cex-pi-a-li-do-ci-ous ho-ri-zon hy-phe-na-tion}

Δείτε επίσης

Εμφανίσεις
Προσωπικά εργαλεία
Google AdSense