Εισαγωγή στις μακροεντολές (#1)

Στα προηγούμενα άρθρα είδαμε βασικά πράγματα που μας επιτρέπουν να γράφουμε απλά έγγραφα. Χρησιμοποιήσαμε διάφορα πακέτα ώστε να πετύχουμε το σκοπό που θέλουμε και είδαμε απ’ έξω απ’ έξω τη χρήση αυτών. Όμως όλη η καρδιά της \LaTeX χτυπάει στις μακροεντολές. Είναι αυτές με τις οποίες εξαναγκάζουμε το \TeX να κάνει συγκεκριμένες λειτουργίες ή αλλάζουμε με τρόπο που θέλουμε εμείς τις ήδη υπάρχουσες.

Ήδη έχουμε χρησιμοποιήσει μακροεντολές για να πετύχουμε ορισμένα αποτελέσματα. Για παράδειγμα όταν αλλάξαμε το σύμβολο QED το κάναμε μέσα από μακροεντολή. Στο παρόν άρθρο θα δούμε πώς μπορούμε να ορίσουμε μακροεντολές ή να ρυθμίσουμε με το δικό μας τρόπο τις ήδη υπάρχουσες.

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

Ας ξεκινήσουμε.

1. Για ποιο λόγο είναι χρήσιμες οι μακροεντολές;

Για πολλούς λόγους είναι η απάντηση. Για παράδειγμα ας υποθέσουμε πως θέλετε να γράψετε στο έγγραφό σας συχνά – πυκνά την εξής μαθηματική συνάρτηση arccot . Όπως έχουμε δει η εντολή αυτή δεν είναι ορισμένη στη \LaTeX. Ας υποθέσουμε πως θέλουμε να εμφανίζεται στο έγγραφό μας. Από το να τη πληκτρολογούμε κάθε φορά , ορίζουμε μία νέα εντολή π.χ την

\newcommand{\arccot}{ {\mathrm arccot}}

και στη συνέχεια καλούμε την εντολή \arccot μέσα στο έγγραφο.

Συνεπώς γλιτώνουμε χρόνο αλλά και κόπο.

2. Ποια είναι η γενική σύνταξη των μακροεντολών;

Η γενική σύνταξη των μακροεντολών είναι η ακόλουθη

\newcommand{name}[num]{definition}

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

Για παράδειγμα ας δούμε τη μακροεντολή

\newcommand{\tolaso}[1]{Αυτό το blog γράφεται από τον #1}

Μόλις ορίσαμε μία νέα εντολή που λέγεται \tolaso και η οποία παίρνει παίρνει ένα όρισμα. Κάθε φορά που χρειάζεται να αλλάξει το όνομα του αρθρογράφου δε θα χρειάζεται να ξανά γράψουμε από την αρχή όλη την πρόταση αλλά το μόνο που θα κάνουμε είναι να αλλάξουμε το όνομα στη παράμετρο.

Στο κυρίως έγγραφο θα γράψουμε το εξής

\tolaso{Tolaso}

και θα εμφανιστεί το

Αυτό το blog γράφεται από τον Tolaso

Μπορούμε να ορίσουμε παρόμοια εντολή με δύο παραμέτρους. Για παράδειγμα

\newcommand{\tolasotwo}[2]{Αυτό το blog γράφεται από τον #1 και #2}

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

\tolasotwo{Tolaso}{κανέναν άλλο}

το οποίο θα εμφανίσει

Αυτό το blog γράφεται από τον Tolaso και κανέναν άλλο


ΠΡΟΣΟΧΗ


Το όνομα της μακροεντολής δε μπορεί να περιέχει αριθμούς. Για παράδειγμα το όνομα \tolaso2 δεν είναι έγκυρο. Γενικότερα τα ψηφία δε μπορούν να χρησιμοποιηθούν ως όνοματα μακροεντολής. Αν κάνετε κάτι τέτοιο , θα σας εμφανιστεί μήνυμα λάθους. Επίσης η \LaTeX δε σας επιτρέπει να ορίσετε μία νέα εντολή με την οποία θα αντιγράψετε μία ήδη υπάρχουσα.


Για εξάσκηση ανοίξτε τον αγαπημένο σας κειμενογράφο και προσπαθήσετε να ορίσετε μία μακροεντολή η οποία θα παίρνει ως παράμετρο το όνομά σας καθώς το δικό μου όνομα ( Tolaso )  και θα εμφανίζει το μήνυμα

Η παρακάτω μακροεντολή γράφτηκε από τον/ την  {όνομά σας} στα πλαίσια εκμάθησης των μακροεντολών της \LaTeX σύμφωνα με τον οδηγό που δημοσιεύτηκε στο blog του {Tolaso}.

Ουσιαστικά θα πρέπει να αντικαταστήσετε με παραμέτρους το όνομά σας καθώς το Tolaso , δηλ. τις λέξεις που είναι μέσα σε άγκιστρα.

 

Facebooktwittergoogle_plusredditpinterestlinkedinmail

2 Replies to “Εισαγωγή στις μακροεντολές (#1)”

Αφήστε μια απάντηση