Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
180
content/articles/04/05_babel.md
Κανονικό αρχείο
180
content/articles/04/05_babel.md
Κανονικό αρχείο
|
@ -0,0 +1,180 @@
|
|||
+++
|
||||
title = 'Η ελληνική επιλογή του πακέτου babel του LaTeX'
|
||||
date = '1998-04-01T00:00:00Z'
|
||||
description = ''
|
||||
author = 'Απόστολος Συρόπουλος'
|
||||
issue = ['Magaz 04']
|
||||
issue_weight = 5
|
||||
+++
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Σύλλογος Ελλήνων Φίλων του TeX. 28ης Οκτωβρίου 366, 671 00 Ξάνθη, [apostolo\@obelix.ee.duth.gr](mailto:apostolo@obelix.ee.duth.gr?Subject=Magaz-article).*
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
**1. Εισαγωγή**
|
||||
---------------------------------------
|
||||
|
||||
**2. Πώς φτάσαμε στην ελληνική επιλογή?**
|
||||
-----------------------------------------------------------------
|
||||
|
||||
**3. Η χρήση της ελληνικής επιλογής**
|
||||
-------------------------------------------------------------
|
||||
|
||||
**4. Τα πακέτα των grtools**
|
||||
----------------------------------------------------
|
||||
|
||||
**5. Το βιβλιογραφικό στυλ hellas**
|
||||
-----------------------------------------------------------
|
||||
|
||||
**6. Το μέλλον**
|
||||
----------------------------------------
|
||||
|
||||
|
||||
### [1. Εισαγωγή]{#s1}
|
||||
|
||||
Το πακέτο babel, του συστήματος προετοιμασίας εγγράφων LaTeX, είναι η πιο σημαντική προσπάθεια στην καθιέρωση ενός μηχανισμού πολυγλωσσικής επεξεργασίας με
|
||||
αυτό. Το πακέτο babel, το οποίο σχεδιάστηκε από τον Ολλανδό Johannes Braams, δίνει τη δυνατότητα στο χρήστη του LaTeX να γράφει κείμενο σε όλες σχεδόν τις
|
||||
ευρωπαϊκές γλώσσες, μεταξύ των οποίων τα ελληνικά και τα ρωσικά. Το LaTeX, πνευματικό παιδί του Leslie Lamport, είναι μια φόρμα του TeX, του πασίγνωστου
|
||||
συστήματος ψηφιακής στοιχειοθεσίας του Donald Knuth.
|
||||
|
||||
Εδώ και δύο, τουλάχιστον, δεκαετίες το TeX είναι εκείνο το σύστημα που χρησιμοποιείται περισσότερο από οποιοδήποτε άλλο για την προετοιμασία επιστημονικών,
|
||||
κυρίως, κειμένων αλλά και κειμένων όπου η ποιότητα εμφάνισης αποτελεί βασικό ζητούμενο. Με την εμφάνιση της γλώσσας προγραμματισμού εκτυπωτών PostScript της
|
||||
Adobe, οι φανατικοί φίλοι του TeX βρήκαν τρόπους συνεργασίας των δύο γλωσσών, με αποτέλεσμα τη δημιουργία ενός πανίσχυρου συνδυασμού εργαλείων. Με την εμφάνιση
|
||||
της έκδοσης 3 του TeX έγινε δυνατή η ταυτόχρονη επεξεργασία κειμένου σε 256 διαφορετικές γλώσσες. Αυτή η ιδιαίτερη δυνατότητα του TeX αποτέλεσε τη βάση για
|
||||
πολλές προσπάθειες ενσωμάτωσης κάποιας μορφής πολυγλωσσικής επεξεργασίας στο LaTeX, της πιο γνωστής μορφής του TeX. Η πιο ολοκληρωμένη προσπάθεια, η οποία έγινε
|
||||
αμέσως δημοφιλής, είναι το πακέτο babel. Βέβαια αξίζει να τονισθεί ότι ούτε το TeX, κατά συνέπεια και το babel, επιτρέπουν τη στοιχειοθεσία κειμένων σε γλώσσες
|
||||
όπως τα αραβικά, εβραϊκά, μογγολικά, κινέζικά, κλπ. Για τέτοιες γλώσσες θα πρέπει κανείς να χρησιμοποιήσει το **Ω** των Γιάννη Χαραλάμπους και John Plaice.
|
||||
|
||||
Ομως τι ακριβώς κάνει πακέτο babel? Φορτώνει τους κανόνες συλλαβισμού της τρέχουσας γλώσσας εργασίας, έτσι ώστε να γίνεται σωστά ο συλλαβισμός των λέξεων.
|
||||
Επιπλέον, εξασφαλίζει ότι όλες οι λέξεις-κλειδιά, όπως κεφάλαιο, θεώρημα, κτλ, θα εμφανίζονται στην τρέχουσα γλώσσα εργασίας. Τέλος, λαμβάνει υπ\' όψη του τις
|
||||
διάφορες στοιχειοθετικές ιδιαιτερότητες της τρέχουσας γλώσσας εργασίας.
|
||||
|
||||
|
||||
### [2. Πώς φτάσαμε στην ελληνική επιλογή?]{#s2}
|
||||
|
||||
Στις αρχές του 1995 ο συγγραφέας αγόρασε το LaTeX Companion, το μόνο βιβλίο της εποχής που περιέγραφε τα περισσότερα πακέτα ή/και συστήματα που ήταν διαθέσιμα
|
||||
για χρήση με το LaTeX. Μεταξύ των άλλων το βιβλίο αναφερόταν στην πολύγλωσση επεξεργασία και φυσικά στο πακέτο babel. Προς έκπληξή του διαπίστωσε πως
|
||||
υποστηρίζονταν γλώσσες όπως τα βασκικά ή τα τουρκικά, ενώ δεν υποστηρίζονταν τα ελληνικά! (Σας θυμίζω ότι το όνομα TeX προέρχεται από την ελληνική ρίζα
|
||||
**τεχ**\...) Ομως κάθε τι που αφορά το TeX προέρχεται από την αφιλοκερδή συνεισφορά των χρηστών του συστήματος σε όλο τον κόσμο. Φαίνεται λοιπόν ό,τι είτε οι
|
||||
Ελληνες δεν χρησιμοποιούσαν το TeX, είτε το χρησιμοποιούσαν μόνο για μη-ελληνικά κείμενα. Τα γεγονότα δείξανε ότι η δεύτερη περίπτωση ήταν αυτή που
|
||||
ανταποκρίνονταν στην αλήθεια.
|
||||
|
||||
Είναι αλήθεια ότι ο Κωστής Δρυλλεράκης αλλά και ο Γιάννης Μοσχοβάκης δημιουργήσανε συστήματα για την επεξεργασία ελληνικού κειμένου, καμία όμως από αυτές τις
|
||||
προσπάθειες δεν ήταν δυνατό να χρησιμοποιηθεί εύκολα σε εγκαταστάσεις του TeX εκτός Ελλάδος\... Βέβαια αυτό δεν ήταν το πιο σημαντικό τους μειονέκτημα το οποίο
|
||||
ήταν η μη-δυνατότητα συνεργασίας με την νέα έκδοση του LaTeX: το LaTeX2ε. Αυτό το γεγονός μαζί με τα παραπάνω αποτέλεσαν το έρεισμα για την μετέπειτα δουλειά
|
||||
στην ελληνική επιλογή του πακέτου babel.
|
||||
|
||||
Αρχικά χρησιμοποιήθηκε μία συλλογή ανομοιογενών γραμματοσειρών, έτσι ώστε να έχει κανείς στη διάθεσή του όλες τις δυνατότητες LaTeX, ενώ υπήρχε πρόνοια μόνο για
|
||||
μονοτονικό κείμενο. Μετά την θερμή υποδοχή που επιφύλαξαν οι χρήστες στην όλη προσπάθεια, άρχισε και ο αγώνας για την βελτίωση του συστήματος. Το πρώτο
|
||||
σημαντικό βήμα έγινε με τις γραμματοσειρές του Claudio Beccari, ο οποίος σε συνεργασία με το συγγραφέα πρόσθεσε χαρακτήρες και βελτίωσε κάποια τεχνικά
|
||||
χαρακτηριστικά αυτών. Η συνέχεια αποτελεί μια προσπάθεια του συγγραφέα με την τεχνική αρωγή του Johannes Braams.
|
||||
|
||||
|
||||
### [3. Η χρήση της ελληνικής επιλογής]{#s3}
|
||||
|
||||
Για να μπορέσει κανείς να γράψει ελληνικά χρησιμοποιώντας την ελληνική επιλογή του πακέτου babel θα πρέπει να βάλει την παρακάτω εντολή στον πρόλογο του κώδικά
|
||||
του την παρακάτω εντολή:
|
||||
|
||||
> \usepackage[greek]{babel}
|
||||
|
||||
Ενώ αν θέλει να γράψει ελληνικά αλλά και π.χ. ιταλικά θα πρέπει να βάλει την εντολή
|
||||
|
||||
> \usepackage[greek,italian]{babel}
|
||||
|
||||
δηλ. οι γλώσσες εργασίας γράφονται με ένα κόμμα μεταξύ των. Όταν οι γλώσσες εργασίας είναι παραπάνω από μία, τότε διαλέγουμε την τρέχουσα γλώσσα εργασίας με την
|
||||
εντολή
|
||||
|
||||
> \selectlanguage{greek}
|
||||
|
||||
Σημειώστε ότι η τελευταία γλώσσα που γράφουμε ως όρισμα της εντολής `\usepackage`, είναι η γλώσσα που θεωρεί το LaTeX ως γλώσσα εργασίας αμέσως μετά την εντολή
|
||||
`\begin{document}`.
|
||||
|
||||
Υπάρχουν δύο τρόποι με τους οποίους μπορεί κανείς να γράψει το ελληνικό του κείμενο:
|
||||
|
||||
- είτε γράφοντας ελληνικά χρησιμοποιώντας το αγγλικό αλφάβητο, όπως για παράδειγμα γινόταν και γίνεται με το ηλεκτρονικό ταχυδρομείο,
|
||||
- είτε γράφοντας απ\' ευθείας ελληνικά iso8859-7.
|
||||
|
||||
Στη δεύτερη περίπτωση θα πρέπει να χρησιμοποιήσουμε το πακέτο `inputenc` με ενεργή την επιλογή `iso-8859-7`, δηλ.:
|
||||
|
||||
> \usepackage[iso-8859-7]{inputenc}
|
||||
|
||||
Στην πρώτη περίπτωση θα πρέπει να γνωρίζουμε την αντιστοιχία που υπάρχει:
|
||||
|
||||
> α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω
|
||||
> a b g d e z h j i k l m n x o p r s c t u f q y w
|
||||
|
||||
Ο τονισμός των γραμμάτων γίνεται βάζοντας το τονικό σύμβολο πριν από το φωνήεν, π.χ., η λέξη νερό θα πρέπει να γραφεί ως `ner'o`. Όμως η ελληνική επιλογή
|
||||
επιτρέπει τη συγγραφή και πολυτονικού κειμένου. Οι συμβάσεις που αφορούν τη συγγραφή πολυτονικού κειμένου είναι οι εξής: `` "`" `` (βαρεία), `"~"`
|
||||
(περισπωμένη), `"<"` (δασεία), `">"` (ψιλή) και `"|"` (υπογράμμιση). Αν θέλετε να γράψετε πολυτονικό κείμενο γράφοντας σε `iso8859-7`, θα πρέπει να βάζετε τα
|
||||
πνεύματα ή τα άλλα τονικά σύμβολα σαν να γράφατε ελληνικά με αγγλικούς χαρακτήρες, π.χ., `<ένας`, κτλ.
|
||||
|
||||
Ένα άλλο χαρακτηριστικό αποτελούν τα διάφορα σύμβολα στίξης, τα οποία είναι τα ίδια με αυτά που χρησιμοποιούνται στην αγγλική γλώσσα. Έτσι το `;` αντιστοιχεί
|
||||
στην άνω τελεία, το `?` στο ερωτηματικό, κτλ. Τα εισαγωγικά σημειώνονται ως δύο παρενθέσεις: δεξιές ή αριστερές. Για παράδειγμα το σύμβολο `«` παράγεται από τα
|
||||
σύμβολα `((`.
|
||||
|
||||
Όταν χρησιμοποιούμε την ελληνική επιλογή, τότε αυτόματα αλλάζει ο τρόπος που γίνεται η αρίθμηση σε παραρτήματα, υποσημειώσεις σελίδας-νάνου, κτλ. Σε όλες αυτές
|
||||
τις περιπτώσεις χρησιμοποιείται το ελληνικό αλφαβητικό σύστημα αρίθμησης, δηλ. α\', β\', γ\', κτλ. Επιπλέον, παρέχονται οι εντολές `\Greeknumeral` και
|
||||
`\greeknumeral` οι οποίες δέχονται ως όρισμα ένα ακέραιο αριθμό και παράγουν τον αντίστοιχο ελληνικό αλφαβητικό αριθμό σε κεφαλαία και πεζή μορφή αντίστοιχα.
|
||||
Έτσι για παράδειγμα η εντολή `\greeknumeral{12}` παράγει τον αριθμό `ιβ'`. Ως γνωστό στην ελληνική τυπογραφία η πρώτη λέξη που ακολουθεί μια επικεφαλίδα
|
||||
γράφεται πιο μέσα όπως στην αλλαγή παραγράφου. Όμως αυτό δεν ισχύει στην αμερικανική τυπογραφία. Έτσι αν θέλετε το κείμενο σας να στοιχειοθετηθεί κατά τον
|
||||
ελληνικό τρόπο, θα πρέπει να χρησιμοποιήσετε το πακέτο `indentfisrt`, δηλαδή θα πρέπει να βάλετε στον πρόλογο του κώδικα σας την παρακάτω εντολή:
|
||||
|
||||
> \usepackage{indentfirst}
|
||||
|
||||
|
||||
### [4. Τα πακέτα των grtools]{#s4}
|
||||
|
||||
Τα πακέτα της σειράς εργαλείων grtools προσφέρουν επιπλέον λειτουργικότητα στην ελληνική επιλογή. Τα πακέτα αυτά είναι: το athnum, το grmath και το grsymb. Το
|
||||
πρώτο παρέχει την εντολή `\athenianumeral` η οποία λειτουργεί όπως η εντολή `\greeknumeral` και παράγει τον αντίστοιχο αθηναϊκό αριθμό. (Οι αθηναϊκοί αριθμοί
|
||||
είναι το σύστημα αρίθμησης που χρησιμοποιούνταν στις αρχαίες Αθήνες και το οποίο έμοιαζε με το ρωμαϊκό σύστημα αρίθμησης. Για περισσότερες πληροφορίες ο
|
||||
ενδιαφερόμενος μπορεί να μελετήσει τον κώδικα του πακέτου, δηλ. το αρχείο `athnum.dtx`.)
|
||||
|
||||
Ως γνωστό, σε κατάσταση μαθηματικού κειμένου υπάρχουν ορισμένες εντολές οι οποίες στοιχειοθετούν σωστά το όνομα διαφόρων συναρτήσεων, όπως του λογαρίθμου (log),
|
||||
κτλ. Στην ελληνική βιβλιογραφία για αρκετές από αυτές τις συναρτήσεις , χρησιμοποιούμε ελληνικά ονόματα, π.χ., λογ αντί για log, κτλ. Το πακέτο `grmath` αλλάζει
|
||||
την προκαθορισμένη συμπεριφορά αρκετών εντολών ονομάτων συναρτήσεων, με αποτέλεσμα αυτές να παράγουν το ελληνικό όνομα της συνάρτησης αντί του αγγλικού. Οι
|
||||
εντολές ονόματα συναρτήσεων που ορίζονται εκ νέου είναι: `\sin`, `\cos`, `\tan`, `\arcsin`, `\arccos`, `\arctan`, `\cot`, `\sec`, `\csc`, `\log`, `\ln`, `\gcd`
|
||||
και `\lcm`. Σημειώστε ότι η εντολή `\lcm` (ελάχιστο κοινό πολλαπλάσιο) είναι νέα εντολή. Έτσι αν δώσουμε την εντολή
|
||||
`$\cos \pi=-1$` το στοιχειοθετημένο αποτέλεσμα θα είναι: **συν π = -1**.
|
||||
|
||||
Η ελληνική επιλογή του πακέτου babel χρησιμοποιεί τις γραμματοσειρές του Claudio Beccari οι οποίες εκτός από τα γράμματα της ελληνικής περιέχουν και αρκετά
|
||||
σύμβολα της ελληνικής γλώσσας όπως για παράδειγμα το σύμβολο για το κόππα (χρησιμοποιείται στην ελληνική αλφαβητική αρίθμηση). Παράλληλα παρέχει και ορισμένα
|
||||
σύμβολα όπως το επί τοις χιλίοις, το σύμβολο του ευρώ (του νέου νομίσματος της Ευρώπης), κ.ά. Εντολές που στοιχειοθετούν τα τρία σύμβολα που χρησιμοποιούνται
|
||||
στην ελληνική αλφαβητική αρίθμηση παρέχει η ελληνική επιλογή του πακέτου babel. Οι δε εντολές που παράγουν τα σύμβολα αυτά είναι: `\sampi`, `\qoppa` και
|
||||
`\stigma`. Αν όμως κάποιος θέλει να χρησιμοποιήσει τα επιπρόσθετα σύμβολα, θα πρέπει να χρησιμοποιεί το πακέτο `grsymb`, το οποίο ορίζει τις εξής εντολές:
|
||||
`\Digamma`, `\ddigamma`, `\Qoppa`, `\varqoppa`, `\Sampi`, `\vardigamma`, `\Stigma`, `\VarQoppa`, `\euro`, `\permill`. Τέλος θα πρέπει να σημειώσουμε ό,τι τα
|
||||
διάφορα πακέτα της παρούσας ενότητας θα πρέπει να χρησιμοποιούνται μόνο σε συνδυασμό με την ελληνική επιλογή του πακέτου babel.
|
||||
|
||||
|
||||
### [5. Το βιβλιογραφικό στυλ hellas]{#s5}
|
||||
|
||||
Ο μέσος χρήστης του LaTeX ετοιμάζει την βιβλιογραφία του κειμένου του χρησιμοποιώντας το πρόγραμμα BibTeX. Δυστυχώς μέχρι πριν από λίγο καιρό αυτό δεν ήταν
|
||||
δυνατό, αφού δεν υπήρχε κανένα βιβλιογραφικό στυλ το οποίο να μπορεί να χειριστεί σωστά μεικτές ή μόνο ελληνικές βιβλιογραφικές αναφορές. Το πρόβλημα αυτό έλυσε
|
||||
η εμφάνιση του βιβλιογραφικού στυλ **hellas**, το οποίο σχεδίασε ο συγγραφέας του παρόντος.
|
||||
|
||||
Η φιλοσοφία σχεδιασμού του στυλ αυτού, το οποίο βασίζεται στο βιβλιογραφικό στυλ **plain**, στηρίζεται στον χωρισμό των βιβλιογραφικών φακέλων σε δύο είδη:
|
||||
*ελληνικούς* και *μη-ελληνικούς*. Η λειτουργικότητα του στυλ για μη-ελληνικούς φακέλους είναι ίδια με αυτή βιβλιογραφικό στυλ plain, με τη διαφορά ότι οι
|
||||
διάφορες λέξεις-κλειδιά, όπως **επιμελητής**, κτλ, εμφανίζονται στα ελληνικά, ενώ τα ονόματα, τίτλοι, κτλ, με λατινικούς χαρακτήρες. Τα ονόματα των διαφόρων
|
||||
μη-ελληνικών βιβλιογραφικών φακέλων, αλλά και των πεδίων είναι τα ίδια με αυτά του βιβλιογραφικού στυλ plain. Όσον αφορά τους ελληνικούς φακέλους θα πρέπει να
|
||||
πούμε ότι τα ονόματα τους ξεκινάνε με το πρόθεμα `gr-`, π.χ., `gr-article`, κτλ. Επιπλέον, δεν υπάρχουν όλα τα είδη βιβλιογραφικών φακέλων, π.χ., προς το παρόν
|
||||
τουλάχιστον δεν έχει νόημα βιβλιογραφικός φάκελος για διατριβή **Master** ή για τεχνική αναφορά (**technical report**). Ένα άλλο χαρακτηριστικό του
|
||||
βιβλιογραφικού στυλ hellas αποτελεί η εισαγωγή ορισμένων νέων πεδίων όπως το `original-title` και το `original-author` τα οποία χρησιμοποιούνται όταν ένα
|
||||
έγγραφο είναι μεν γραμμένο στα ελληνικά, αποτελεί δε μετάφραση ξένου κειμένου. Στο πρώτο πεδίο σημειώνουμε τον πρωτότυπο τίτλο και στο δεύτερο το όνομα του
|
||||
συγγραφέα, ενώ το όνομα του μεταφραστή σημειώνεται ως τιμή του πεδίου translator. Ειδικά στην περίπτωση που έχουμε αδημοσίευτο κείμενο, αν ο συγγραφέας είναι
|
||||
ξένος, τότε ο συγγραφέας και ο τίτλος σημειώνονται ως `foreign-author` και `foreign-title` αντίστοιχα. Αυτό γίνεται επειδή δεν υπάρχει φάκελος με όνομα
|
||||
`gr-unpublished`.
|
||||
|
||||
Ένα πρόβλημα που δυστυχώς δεν λύνει το βιβλιογραφικό στυλ hellas είναι αυτό της σωστής ταξινόμησης των εγγραφών σύμφωνα με το όνομα των συγγραφέων. Αυτό βέβαια
|
||||
οφείλεται στο τρόπο με τον οποίο είναι σχεδιασμένο το πρόγραμμα BibTeX. (Ίσως αν χρησιμοποιήσετε μια 8-bit έκδοση ή κάποιος σχεδιάσει μια έκδοση 16-bit τα
|
||||
προβλήματα εξαφανιστούν.) Έτσι θα πρέπει σε κάθε ελληνική αναφορά να σημειώνουμε και το πεδίο `key` με ανάλογη τιμή. (Για παράδειγμα μια ιδέα μπορεί να είναι να
|
||||
γράφουμε το όνομα του συγγραφέα με λατινικούς χαρακτήρες, κτλ.) Ένα άλλο πρόβλημα προέρχεται από το σύμβολο `~` το οποίο για το BibTeX σημαίνει κενό διάστημα
|
||||
χωρίς αλλαγή γραμμής. Λόγω αυτού του προβλήματος το βιβλιογραφικό στυλ hellas, δυστυχώς, δεν μπορεί να χρησιμοποιήσει τις ευκολίες που συνεπάγεται η χρήση του.
|
||||
|
||||
### [6. Το μέλλον]{#s6}
|
||||
|
||||
Η προσπάθεια για την βελτίωση του τρόπου στοιχειοθεσίας ελληνικού κειμένου με το LaTeX δεν τελειώνει εδώ. Ηδη έχει ετοιμασθεί η επόμενη έκδοση της ελληνικής
|
||||
επιλογής του πακέτου babel στην οποία υπάρχει διαχωρισμός μονοτονικού και πολυτονικού κειμένου. Παράλληλα, γίνεται προσπάθεια από διάφορους για τον σχεδιασμό
|
||||
νέων γραμματοσειρών. Αξίζει να αναφέρουμε τη δουλειά που γίνεται στο Πανεπιστήμιο Ιωαννίνων υπό την επίβλεψη του Στράτου Πάσχου, αλλά και τις ελληνικές
|
||||
γραμματοσειρές του Γιάννη Χαραλάμπους για το **Ω**. Τέλος, γίνονται προσπάθειες για την σωστή παραγωγή ευρετηρίου ελληνικού και μεικτού.
|
||||
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα