Εισαγωγή στις μακροεντολές ( #4 )
Δημοσιεύτηκε: Κυρ Ιούλ 09, 2017 2:20 pm
Στον οδηγό αυτό θα δούμε πώς μπορούμε να επαναπρογραμματίσουμε τις εσωτερικές λειτουργίες του LaTeX. Ας πάρουμε για παράδειγμα το template του report. Ας υποθέσουμε ότι γράφουμε την εντολή
\section{Εισαγωγή} Τότε θα εμφανιστεί το κείμενο
0.1 Εισαγωγή
το οποίο δεν είναι ακριβώς αυτό που θέλουμε αφού μας εμφανίζει το 0 πράγμα λογικό αφού δε βρισκόμαστε μέσα σε κάποιο κεφάλαιο. Μπορούμε όμως να το επαναπροσδιορίσουμε αφού η εντολή \section αντιστοιχεί σε μία εσωτερική εντολή \thesection και άρα χρησιμοποιώντας τη μάκρο
\renewcommand \thesection
{\thechapter.\@arabic\c@section} Η παραπάνω εντολή επαπροσδιορίζει την εντολή \thesection ενεργοποιώντας την εντολή \thechapter και στη συνέχεια τυπώνει μία τελεία ακολουθούμενη από την αραβική τιμή του μετρητή που καλείται section. ( Η εσωτερική λειτουργεία του LaTeX για να αναφέρεται σε μετρητές είναι η \c )
Κάτι παρόμοιο έχουμε κάνει και όταν παραμετρικοποίησαμε τις λίστες αρίθμησης στο άρθρο εδώ.
\section{Εισαγωγή} Τότε θα εμφανιστεί το κείμενο
0.1 Εισαγωγή
το οποίο δεν είναι ακριβώς αυτό που θέλουμε αφού μας εμφανίζει το 0 πράγμα λογικό αφού δε βρισκόμαστε μέσα σε κάποιο κεφάλαιο. Μπορούμε όμως να το επαναπροσδιορίσουμε αφού η εντολή \section αντιστοιχεί σε μία εσωτερική εντολή \thesection και άρα χρησιμοποιώντας τη μάκρο
\renewcommand \thesection
{\thechapter.\@arabic\c@section} Η παραπάνω εντολή επαπροσδιορίζει την εντολή \thesection ενεργοποιώντας την εντολή \thechapter και στη συνέχεια τυπώνει μία τελεία ακολουθούμενη από την αραβική τιμή του μετρητή που καλείται section. ( Η εσωτερική λειτουργεία του LaTeX για να αναφέρεται σε μετρητές είναι η \c )
Κάτι παρόμοιο έχουμε κάνει και όταν παραμετρικοποίησαμε τις λίστες αρίθμησης στο άρθρο εδώ.