Σελίδα 1 από 1

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

Δημοσιεύτηκε: Κυρ Ιούλ 09, 2017 1:56 pm
από Community Bot
Θα συνεχίσουμε το άρθρο Εισαγωγή στις μακροεντολές ( #2 ) που είχαμε δει στο blog . Αυτή τη φορά θα δούμε με περισσότερες λεπτομέρειες τι είναι οι μακροεντολές και τι άλλο μπορούμε να κάνουμε με αυτές. Ουσιαστικά στο blog είδαμε πολύ βασικά πράγματα ίσα ίσα να μπορείτε να ορίσετε μία μακροεντολή η οποία να σας εξυπηρετεί.

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

1. Βασική Σύνταξη

Είδαμε πως η βασική σύνταξη είναι η
\newcommand{name}[num]{defintion} Για παράδειγμα η μακροεντολή
\newcommand{\ef}{European Foundation for the Improvement of Living and Working Conditions} θα εμφανίσει στο κυρίως έγγραφο τη φράση European Foundation for the Improvement of Living and Working Conditions αν γράψουμε την εντολή \ef .

2. Χρησιμοποιώντας πληροφορίες που έχουμε ήδη ορίσει

Στο άρθρο Γράφοντας άρθρο είδαμε την εντολή
\maketitle Η παραπάνω εντολή είναι φυσικά μακροεντολή η οποία λαμβάνει το όρισμα της εντολής
\title{ } που είχαμε ορίσει πιο πάνω στο προοΐμιο.

3. Εσωτερική λειτουργεία των μακροεντολών

Αν δούμε καλύτερα πώς λειτουργούν οι εντολές σαν τη παραπάνω τότε θα διαπιστώσoυμε στις εσωτερικές μακροεντολές
\@title
\@author
\@date που έχουν αποθηκευτεί τα δεδομένα που έχουμε περάσει με τις εντολές
\title
\author
\date Η χρήση αυτή , δηλαδή μία εντολή να αποθηκεύει δεδομένα σε μία άλλη , είναι πολύ συχνή. Η χρήση των μακροεντολών που περιέχουν το @ εμποδίζει το χρήστη να τις χρησιμοποιήσει κατά λάθος. Για να μαστε πιο ακριβείς για να τις χρησιμοποιήσουμε στο προοΐμιο θα πρέπει το @ να αντικατασταθεί με at . Για παράδειγμα:
\makeatletter
\renewcommand{\maketitle}{%
\begin{flushleft}%
\sffamily
{\Large\bfseries\color{red}\@title\par}%
\medskip
{\large\color{blue}\@author\par}%
\medskip
{\itshape\color{green}\@date\par}%
\bigskip\hrule\vspace*{2pc}%
\end{flushleft}%}
\makeatother Μπορείτε να συζητήσετε το παραπάνω κώδικα στο θέμα που έχει ανοιχτεί εδώ.