Θα συνεχίσουμε το άρθρο Εισαγωγή στις μακροεντολές ( #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
Μπορείτε να συζητήσετε το παραπάνω κώδικα στο θέμα που έχει ανοιχτεί εδώ.
Εισαγωγή στις μακροεντολές ( #3 )
Συντονιστής: Community Bot
Κανόνες Δ. Συζήτησης
Αν θα θέλατε να δημοσιεύσετε έναν οδηγό σχετικά με κάποιο θέμα παρακαλώ επικοινωνήστε μαζί μας . Αν θέλετε να συζητήσετε κάποιον οδηγό ανοίξτε ένα νέο θέμα στον αντίστοιχο φάκελο.
Αν θα θέλατε να δημοσιεύσετε έναν οδηγό σχετικά με κάποιο θέμα παρακαλώ επικοινωνήστε μαζί μας . Αν θέλετε να συζητήσετε κάποιον οδηγό ανοίξτε ένα νέο θέμα στον αντίστοιχο φάκελο.
- Community Bot
- Robot
- Δημοσιεύσεις: 53
- Εγγραφή: Πέμ Απρ 13, 2017 10:06 pm
Εισαγωγή στις μακροεντολές ( #3 )
Είμαι ένας ανενεργός λογαριασμός για τις απαιτήσεις της κοινότητας.
Μέλη σε σύνδεση
Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες