Στοχος του εργαστηριου ειναι να εξοικειωθητε με τη βασικη χρηση
του LaTeX. Θα δειτε πως μπορει κανεις να γραψει απλα κειμενα στη
γλωσσα αυτη, να αλλαξει τις γραμματοσειρες, να γραψει μαθηματικους
τυπους, λιστες, πινακες και να εισαγει στο κειμενο εικονες και σχηματα.
Η αρχικη επαφη του χρηστη με το LaTeX μπορει να ειναι λιγοτερο φιλικη
απο τους μορφοποιητες κειμενου των πακετων γραφειου. Αφου ομως ο
χρηστης εξοικειωθει με τις βασικες εντολες και διαδικασιες παραγωγης
του κειμενου, το LaTeX γινεται ενα ισχυρο εργαλειο για την παραγωγη
υψηλης ποιοτητας εγγραφων. Η γλωσσα αυτη γινεται ιδιαιτερα παραγωγικη
οταν απαιτηται κειμενο με δομη επιστημονικου συγγραμματος με
εκτεταμενη χρηση αναφορων στη βιβλιογραφια η κινητων σημειων του
κειμενου καθως και η παρουσιαση πολυπλοκων μαθηματικων τυπων.
Προετοιμασια
Απο τη σελιδα της 10ης διαλεξης κατεβαστε τα βασικα κειμενα
(D. R. Wilkins, Getting Started with LaTeX και H. J. Greenberg, A
Simplified Introduction to LaTeX) και αναζητηστε τα θεματα που
συζητηθηκαν στη διαλεξη. Το δευτερο κειμενο ειναι πιο αναλυτικο και
μπορει να διαβαστει ως εχει. Αν προτιμησετε το (πιο συντομο) πρωτο κειμενο,
πρεπει να συμπληρωσετε τη μελετη σας με το κεφαλαιο (παραγραφος 6.3)
απο το δευτερο που αναφερεται στην εισαγωγη γραφικων στο κειμενο.
Κατεβαστε στην περιοχη σας το παρακατω αρχειο. Ειναι ενα gzip
συμπιεσμενο αρχειο τυπου tar που περιεχει αρχεια που θα χρησιμοποιηστε
στην ασκηση.
Ενω ειστε στο "σπιτι" σας ~/ , ανοιξτε τα
περιεχομενα του με την εντολη: tar xvfz latex.tgz
Στο Εργαστηριο:
Μεταφερθητε στον υποκαταλογο ~/Ergasthria/10/ Εκει θα βρητε υποκαταλογους της
μορφης phase01, phase02, ... , phase08. Καλα το καταλαβατε: Η εκπαιδευση σας στο
LaTeX θα γινει σε 8+1 φασεις - το +1 αναφερεται στα παραδειγματα στον
υποκαταλογο paradeigmata. Καθε φορα που
αναφερομαστε στην αντιστοιχη φαση, θα υποθετουμε πως βρισκεστε στον
αντιστοιχο υποκαταλογο. Ο νοων νοειτω....
Επισκευθειτε την σελιδα με τις ανακοινωσεις του μαθηματος για
σημαντικες ανακοινωσεις. Ολες οι ανακοινωσεις για το μαθημα/εξετασεις θα
βρισκονται μονο στη σελιδα αυτη.
Φαση 1: Δειτε τα περιεχομενα του
υποκαταλογου. Το αρχειο που περιεχει κειμενο για LaTeX ειναι το Basic.tex. Ανοιξτε το με τον emacs
emacs Basic.tex
&
Οι λεξεις που αρχιζουν με backslash \ ειναι
εντολες στο LaTeX. Τα υπολοιπα ειναι κειμενο. Παντοτε η πρωτη εντολη
στο LaTeX ειναι η
\documentclass[XXX]{xxxxxx}
οπου xxxxxx ειναι ο τυπος
στου εγγραφου που θα γραψουμε (article, book, letter, report, .... )
ενω [XXX] ειναι ορισμενες
επιλογες που μπορουμε να περασουμε στο προγραμμα (π.χ. [12pt]
αναφερεται στο μεγεθος της γραμματοσειρας). Το κειμενο ειναι παντοτε
μεταξυ των εντολων
\begin{document}
\end{document}
Το αρχειο με το κειμενο και τις εντολες πρεπει να μεταγλωττιστει
(compiled) απο το LaTeX για να ερθει σε μια μορφη που να ειναι
μορφοποιημενο και να
μπορει να τυπωθει ή να δειχθει απο καποια εξωτερικη εφαρμογη. Η σειρα
των εντολων ειναι
latex Basic latex Basic dvips Basic.dvi -o Basic.ps gv Basic.ps &
Παρατηρηστε οτι η πρωτη εντολη δινεται δυο φορες. Αυτο ειναι αναγκαιο
για να ενημερωνεται ο καταλογος των αναφορων στις εξισωσεις, κεφαλαια
κλπ που ειναι δυνατον να υπαρχουν στο κειμενο. Παρατηρηστε πως οταν
τρεχει το LaTeX δινει μια σειρα απο μυνηματα που μας δινουν
πληροφοριες για το πως εξελισσεται η μεταγλωττιση. Αν ολα πανε καλα,
μετα απο την εκτελεση των παραπανω εντολων θα δουμε με την εντολη
gv το κειμενο. Αν εχουμε
κανει λαθη, τοτε το LaTeX θα παραπονεθει, θα μας πει για πιο λογο και
θα σταματησει να τρεχει. Εμεις διορθωνομε τα λαθη μας και
επαναλαμβανουμε τη διαδικασια. Μπορουμε να τυπωσουμε αυτο που γραψαμε
(μην το κανετε ακομη) με την εντολη
lpr -Plpc3
Basic.ps
η μεσα απο το gv με το κουμπι Print All πληκτρολογωντας στον διαλογο που
προκυπτει την εντολη lpr
-Plpc3 Η επιλογη
-Plpc3 δινει το ονομα του εκτυπωτη (lpc3) που θελουμε
να τυπωσει το κειμενο μας. Δειτε οτι ο υποκαταλογος περιεχει
καινουργια αρχεια:
Basic.aux Basic.dvi Basic.log Basic.ps
Basic.tex
Το Basic.ps ειναι σε γλωσσα postscript,
καταλληλο για τυπωμα. Το Basic.dvi περιεχει
τον κωδικα μορφοποιησης και ειναι δυνατον να το δειτε με την εντολη
xdvi Basic.dvi
&
Τα Basic.aux και Basic.log ειναι βοηθητικα αρχεια, και μπορειτε να
τα καθαριζετε. Ειναι δυνατον να βρητε και αλλα βοηθητικα αρχεια σε
αλλες περιπτωσεις.
Για να απλουστευσουμε τη ζωη μας στο εργαστηριο αυτο (και οχι
μονο) σας δινουμε ενα προγραμμα να κανει τις παραπανω εντολες
μαζι. Ελεγξτε πως εχετε το αρχειο ~/bin/gvtex, πως ο καταλογος ~/bin ειναι στο $path και μετα εκτελεστε την εντολη
rehash which
gvtex
Αν ολα ειναι σωστα τοτε η εντολη gvtex
ειναι στη διαθεση σας. Δωστε την εντολη:
gvtex
Basic
και παρατηρηστε πως ολες οι εντολες εκτελουνται μαζι, και βλεπετε το
κειμενο σας αυτοματα με το gv. Για να
βγειτε απο το gv πληκτρολογηστε q εχοντας επιλεξει το παραθυρο του gv ή επιλεξτε File->Quit
Φαση 2: Ανοιξτε το αρχειο BasicText.tex απο τον emacs. Σας θυμιζουμε πως η εντολη δινεται
πληκτρολογωντας C-x C-f και εισαγοντας
το ονομα του αρχειου:
Find File:
~/Ergasthria/10/phase02/BasicText.tex Διαβαστε τι
λεει το αρχειο. Εν περιληψει σας λεει πως για να μορφοποιησετε απλο
κειμενο αρκει να το γραφετε οπως σας αρεσει χωριζοντας τις
παραγραφους με μια κενη γραμμη. Προσεξτε πως δεν εχει σημασια πως
κοβετε τις γραμμες στο αρχειο σας. Το LaTeX θα βαλει το κειμενο παντα
με τον ιδιο τροπο. Οτιδηποτε δεξια απο τον χαρακτηρα % ειναι σχολια και αγνοουνται απο το
LaTeX. Ορισμενοι χαρακτηρες εχουν ειδικη σημασια. Βρητε ποιοι ειναι
μεσα στο κειμενο και πως μπορει κανεις να τους τυπωσει.
Εκτελεστε την εντολη
gvtex
BasicText
και παρατηρηστε πως μορφοποιηται το κειμενο. Προσθεστε δικο σας
κειμενο κατα βουληση για να δειτε πως μεταβαλλεται.
Φαση 3: Τωρα θα μελετησουμε πως
μπορουμε να χωρισουμε το κειμενο μας σε κεφαλαια. Ανοιξτε με τον
emacs το αρχειο Sections.tex. Μορφοποιηστε το κειμενο με την
εντολη gvtex. Παρατηρηστε τον
χωρισμο του κειμενου σε κεφαλαια (sections), υποκεφαλαια
(subsections) και σε υπουποκεφαλαια (subsubsections). Αλλαξτε τους
τιτλους κατα βουληση και επαναμορφοποιηστε το κειμενο.
Δειτε πως μπορουμε να αναφερομαστε σε ενα κεφαλαιο: Προσθεστε
την εντολη \label{mysection} μετα την
γραμμη \subsubsection{Another level of
sectioning}. Τοποθετηστε την εντολη As we
saw in section \ref{mysection} σε διαφορετικα σημεια του
κειμενου. Επαναμορφοποιηστε. Τι παρατηρητε;
Ανοιξτε το αρχειο Article.tex στον
emacs και μετα μορφοποιηστε
το. Παρατηρηστε στο μορφοποιημενο πως εισαγεται ο τιτλος, τα ονοματα
των συγγραφεων και η περιληψη του αρθρου. Δειτε τις αντιστοιχες
εντολες \title, \author, \abstract, \maketitle,
\tableofcontents. Βαλετε το ονομα σας και τη διευθυνση σας
στους συγγραφεις του αρθρου.
Το αρχειο Book.tex ειναι σχεδον ιδιο
με τοArticle.tex. Η διαφορα του ειναι οτι
ανηκει στο \documentclass{book}. Παρατηρηστε τη διαφορα στο
μορφοποιημενο κειμενο.
Φαση 4: Τωρα θα μελετησουμε πως
μπορουμε να μεταβαλλουμε την εμφανιση των γραμματοσειρων. Ανοιξτε το
αρχειο Size.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που αλλαζουν το μεγεθος της
γραμματοσειρας.
Ανοιξτε το αρχειο Font.tex και
κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που αλλαζουν το ειδος της γραμματοσειρας.
Φαση 5: Ωρα για μαθηματικα! Ελπιζω
να μην πιαστητε αδιαβαστοι γιατι ο βαθμος σας θα επηρεασει και τα
αντιστοιχα μαθηματα! Ανοιξτε το
αρχειο Math.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που δινουν τους τυπους που
εμφανιζονται. Με το χαρακτηρα $
εγκαταλειπουμε την λειτουργια κειμενου (text mode) και μπαινουμε σε
λειτουργια μαθηματικου κειμενου (math mode). Επανερχομαστε στην
αρχικη κατασταση με ενα δευτερο $. Προσοχη: Μια συχνη πηγη λαθους ειναι να
ξεχναμε το δευτερο $. Με τον τροπο αυτο
εισαγουμε μαθηματικους τυπους μεσα στο κειμενο. Αν θελουμε να μπαινει
η εξισωση κεντραρισμενη και σε δικια της γραμμη βαζουμε $$ αντι για $. Αν
θελουμε η εξισωση μας να αριθμηθει ωστε να αναφερθουμε σε αυτην
αργοτερα πρεπει να μπουμε σε περιβαλλον εξισωσης (equation
environment) με
\begin{equation}
....
\end{equation}
Παρατηρηστε στην τελευταια εξισωση του αρχειου πως μπορουμε να
αναφερθουμε στην εξισωση με τις εντολες \label,
\ref
Ανοιξτε το
αρχειο Formula.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εξισωσεις της πρωτης σελιδας. Πρωτα δειτε
πως φτιαχνεται ενα κλασμα με την εντολη \frac{αριθμητης}{παρονομαστης}. Στη συνεχεια
δειτε πως μπαινουν οι δυναμεις και οι δεικτες στις διαφορες
μεταβλητες. Π.χ. πως το x2 n γραφεται εισαγοντας x^{2n}
και το vi γραφεται εισαγοντας v_{i}
Προσπαθηστε να γραψετε μερικους απλους τυπους στο αρχειο που να εχουν
λ.χ. ρητες συναρτησεις.
Παρατηρηστε πως γραφονται η τετραγωνικες και ανωτερης ταξης ριζες.
Στην δευτερη σελιδα του μορφοποιημενου κειμενου βλεπετε πως
γραφονται διανυσματα και παραγωγοι ενω στην τριτη ορια, ολοκληρωματα,
αθροισματα κλπ. Στην τεταρτη γινεται μια επιδειξη πιο πολυπλοκου
κειμενου (μην ψαξετε τις λεπτομερειες στη φαση αυτη, απλα δειτε τις
δυνατοτητες).
Δειτε ενα καταλογο με μαθηματικα συμβολα που υπαρχουν στο LaTeX
με την εντολη
gv
Symbols.ps.gz&
Ανοιξτε το
αρχειο NewCommand.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε πως με την εντολη \newcommand μπορω να ορισω κειμενα ή πολυπλοκους
μαθηματικους τυπους να δινονται με απλες εντολες της δικιας μου
προτιμησης. Ειδικα προσεξτε πως μπορω να εισαγω μεταβλητο κειμενο
οπως γινεται με την εντολη \ii{μεταβλητη}. Τι γινεται με τις εντολες
\ii{x+2}, \ii{1/x}, \ii{\log x};
Φαση 6: Θα δουμε πως μπορουμε να
φτιαχνουμε λιστες. Ανοιξτε το
αρχειο Lists.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που δινουν λιστες αριθμημενες και μη. Για
το λογο αυτο πρεπει να μπουμε στο αναλογο περιβαλλον enumerate ή itemize
και να εισαγουμε τα στοιχεια της λιστας με εντολες \item. Η αριθμηση τη λιστας γινεται
αυτοματα. Επισης παρατηρηστε πως τα στοιχεια μιας λιστας μπορει να
ειναι αλλες λιστες κ.ο.κ.
Φαση 7: Θα δουμε πως μπορουμε να
φτιαχνουμε πινακες. Ανοιξτε το
αρχειο Tables.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που φτιαχνουν εναν πινακα. Εκτος απο τις
εντολες που μας βαζουν στο περιβαλλον πινακα (tabular) δειτε το ορισμα της μορφης
{l l l} ή
{c c c} ή
{r r r}. Αυτο καθοριζει ποσες
στηλες θα
εχει ο πινακας (=3 στην περιπτωση μας, =αριθμο γραμματων l ή c ή r σε
αλλες περιπτωσεις). l=left, r=right, c=center και καθοριζει αν η
στοιχιση της στηλης γινεται αριστερα, δεξια ή στο κεντρο
αντιστοιχα. Δειτε τη διαφορα στον τριτο πινακα του αρχειου. Αν
βαλουμε καθετες γραμμες | μεταξυ των
γραμματων (π.χ. {|l | c | r |}, τοτε ο
πινακας ζωγραφιζεται με γραμμες μεταξυ των
στηλων. Για να κανουμε οριζοντιες γραμμες χρησιμοποιουμε την εντολη
\hline. Σε καθε γραμμη του πινακα,
χωριζουμε τα στοιχεια καθε στηλης με το χαρακτηρα & ενω αλλαζουμε γραμμη με \\. Δοκιμαστε να προσθεσετε γραμμες και
στηλες στους πινακες του αρχειου.
Φάση 8: Θα δουμε πως μπορουμε να
εισαγουμε σχηματα σε ενα κειμενο. Ανοιξτε το
αρχειο Figures.tex και κατοπιν μορφοποιηστε
το. Παρατηρηστε τις εντολες που εισαγουν το σχημα στο κειμενο. Το
σχημα βρισκεται σε εξωτερικο αρχειο σε μορφη eps (encapsulated postscript). Τετοια σχηματα
μαθαμε να παραγουμε στο προηγουμενο εργαστηριο με το xfig και το gnuplot. Για την εισαγωγη σχηματων πρεπει να
χρησιμοποιησουμε το προαιρετικο πακετο graficx του LaTeX, το οποιο εισαγεται στη
μεταγλωττιση με την εντολη \usepackage[dvips]{graphicx}. Οι εντολες
εισαγωγης του σχηματος ειναι οι \includegraphics[height=8cm]{nqser.eps} οπου
nqser.eps ειναι το αρχειο με το σχημα και η
επιλογη height καθοριζει το υψος του
σχηματος σε εκατοστα στο κειμενο. Εξεταστε το αποτελεσμα των επιλογων
width και angle
στην τοποθετηση του σχηματος μεταβαλλοντας τα. Παρατηρηστε οτι στο
περιβαλλον figure τα σχηματα αριθμουνται
αυτοματα ενω με την εντολη \caption
μπορουμε να εισαγουμε κειμενο που να τα περιγραφει. Το περιβαλλον
figure δεν ειναι απαραιτητο για την
εισαγωγη του σχηματος, απλα ρυθμιζει που θα τοποθετηθει το σχημα, την
αριθμηση, την περιγραφη του και την αναφορα σε αυτο στο κειμενο (με
τις εντολες \label, \ref).
Για να παρετε υπογραφη σημερα στα ερωτηματολογια πρεπει να
κανετε ... γραπτη αιτηση. Στον υποκαταλογο ~/Ergasthria/10/paradeigmata/Gramma/ θα βρητε υποδειγμα
γραμματος. Δειτε πρωτα μορφοποιωντας το ποια ειναι τα στοιχεια του
και πως καθοριζονται. Στη συνεχεια υποβαλλετε την αιτηση σε δικο σας
γραμμα με τα στοιχεια του αποστολεα δικα σας (με διευθυνση κλπ),
παραληπτη τον βοηθο σας (με διευθυνση Τμημα Φυσικης, Πανεπιστημιο
Κρητης, 710 03 Ηρακλειο, τηλ. 2810394300, φαξ 2810394301) και
σημερινη ημερομηνια. Τυπωστε το (δειτε παραπανω πως...), υπογραψτε το
και ελπιζω η αιτηση σας να .... γινει δεκτη. Τα παραπονα σας στο
συνηγορο του πολιτη.
Καθαριστε τους υποκαταλογους στους οποιους τρεξατε το LaTeX,
ιδιως απο τα αρχεια .ps, .dvi. Πιανουν
αρκετο χωρο και μπορει να συνεισφερουν στο γεμισμα της περιοχης σας.