LaTeX

  • Εισαγωγή
  • Εγκατάσταση Latex
  • Το πρώτο έγγραφο LaTeX
  • LaTeX και Ελληνικά
  • Μορφοποίηση
  • Δομή εγγράφου
  • Προσθήκη φωτογραφιών
  • Πίνακας περιεχομένων
  • Βιβλιογραφία
  • Αυτόματη δημιουργία πινάκων
  • Δημιουργία διαγραμμάτων
  • Παρουσιάσεις
  • Πακέτα
  • IEEE Template

Εισαγωγή

  • Το LaTeX είναι ένα σύστημα στοιχειοθεσίας υψηλής ποιότητας.
  • Περιλαμβάνει χαρακτηριστικά που έχουν σχεδιαστεί για τη παραγωγή τεχνικών και επιστημονικών εγγράφων.
  • Το LaTeX είναι το ντε φάκτο πρότυπο για την επικοινωνία και δημοσίευση επιστημονικών εγγράφων.

Ιστορικά

  • Το LaTeX γράφτηκε από τον Λέσλι Λάμπορτ (Leslie Lamport)
  • Στις αρχές του 1980
  • Μετά από λίγα χρόνια ο Φρανκ Μίτελμπαχ (Frank Mittelbach) ξαναέγραψε από την αρχή το LaTeX και σήμερα όταν αναφερόμαστε σε αυτό εννοούμε την έκδοση του.

Προφορά

Το LaTeX προφέρεται ως “λάτεχ” καθώς οι χαρακτήρες T, E, X προέρχονται από τα ελληνικά κεφαλαία γράμματα της λέξεις “τέχνη” και “τεχνολογία”. Για το λόγο αυτό, ο δημιουργός του TeX, Ντόναλντ Κνουθ (Donald Knuth), προωθεί την προφορά “τεχ” και όχι “τεξ” ή “τεκ”. Ο Λάμπορτ από την άλλη έχει πει ότι δεν ευνοεί ούτε αποθαρρύνει οποιαδήποτε προφορά για το LaTeX.

Εγκατάσταση LaTeX

  • Arch linux
  • sudo pacman -Sy texlive-langgreek
  • Ubuntu
  • sudo apt install texlive-latex-extra
  • Windows
  • Για να εγκαταστήσετε το LaTeX θα πρέπει να πάτε στον ιστότοπο του MiKTeX, να κατεβάσετε τον Wizard και να τον εκτελέσετε.

Το πρώτο έγγραφο LaTeX

\documentclass{article} \begin{document} Hello World! \end{document}

LaTeX και Ελληνικά

\documentclass{article} \begin{document} Γεια σου κόσμε! \end{document}

\documentclass{article} \usepackage[greek,english]{babel} \begin{document} \textgreek{Γεια σου κόσμε!} \end{document}

\documentclass{article} \usepackage[greek,english]{babel} \begin{document} \selectlanguage{greek} Γεια σου κόσμε! \end{document}

Μορφοποίηση

Λογική μορφοποίηση κειμένου

\documentclass{article} \usepackage[english,greek]{babel} \begin{document} \title{Λογική μορφοποίηση κειμένου} \author{Δημήτριος Τζήκας} \date{21 Φεβρουαρίου, 2020} \maketitle \end{document}

Ειδική χαρακτήρες

... \section{Ειδική χαρακτήρες} Για το {\LaTeX} οι ακόλουθοι χαρακτήρες έχουν ειδική σημασία \textlatin{\#} \$ \% \^ \& \_ \{ \} \~ \\ Ο χαρακτήρας \textlatin{\#} με ελληνικό κείμενο: \# ...

Μορφοποίηση κειμένου

\emph{Έμφαση} \textit{Επισεσυρμένη γραφή} \textbf{Έντονα} \textsl{Γραφή με κλίση} \textsc{Μικρά κεφαλαία}

Μέγεθος γραμματοσειράς

\tiny Tiny \scriptsize Scriptsize \footnotesize Footnotesize \small Small \normalsize Normalsize \large Large \Large Large \LARGE Large

Δομή εγγράφου

Με το LaTeX η δόμηση των εγγράφων είναι πολύ εύκολη, το μόνο που έχουμε να κάνουμε είναι να χρησιμοποιήσουμε τις παρακάτω εντολές:
  • \section{}
  • \subsection{}
  • \subsubsection{}
  • \paragraph{}
  • \subparagraph{}

... \section{Τίτλος ενότητας} Αυτό το κείμενο ανήκει στην πρώτη ενότητα. \subsection{Τίτλος υποενότητας} Αυτό το κείμενο ανήκει στην πρώτη υποενότητα. \subsubsection{Τίτλος υπο-υποενότητας} Αυτό το κείμενο ανήκει στην πρώτη υπο-υποενότητα. \paragraph{Τίτλος παραγράφου} Αυτό το κείμενο ανήκει στην παράγραφο. \subparagraph{Τίτλος υποπαραγράφου} Αυτό το κείμενο ανήκει στην υποπαράγραφο. ...

Προσθήκη φωτογραφιών

Με το LaTeX είναι αρκετά εύκολη η τοποθέτηση φωτογραφίας στο έγγραφο μας. Ένας τρόπος για να μπορέσουμε να βάλουμε φωτογραφίες, είναι να χρησιμοποιήσουμε το πακέτο graphicx.

... \usepackage{graphicx} ... \begin{figure} \includegraphics[width=\linewidth]{circuit.png} \caption{Απλό κύκλωμα.} \label{fig:circuit1} \end{figure} ... Το σχήμα \ref{fig:circuit1} είναι ένα απλό κύκλωμα. ...

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

Στο LaTeX, το περιβάλλον αποτελεί ένα τμήμα του εγγράφου όπου ισχύουν κάποιοι κανόνες.

Επιλογές του graphicx

  • h - Στη συγκεκριμένη τοποθεσία
  • t - Στην κορυφή της σελίδας
  • b - Στο κάτω μέρος της σελίδας
  • p - Σε μια επιπλέον σελίδα
  • ! - Θα εξαναγκάσει την τοποθεσία που δηλώθηκε

... \begin{figure}[h] \includegraphics[width=\linewidth]{circuit.png} \caption{Απλό κύκλωμα.} \label{fig:circuit1} \end{figure} ...

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

Για να δημιουργήσουμε τον πίνακα περιεχομένων, πρέπει να χρησιμοποιήσουμε την εντολή \tableofcontents και το LaTeX θα δημιουργήσει αυτόματα τον πίνακα περιεχομένων.

... \tableofcontents ...

... \tableofcontents \listoffigures \listoftables ...

Βιβλιογραφία

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

... \begin{thebibliography}{9} \bibitem{tag} Όνομα Επώνυμο Τίτλος Βιβλίου και άλλα στοιχεία \bibitem{tag2} Όνομα2 Επώνυμο2 Τίτλος Βιβλίου2 και άλλα στοιχεία \end{thebibliography} ...

Για αναφορά σε κάποιο βιβλιογραφικό στοιχείο που έχουμε εισάγει, χρησιμοποιούμε την εντολή \cite{} με την ετικέτα του βιβλιογραφικού στοιχείου.

... Το βιβλίο Τίτλος Βιβλίου \cite{tag} είναι πολύ ωραίο. Το βιβλίο Τίτλος Βιβλίου2 \cite{tag2} δε μου άρεσε τόσο. ...

Εισαγωγή βιβλιογραφικών στοιχείων από αρχείο bib

Σίγουρα το να γράφουμε όλες τις βιβλιογραφικές αναφορές δεν είναι πολύ αποδοτικό, γιαυτό θα δούμε πως να κάνουμε μια βιβλιογραφική αναφορά από αρχεία bib.

@book{kottwitz2011latex, title={LaTeX beginner's guide}, author={Kottwitz, Stefan}, year={2011}, publisher={Packt Publishing Ltd} }

... Το βιβλίο \textlatin{\LaTeX beginner's guide}\cite{kottwitz2011latex} είναι πολύ καλό για άτομα που χρησιμοποιούν το \LaTeX για πρώτη φορά. \selectlanguage{english} \bibliographystyle{plain} \bibliography{bibliography.bib} ...

Αυτόματη δημιουργία πινάκων

Για να δημιουργήσουμε έναν πίνακα θα χρειαστούμε πρώτα να ορίσουμε το περιβάλλον tabular. Το περιβάλλον tabular μπορεί να χρησιμοποιηθεί για να στοιχειοθετήσει πίνακες με προαιρετικές οριζόντιες και κάθετες γραμμές. Το LaTeX καθορίζει αυτόματα το πλάτος των στηλών.

\begin{tabular}[pos]{table spec} ... \end{tabular}

Ορίσματα του {table spec}:

  • l - Αριστερή στοίχιση
  • c - Στοίχιση στο κέντρο
  • r - Δεξιά στοίχιση
  • p{'width'} - Στήλη παραγράφου με κείμενο ευθυγραμμισμένο κάθετα στην κορυφή
  • | - Κάθετη γραμμή
  • || - Διπλή κάθετη γραμμή

Ορίσματα του [pos]:

  • b - bottom
  • c - center (default)
  • t - top

Εντολές περιεχομένου

  • & - Διαχωριστής στήλης
  • // - Νέα σειρά
  • \hline - Οριζόντια γραμμή
  • \newline - Νέα γραμμή μέσα σε ένα κελί
  • \cline{i-j} - Μερική οριζόντια γραμμή που αρχίζει στη στήλη i και τελειώνει στη στήλη j

\begin{tabular}{ l c r } 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ \end{tabular}



\begin{tabular}{ l | c | r } 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ \end{tabular}



\begin{tabular}{ | l | c | r |} \hline 1 & 2 & 3 \\ \hline 4 & 5 & 6 \\ \hline 7 & 8 & 9 \\ \hline \end{tabular}



\begin{tabular}{|r|l|} \hline 7C0 & hexadecimal \\ 3700 & octal \\ \cline{2-2} 11111000000 & binary \\ \hline \hline 1984 & decimal \\ \hline \end{tabular}



Δημιουργία πινάκων με csv

Το πακέτο που θα χρησιμοποιήσουμε για να δημιουργήσουμε αυτόματα τον πίνακα, είναι το csvsimple. Το συγκεκριμένο πακέτο είναι πολύ απλό στη χρήση του αλλά δεν υποστηρίζει ελληνικά.

\documentclass{article} \usepackage{csvsimple} \begin{document} \csvautotabular{grade.csv} \end{document}

name,givenname,matriculation,gender,grade Maier,Hans,12345,m,1.0 Huber,Anna,23456,f,2.3 Weißbäck,Werner,34567,m,5.0 Bauer,Maria,19202,f,3.3



Δημιουργία διαγραμμάτων

Η δημιουργία διαγραμμάτων είναι αρκετά εύκολη, τουλάχιστον για απλά διαγράμματα. Για να μπορέσουμε να ορίσουμε το διάγραμμα μας, θα πρέπει πρώτα να δηλώσουμε το περιβάλλον tikzpicture και μέσα σε αυτό το περιβάλλον axis, κατόπιν το μόνο που έχουμε να κάνουμε είναι να χρησιμοποιήσουμε τη δήλωση \addplot για να δημιουργήσουμε το διάγραμμα μας.

... \usepackage{pgfplots} ... \begin{tikzpicture} \begin{axis}[] \addplot[ domain=0:3, samples=10 ]{x}; \end{axis} \end{tikzpicture} ...

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

... \begin{axis}[] \addplot[ domain=0:3, samples=10 ]{x}; \addplot[ red, domain=0:3, samples=10 ]{x^2}; \addplot[ green, domain=0:3, samples=10 ]{x^3}; \addplot[ blue, domain=0:3, samples=10 ]{x^4}; \end{axis} ...

Δημιουργία διαγραμμάτων με csv

... \begin{axis}[] \addplot table [x=a, y=b, col sep=comma] {data.csv}; \addplot table [x=a, y=b, col sep=comma] {data2.csv}; \end{axis} ...

Παρουσιάσεις

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

\documentclass{beamer} \begin{document} My first presentation with {\LaTeX} \end{document}

Για να δημιουργήσουμε την πρώτη διαφάνεια όπου θα έχει τον τίτλο της παρουσίασης, το όνομα μας, etc, μπορούμε να χρησιμοποιήσουμε τις δηλώσεις που χρησιμοποιούσαμε μέχρι στιγμής.

\documentclass{beamer} \title{{\LaTeX} presentation} \author{Dimitris Tzikas} \date{\today} \begin{document} \maketitle \end{document}

Ορολογίες

  • Frame: δηλώνει το περιεχόμενο
  • Διαφάνεια: είναι σελίδα στη παρουσίαση μας

... \begin{frame} \begin{itemize} \item One \item Two \item Three \end{itemize} \end{frame} ...

... \begin{frame} \begin{itemize} \item One \pause \item Two \pause \item Three \end{itemize} \end{frame} ...

Θέματα

\documentclass{beamer} \usetheme{PaloAlto} \title{{\LaTeX} presentation} ...

Για να ορίσουμε το δικό μας χρώμα χρησιμοποιούμε τις παρακάτω εντολές.

\usetheme{PaloAlto} \definecolor{color-name}{rgb}{.0,.31,.67} \usecolortheme[named=color-name]{structure}

Ορισμός τίτλου και υπότιτλου.

... \begin{frame} \frametitle{Title} \framesubtitle{Subtitle} \begin{itemize} \item One \item Two ...

... \begin{frame}{Title}{Subtitle} \begin{itemize} \item One \item Two \item Three \end{itemize} \end{frame}

Επίσης, μπορούμε να δηλώσουμε τις ενότητες που έχει η παρουσίαση μας.

... \section{Section 1} ... \section{Section 2} ...

Columns

... \begin{frame} \begin{columns} \column{.5\textwidth} Column1 \column{.5\textwidth} Column2 \end{columns} \end{frame}

Πακέτα

Οι χρήστες του MiKTeX στα Windows και του MacTeX στο macOS, δεν χρειάζεται να κάνουν τίποτα καθώς τα πακέτα θα εγκατασταθούν αυτόματα.

Οι χρήστες που χρησιμοποιούν pdflatex ή κάποια παρόμοια έκδοση, θα χρειαστεί να κατεβάσουν τα πακέτα μέσω κάποιου άλλου προγράμματος. Ένα πρόγραμμα που βοηθάει να κατεβάσουμε τα πακέτα είναι το tlmgr.

Εγκατάσταση του πακέτου pythonhighlight

tlmgr install pythonhighlight sudo texhash

Επίσης για την απλοποίηση αυτής της διαδικασίας μπορούμε να κάνουμε ένα ψευδώνυμο.

alias texpackage='texpackage(){tlmgr install $1 && sudo texhash}; texpackage'

IEEE Template

  • IEEEtran
  • compsoc: computer society
  • \documentclass[ 10pt, journal, sompsoc]{ IEEEtran}

... \usepackage[english, greek]{babel} \usepackage[nocompress]{cite} \usepackage[pdftex]{graphicx} \newcommand{\en}{\selectlanguage{english}} \newcommand{\gr}{\selectlanguage{greek}} ...

... \title{Επίδειξη χρήσης του \textlatin{IEEEtran} για συγγραφή ερευνητικής εργασίας} \author{Δημήτριος~Τζήκας~\IEEEmembership{\textlatin{IEEE~Member}} \IEEEcompsocitemizethanks{ \IEEEcompsocthanksitem Εδώ μπορούμε να βάλουμε άτομα που βοηθήσαν. } \thanks{Και άλλες ευχαριστίες.} } ...

\markboth{\textgreek{Χρήση του \LaTeX~ και του πακέτου \textlatin{IEEEtran}, 21 Φεβρουαρίου 2020}}{\LaTeX}

... \IEEEtitleabstractindextext{ \en \begin{abstract} \textgreek{Εδώ γράφουμε μια σύντομη περίληψη για την εργασία μας.} \end{abstract} \begin{IEEEkeywords} \textgreek{Ερευνητική εργασία},\LaTeX, IEEEtran \end{IEEEkeywords} } ...

... \IEEEraisesectionheading{ \section{Εισαγωγή} \label{sec:introduction} } ...

... \IEEEPARstart{Γ}{ια} να χρησιμοποιήσουμε το πρότυπο του \textlatin{IEEE} θα πρέπει να χρησιμοποιήσουμε το πακέτο \textlatin{IEEEtran}. Στη περίπτωση που δεν έχει γίνει η εγκατάσταση του πακέτου στα αρχεία του \LaTeX~θα πρέπει να δηλωθεί η θέση του πακέτου χειροκίνητα. \hfill 21 Φεβρουαρίου, 2020 ...

... \begin{IEEEbiographynophoto}{Δημήτριος Τζήκας} Κείμενο βιβλιογραφίας. \end{IEEEbiographynophoto} ...

Ευχαριστώ για την προσοχή σας