... Εισαγωγή στο T E X Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή Τμήμα Πληροφορικής & Τηλεματικής Χαροκόπειο Πανεπιστήμιο 10 Δεκεμβρίου 2012 Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 1/29 10 Δεκεμβρίου 2012 1 / 29
Περιεχόμενα.. 1 Εισαγωγή Ιστορικά στοιχεία Απαιτούμενο λογισμικό. 2 Δομή Ελληνικά και T E X. 3 Βασικές εντολές Γράφοντας μαθηματικά Βιβλιογραφία στο L A T E X Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 2/29 10 Δεκεμβρίου 2012 2 / 29
Τί είναι το T E X. Το T E X είναι ένα typesetting σύστημα Ελεύθερο και ανοιχτό λογισμικό Γλώσσα προγραμματισμού ισοδύναμη με μια μηχανή Turing (το universal υπολογιστικό μοντέλο) Εξελίσσεται μέχρι σήμερα Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 3/29 10 Δεκεμβρίου 2012 3 / 29
Ιστορία του T E X. Το T E X δημιουργήθηκε από τον Donald Knuth στα τέλη της δεκαετίας του 1970 The Art of Computer Programming Όμοτιμος Καθηγητής στο Stanford Turing Award το 1974 Προφέρεται τεχ από την ελληνική λέξη Τέχνη Επιτρέπει στον καθένα να δημιουργήσει υψηλής ποιότητας κείμενα (βιβλία) Δεν είναι ένας επεξεργαστής κειμένου Χρησιμοποιείται από την ακαδημαϊκή κοινότητα, καθώς και από επαγγελματίες ή ερευνητές Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 4/29 10 Δεκεμβρίου 2012 4 / 29
L A T E X. Δημιουργήθηκε επειδή τα πρώτα χρόνια ήταν δύσκολο να γράψει κανείς απευθείας σε T E X Πρόκειται για high level programming layer για το T E X Δημιουργήθηκε από τον Leslie Lamport (προφέρεται λέιτεχ) Με τα χρόνια έγινε συνώνυμο του T E X και συχνά συγχέεται Υπάρχει πληθώρα βιβλιογραφίας Σήμερα υπάρχουν και άλλα τέτοια layers, όπως το X Ǝ T E X (προφέρεται ζίτεχ) Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 5/29 10 Δεκεμβρίου 2012 5 / 29
Πως μπορούμε να γράψουμε σε T E X. Ανάλογα με το λειτουργικό σύστημα υπάρχει και η αντίστοιχη βιβλιοθήκη από πακέτα, την οποία χρειάζεται να εγκαταστήσουμε MiKTeX (πιο γνωστό για Windows) TeXLive (Linux) MacTeX (Mac Os X) Μετά χρειαζόμαστε έναν editor. Προτείνουμε τα http://www.xm1math.net/texmaker/ Texmaker http://kile.sourceforge.net/ Kile http://www.texniccenter.org/ TeXnicCenter Τέλος, πρέπει να φροντίσουμε να εγκαταστήσουμε τα όποια επιπλέον fonts Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 6/29 10 Δεκεμβρίου 2012 6 / 29
Ένα τυπικό αρχείο. \title{a Very Simple \LaTeXe{} Template} \author{ Anargyros Tsadimas \\ Department of Informatics \& Telematics\\ El. Venizelou Str,\\ 176 71, Kallithea, \underline{greece} } \date{\today} \documentclass[10pt]{article} \begin{document} \maketitle \begin{abstract} This is the paper s abstract \ldots \end{abstract} \section{introduction} This is time for all good men to come to the aid of their party! \paragraph{outline} The remainder of this article is organized as follows. Section~\ref{previous work} gives account of previous work. Our new and exciting results are described in Section~\ref{results}. Finally, Section~\ref{conclusions} gives the conclusions. \section{previous work}\label{previous work} A much longer \LaTeXe{} example was written by Oetiker~\cite{lshort}. \section{results}\label{results} In this section we describe the results. \section{conclusions}\label{conclusions} We worked hard, and achieved very little. \bibliographystyle{abbrv} \bibliography{simple} \end{document} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 7/29 10 Δεκεμβρίου 2012 7 / 29
Ένα τυπικό αρχείο - το αποτέλεσμα. Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 8/29 10 Δεκεμβρίου 2012 8 / 29
Βασικά σημεία ενός αρχείου T E X 1/2. Έχει μία απλή μορφή η οποία γίνεται πιο σύνθετη καθώς προσθέτουμε λειτουργικότητα Χωρίζεται σε τρία μέρη την επικεφαλίδα, τον πρόλογο και το κυρίως έγγραφο Οι εντολές συντάσσονται διαφορετικά ανάλογα με το μέρος που χρησιμοποιούνται Η επικεφαλίδα δηλώνει τις βασικές επιλογές μας (άρθρο/βιβλίο, μονόστηλο/δίστηλο κ.α.) Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 9/29 10 Δεκεμβρίου 2012 9 / 29
Βασικά σημεία ενός αρχείου T E X 2/2. Στον πρόλογο δηλώνουμε τα πακέτα και τα περιβάλλοντα που θα χρησιμοποιηθούν Μπορούμε να απλοποιήσουμε το αρχείο χρησιμοποιώντας αναφορές σε εξωτερικά αρχεία Συνηθισμένοι τύποι αρχείων.tex.cls.sty.bib Τα κενά αγνοούνται, μία σειρά κενό σημαίνει αλλαγή παραγράφου Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 10/29 10 Δεκεμβρίου 2012 10 / 29
Που χρειάζεται προσοχή. Σε τι encoding γράφουμε (UTF-8, iso-8859-7) Ποιο σύστημα θα χρησιμοποιήσουμε Το X Ǝ T E X ενδέχεται να μην υποστηρίζει κάποια πακέτα που υποστηρίζει το L A T E X Τι γραμματοσειρά έχω επιλέξει; Υπάρχει αυτή στο σύστημα; Συνήθως μετά από κάθε αλλαγή πρέπει να κάνουμε refresh τη βιβλιοθήκη Ανάλογα με τα πακέτα που χρησιμοποιούμε μπορεί να χρειάζεται να εγκαταστήσουμε Perl, Ghostscript ή κάποιον PDF viewer Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 11/29 10 Δεκεμβρίου 2012 11 / 29
Τι κερδίζουμε. Εγγυημένη ποιότητα κατά την στοιχειοθεσία Ευκολία στην αλλαγή προτύπων (recompile) Αυτοματισμοί, πρότυπα και περιβάλλοντα εμφάνισης Δύο σειρές κώδικα για να γίνει κάτι Αδιαφορούμε για το που και το πως θα εμφανιστεί κάτι όταν κάνουμε μικρο-αλλαγές Πληθώρα πακέτων που κάνουν πολύ περισσότερα από όσα χρειαζόμαστε Μικρό μέγεθος αρχείων Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 12/29 10 Δεκεμβρίου 2012 12 / 29
Πως μπορούμε να γράψουμε ελληνικά BABEL. Για δεκαετίες χρησιμοποιούσαν το πακέτο babel για πολυγλωσσία Γράφουμε κατευθείαν σε όποιο encoding θέλουμε και αλλάζουμε σε ελληνικά/λατινικά γράφοντας μία εντολή (π.χ. \TL{latin text}) Μπορούμε να γράψουμε και σε greeklish (Έλληνες του εξωτερικού) Απλά προσθέτουμε στον πρόλογο \usepackage[english,greek]{babel} \usepackage[iso-8859-7]{inputenc} \usepackage{varioref} \newcommand{\tl}{\textlatin} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 13/29 10 Δεκεμβρίου 2012 13 / 29
Πως μπορούμε να γράψουμε ελληνικά L A T E X. Όταν χρησιμοποιούμε L A T E X ο πιο εύκολος τρόπος σήμερα είναι το greektex Γράφουμε απλά σε ελληνικά/αγγλικά αρκεί να έχουμε εγκαταστήσει το πακέτο και τα fonts Προσοχή: Χρειάζεται να ακολουθήσουμε τις οδηγίες εγκατάστασης του πακέτου και ας μας δείχνει το MiKTeX ή όποιο άλλο χρησιμοποιούμε ότι είναι εγκατεστημένο Tο χρησιμοποιούμε καθώς το L A T E X είναι πιο δοκιμασμένο από τα νεώτερα συστήματα και υποστηρίζει μεγαλύτερο πλήθος δυνατοτήτων Προσθέτουμε στον πρόλογο \usepackage{greektex} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 14/29 10 Δεκεμβρίου 2012 14 / 29
Πως μπορούμε να γράψουμε ελληνικά X Ǝ T E X. Σήμερα ο πιο εύκολος τρόπος γενικά είναι να χρησιμοποιήσουμε το X Ǝ T E X Γράφουμε κατευθείαν σε editor που υποστηρίζει UTF-8 και αλλάζουμε απλά σε ελληνικά/αγγλικά Απλά προσθέτουμε στον πρόλογο \usepackage{xltxtra} \usepackage{xgreek} % Ελληνικό hyphenation \setromanfont[mapping=tex-text]{helvetica} \setsansfont[mapping=tex-text]{arial} \setmonofont[mapping=tex-text]{courier New} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 15/29 10 Δεκεμβρίου 2012 15 / 29
Χρήσιμα πακέτα για ελληνικά X Ǝ T E X. Για να εμφανιστούν τα ελληνικά πρέπει να χρησιμοποιηθεί μια γραμματοσειρά που να τα υποστηρίζει. Για αυτό το λόγο μπαίνει το πακέτο fontspec, το οποίο επιτρέπει τη χρήση γραμματοσειρών OpenType. Mε την εντολή setmainfont ορίζεται η επιθυμητή γραμματοσειρά. Ένα ακόμη πακέτο που προτείνεται για χρήση είναι το xunicode. Εναλλακτικά μπορεί να γίνεται χρήση μόνο του πακέτου xltxtra, το οποίο καλεί τα πακέτα fontspec, xunicode και graphicx. Ο μόνος λόγος για να γίνει ξεχωριστη κλήση ενός από τα πακέτα αυτά είναι για να περαστεί κάποιο συγκεκριμένο option. Σε ένα κείμενο με δομή, δηλαδή σε ένα κείμενο όπου έχουν οριστεί chapters, sections κτλ, τα στοιχεία αυτά θα εμφανίζονται μεν αλλά με τις αγγλικές τους ονομασίες (πχ Chapter 1) αντί για τις ελληνικές. Κάτι τέτοιο πιθανότατα δεν είναι επιθυμητό. Για να εμφανιστεί το σωστό κείμενο (Κεφάλαιο 1) πρέπει να χρησιμοποιηθεί το πακέτο xgreek το οποίο εξελληνίζει τα ονόματα των chapters, section, bibliography, TOC, κτλ. Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 16/29 10 Δεκεμβρίου 2012 16 / 29
Fonts. Στο L A T E X, το είδος μιας γραμματοσειράς καθορίζεται από τρία στοιχεία[2]: family series shape Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 17/29 10 Δεκεμβρίου 2012 17 / 29
Fonts size. Το προκαθορισμένο μέγεθος γραμματοσειράς που παράγει το T E X είναι 10pt Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 18/29 10 Δεκεμβρίου 2012 18 / 29
Σχήμα γραμματοσειράς. Κείμενο Κείμενο Κείμενο Κείμενο Κείμενο Κείμενο Κείμενο \textbf{κείμενο} \textit{κείμενο} \textsl{κείμενο} \textsc{κείμενο} \textup{κείμενο} \emph{κείμενο} \underline{κείμενο} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 19/29 10 Δεκεμβρίου 2012 19 / 29
Document Class. \documentclass[options]{class} Οι δυνατές επιλογές είναι της μορφής Font size: 10pt, 11pt, 12pt Paper size: letterpaper, legalpaper, a4paper Page formats: onecolumn, twocolumn, notitlepage, titlepage, oneside, twoside κ.α. ανάλογα με την κλάση που έχουμε Οι κλάσεις είναι: article, report, letter, book, beamer[3], IEEEtran, κ.α. Page styles: plain empty headings myheadings Page numbering: arabic, roman, Roman, alph, Alph Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 20/29 10 Δεκεμβρίου 2012 20 / 29
Χωρίζοντας το κείμενο. Κεφάλαιο Ενότητα Υποενότητα Υπο-υπο-ενότητα Παράγραφος \chapter{title} \section{title} \subsection{title} \subsubsection{title} \paragraph{title} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 21/29 10 Δεκεμβρίου 2012 21 / 29
Εισαγωγή εικόνας. \usepackage{graphicx} % στον πρόλογο \begin{figure}[position] \centering \includegraphics[options]{filename} \caption{this is the caption} \label{fig1} \end{figure} Στην θέση της εικόνας βάζουμε [h]: here, [t]: top, [b]: bottom, [p]: page και συνδυασμούς [ht!] Στις επιλογές μπορούμε να ρυθμίσουμε τα width, height, totalheight, scale, angle Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 22/29 10 Δεκεμβρίου 2012 22 / 29
Μαθηματικά[1]. Οριοθετούνται από το σύμβολο $ (math mode - inline text) Ελληνικά γράμματα: \alpha, \beta κτλ: αβ \begin{equation} %εμφάνιση εξίσωσης με αριθμό \end{equation} x 2 (1) \begin{equation*} %εμφάνιση εξίσωσης χωρίς αριθμό \end{equation*} x 2 Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 23/29 10 Δεκεμβρίου 2012 23 / 29
Ένα τυπικό input αρχείο. \documentclass[a4paper,12pt]{article} \usepackage{amsmath} \begin{document} \phi_n(\kappa) = \frac{1}{4\pi^2\kappa^2} \int_0^\infty \frac{\sin(\kappa R)}{\kappa R} \frac{\partial}{\partial R} \left[r^2\frac{\partial D_n(R)}{\partial R}\right]\,dR \end{document} ϕ n (κ) = 1 4π 2 κ 2 0 sin(κr) κr R [ R 2 D ] n(r) dr (2) R Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 24/29 10 Δεκεμβρίου 2012 24 / 29
Βιβλιογραφία με BibTeX. Χρειαζόμαστε ένα αρχείο.bib Το κείμενό μας πρέπει να περιέχει τα παρακάτω \bibliography{filename} \bibliographystyle{stylename} \cite{key} Υπάρχουν έτοιμα bibliography styles plain, abbrev, IEEEtrans κ.ά. Χρειάζεται να γίνει compile πρώτα με L A T E X μετά με BibTeX και ξανά με L A T E X(οι περισσότεροι editors το κάνουν αυτόματα αν ρυθμιστούν κατάλληλα) Για να αναφερθούμε σε μια αναφορά στο κείμενό μας χρησιμοποιούμε το \cite{key} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 25/29 10 Δεκεμβρίου 2012 25 / 29
Παράδειγμα μιας αναφοράς σε BibTeX. @InProceedings{DAmbrogio05, BookTitle = {WOSP}, Crossref = {conf/wosp/2005}, Isbn = {1-59593-087-6}, Publisher = {ACM}, Url = {http://doi.acm.org/10.1145/1071021.1071029}, author = {D{ }Ambrogio, Andrea}, title = {A model transformation framework for the automated building of performance models from UML models}, pages = {75-86}, year = {2005}, } Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 26/29 10 Δεκεμβρίου 2012 26 / 29
Εισαγωγή βιβλιογραφίας χωρίς χρήση BibTeX. It is hard to write unstructured and disorganised documents using \LaTeX \cite{les85}.it is interesting to typeset one equation \cite[sec 3.3]{les85} rather than setting ten pages of running matter \cite{don89,rondon89}. \begin{thebibliography}{9} \bibitem{les85}leslie Lamport, 1985. \emph{\latex---a Document Preparation System---User s Guide and Reference Manual}, Addision-Wesley, Reading. \bibitem{don89}donald E. Knuth, 1989. \emph{typesetting Concrete Mathematics}, TUGBoat, 10(1):31-36. \bibitem{rondon89}ronald L. Graham, Donald E. Knuth, and Ore Patashnik, 1989. \emph{concrete Mathematics: A Foundation for Computer Science}, Addison-Wesley, Reading. \end{thebibliography} Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 27/29 10 Δεκεμβρίου 2012 27 / 29
Εμφάνιση βιβλιογραφίας. Σχήμα: Το παραγόμενο αρχείο Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 28/29 10 Δεκεμβρίου 2012 28 / 29
Προτεινόμενη βιβλιογραφία. Michael Downes. Short math guide for L A T E X, March 2002. ftp://ftp.ams.org/ams/doc/amsmath/short-math-guide.pdf. Tobias Oetiker, Hubert Partl, Irene Hyna, and Elisabeth Schlegel. The not so short introduction to L A T E X 2ε. or L A T E X 2ε in 157 minutes, December 2010. ftp://ftp.ctan.org/tex-archive/info/lshort/english. Till Tantau. User guide to the beamer class, November 2012. http://ftp.ntua.gr/mirror/ctan/macros/latex/contrib/beamer/doc/beameruserguide.pdf. Β. Δαλάκας Α. Τσαδήμας Ο. Χατζή (dit.hua.gr) Εισαγωγή στο T E X 29/29 10 Δεκεμβρίου 2012 29 / 29