Μετάβαση στο περιεχόμενο
Topos Uranos

Περίληψη

Το μάθημα αυτό διδάσκει πώς ορίζονται δικές μας εντολές και δικά μας περιβάλλοντα και πώς συγκεντρώνονται σε ένα προοίμιο που μπορεί να ξαναχρησιμοποιηθεί. Εξηγεί γιατί αξίζει να ονομάζουμε τις λειτουργίες του κειμένου αντί να επαναλαμβάνουμε την εμφάνισή τους· παρουσιάζει την \newcommand με υποχρεωτικά ορίσματα και με ένα προαιρετικό όρισμα που έχει προεπιλεγμένη τιμή, τις \renewcommand και \providecommand, καθώς και το σφάλμα που προκύπτει όταν ένα όνομα υπάρχει ήδη· δείχνει σύντομα την \NewDocumentCommand, τη σύγχρονη διεπαφή που ενσωματώνει ο πυρήνας του LaTeX· εξετάζει το κενό που χάνεται μετά από μια εντολή χωρίς ορίσματα· ορίζει περιβάλλοντα με την \newenvironment, με τον κώδικα ανοίγματος και κλεισίματός τους· και διδάσκει πώς μεταφέρεται το προοίμιο σε δικό του αρχείο, είτε σε αρχείο που διαβάζεται με την \input είτε σε πακέτο .sty, με προσοχή στη σειρά φόρτωσης των πακέτων και στη λιτότητα του συνόλου.

Μαθησιακοί στόχοι

  1. Να αιτιολογείται ο ορισμός μιας δικής μας εντολής από τη λειτουργία που ονομάζει και όχι από την οικονομία πληκτρολόγησης.
  2. Να ορίζονται εντολές με υποχρεωτικά ορίσματα και με ένα προαιρετικό όρισμα, και να προβλέπεται το αποτέλεσμά τους σε κάθε μορφή χρήσης.
  3. Να διακρίνονται οι \newcommand, \renewcommand και \providecommand, και να ερμηνεύεται το σφάλμα που προκαλεί ένα ήδη κατειλημμένο όνομα.
  4. Να προβλέπεται και να αποφεύγεται η απώλεια του κενού μετά από μια εντολή χωρίς ορίσματα.
  5. Να ορίζονται περιβάλλοντα με ορίσματα και να αναγνωρίζεται ποιο μέρος του ορισμού μπορεί να τα χρησιμοποιήσει.
  6. Να οργανώνεται ένα δικό μας προοίμιο σε χωριστό αρχείο ή σε πακέτο, να κρίνεται ποια λύση ενδείκνυται και να τακτοποιείται η σειρά φόρτωσης των πακέτων.

Γιατί ορίζουμε δικές μας εντολές

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

Κερδίζουμε τρία πράγματα. Το πρώτο είναι το νόημα: το \ennoia{ον} λέει τι είναι η λέξη, ενώ το \textit{ον} λέει μόνο πώς φαίνεται, και ο πηγαίος κώδικας διαβάζεται ως σχολιασμένο κείμενο και όχι ως κατάλογος τυπογραφικών εντολών. Το δεύτερο είναι η συνέπεια: αν τα διανύσματα γράφονται πάντα με την \vect, δεν μπορεί από αβλεψία άλλα να βγαίνουν έντονα και άλλα με βέλος. Το τρίτο είναι ότι μια σύμβαση αλλάζει σε ένα μόνο σημείο: αν μια επιτροπή, ένα περιοδικό ή ο επιβλέπων ζητήσουν άλλον συμβολισμό, τροποποιείται μία γραμμή του προοιμίου και η αλλαγή φτάνει σε όλο το έγγραφο. Από αυτό προκύπτει το κριτήριο: δική του εντολή αξίζει ό,τι επιτελεί μια αναγνωρίσιμη λειτουργία και επαναλαμβάνεται· δεν την αξίζει μια μεμονωμένη ρύθμιση, που γράφεται στη θέση της και δεν επαναλαμβάνεται.