Μάθημα 6

Φόρτωση πολλαπλών πακέτων

Η εντολή \usepackage δέχεται μια λίστα πακέτων διαχωρισμένων με κόμμα, επομένως μπορείτε να φορτώσετε περισσότερα πακέτα ταυτόχρονα: για παράδειγμα \usepackage{color,graphicx}. Εάν δίνετε επιλογές σε ένα πακέτο, αυτές θα ισχύουν για όλα τα πακέτα στη λίστα. Είναι επίσης πιο εύκολο να απενεργοποιήσετε πακέτα σχολιάζοντας την αντίστοιχη γραμμή αν φορτώνονται χωριστά. Έτσι, θα προτιμήσουμε να φορτώνουμε κάθε πακέτο σε ξεχωριστή γραμμή.

Το πακέτο babel

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

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel} % Notice that the option name is 'ngerman'

\begin{document}

\tableofcontents

\section{"Uber "Apfel und Birnen}

\subsection{Äpfel}
Äpfel sind rot.

\subsection{Birnen}
Birnen sind gelb.


\end{document}

Άλλες επιλογές γλώσσας επιφέρουν αλλαγές στη σχεδίαση: για παράδειγμα, στην παραδοσιακή γαλλική τυπογραφία υπάρχει ένα κενό πριν από ορισμένα σημεία στίξης, όπως το :, και αυτό προστίθεται αυτόματα αν φορτώσετε το babel με την επιλογή french.

Γενικές επιλογές

Μερικές φορές, θέλετε μια επιλογή να είναι διαθέσιμη σε όλα τα πακέτα που έχετε φορτώσει. Αυτό γίνεται δίνοντάς την στη γραμμή \documentclass: κάθε πακέτο μπορεί να «δει» αυτή τη λίστα. Έτσι, για να περάσετε τη γλώσσα ενός εγγράφου σε όλα τα πακέτα, θα μπορούσατε να χρησιμοποιήσετε:

\documentclass[ngerman]{article} % Notice that the option name is 'ngerman'
\usepackage[T1]{fontenc}

\usepackage{babel}

\begin{document}

\tableofcontents

\section{"Uber "Apfel und Birnen}

\subsection{Äpfel}
Äpfel sind rot.

\subsection{Birnen}
Birnen sind gelb.

\end{document}

Περισσότεροι ορισμοί

Η εντολή \newcommand επιτρέπει τον ορισμό εντολών με έως και εννέα παραμέτρους, η πρώτη από τις οποίες μπορεί να είναι προαιρετική.

Αν πάρουμε το παράδειγμα από το κύριο μάθημα, θα μπορούσαμε να κάνουμε το χρώμα προαιρετικό, με προεπιλεγμένο το μπλε.

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{xcolor}

\newcommand\kw[2][blue]{\textcolor{#1}{\itshape #2}}

\begin{document}

Something about \kw{apples} and \kw[red]{oranges}.

\end{document}

Οι προαιρετικές παράμετροι ορίζονται με [] και αν παραλειφθούν, χρησιμοποιείται η προεπιλεγμένη τιμή που έχει καθοριστεί στον ορισμό.

\NewDocumentCommand

Από την έκδοση Οκτωβρίου 2020 του LaTeX, είναι διαθέσιμο ένα επεκταμένο σύστημα ορισμού εντολών. Σε παλαιότερες εκδόσεις του LaTeX, αυτό ήταν διαθέσιμο μέσω του πακέτου xparse, το οποίο χρησιμοποιούμε εδώ για συμβατότητα.

Μπορούμε να επαναλάβουμε το παραπάνω παράδειγμα αλλά χρησιμοποιώντας την εντολή \NewDocumentCommand

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{xparse} % Only needed for older LaTeX releases
\usepackage{xcolor}

\NewDocumentCommand\kw{O{blue} m}{\textcolor{#1}{\itshape #2}}

\begin{document}

Something about \kw{apples} and \kw[red]{oranges}.

\end{document}

Ακριβώς όπως η εντολή \newcommand, έτσι και η \NewDocumentCommand δέχεται το όνομα της εντολής που ορίζεται (εδώ \kw) και το σώμα του ορισμού, χρησιμοποιώντας #1 έως #9 για τις παραμέτρους, ωστόσο η διαφορά έγκειται στον τρόπο που καθορίζονται οι παράμετροι.

Σε αντίθεση με την \newcommand όπου απλώς δίνεται ο αριθμός των παραμέτρων, παρέχοντας προαιρετικά μια προεπιλογμένη τιμή για την πρώτη παράμετρο, με την \NewDocumentCommand κάθε παράμετρος καθορίζεται με ένα γράμμα, έτσι μια εντολή δύο παραμέτρων θα καθοριζόταν με {mm} αντί για [2]. Αυτό είναι ελαφρώς λιγότερο συνοπτικό αλλά επιτρέπει τον ορισμό πολλών περισσότερων μορφών εντολών. Εδώ δίνουμε αυτό το απλό παράδειγμα όπου η πρώτη παράμετρος είναι προαιρετική (optional), με προεπιλεγμένο το μπλε (O{blue}) και η δεύτερη παράμετρος είναι υποχρεωτική (mandatory) (m).