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

Περίληψη

Αυτό το μάθημα επεκτείνει τον ευανάγνωστο πίνακα του προηγούμενου μαθήματος στις περιπτώσεις που το απλό πλέγμα δεν λύνει. Διδάσκει πώς ενώνονται κελιά κατά πλάτος με \multicolumn, για να ομαδοποιηθούν επικεφαλίδες κάτω από μια μερική γραμμή και για να αλλάξει η στοίχιση ενός μόνο κελιού, και συνάγει πού πηγαίνει το πλεονάζον πλάτος μιας ομαδοποιημένης επικεφαλίδας· διδάσκει πώς ενώνονται κελιά καθ' ύψος με \multirow και πότε αξίζει να αποφεύγεται· συγκρίνει τρεις τρόπους να αποκτήσει ένας πίνακας το πλάτος της γραμμής (το tabularx με τη στήλη X, το tabular* με \extracolsep, και την κλιμάκωση με \resizebox, που αποθαρρύνεται)· στοιχειοθετεί πίνακες πολλών σελίδων με το longtable, με την επικεφαλίδα που επαναλαμβάνεται και τα περάσματα που χρειάζεται· παρουσιάζει την περιστροφή της σελίδας για πολύ φαρδιούς πίνακες· παράγει πίνακες από ένα αρχείο δεδομένων με τα csvsimple και pgfplotstable, δημιουργώντας το αρχείο με filecontents· δείχνει το tabularray ως σύγχρονη εναλλακτική· και κλείνει με τα συνήθη σφάλματα, διαβασμένα σε πραγματικά αρχεία καταγραφής.

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

  1. Να κατασκευάζεις ομαδοποιημένες επικεφαλίδες με \multicolumn και \cmidrule, να μετράς τα κελιά κάθε γραμμής και να προβλέπεις το αποτέλεσμα όταν η μέτρηση δεν συμφωνεί.
  2. Να επιλέγεις ανάμεσα στο \multirow και στο κενό κελί της παράδοσης του booktabs, αιτιολογώντας την επιλογή με βάση την ανάγνωση.
  3. Να προσαρμόζεις έναν πίνακα στο πλάτος της γραμμής με το tabularx ή με το tabular*, και να εξηγείς γιατί ένας πίνακας δεν κλιμακώνεται με \resizebox.
  4. Να στοιχειοθετείς με το longtable πίνακα πολλών σελίδων με δική του επικεφαλίδα και υποσέλιδο, να ερμηνεύεις τις προειδοποιήσεις του και να ξέρεις γιατί δεν μπορεί να μπει μέσα σε αιωρούμενο αντικείμενο.
  5. Να παράγεις έναν πίνακα από αρχείο δεδομένων και να εξηγείς τι κερδίζεται με μία μόνο πηγή των δεδομένων.

Κελιά που εκτείνονται σε στήλες

Η εντολή \multicolumn{n}{στοίχιση}{κείμενο} καταλαμβάνει τη θέση n συνεχόμενων κελιών μιας γραμμής και τα αντικαθιστά με ένα μόνο, με τη στοίχιση που δηλώνεται στο δεύτερο όρισμά της, η οποία γράφεται όπως στο προοίμιο του πίνακα (l, c, r, p{…}, αλλά και @{}). Από αυτό προκύπτει ένας κανόνας μέτρησης που ο συγγραφέας πρέπει να ελέγχει σε κάθε γραμμή: το άθροισμα των απλών κελιών και των πλατών που δηλώνονται σε κάθε \multicolumn πρέπει να είναι το πολύ ίσο με τον αριθμό των στηλών του προοιμίου.

Αλλαγή της στοίχισης ενός μόνο κελιού

Η πιο ταπεινή χρήση του \multicolumn εκτείνεται σε μία μόνο στήλη: το \multicolumn{1}{c}{…} δεν ενώνει τίποτα, αλλά επιβάλλει σε εκείνο το κελί στοίχιση διαφορετική από τη στοίχιση της στήλης του. Έτσι κεντράρεται η επικεφαλίδα μιας στήλης αριθμών στοιχισμένων δεξιά, ή στοιχίζεται δεξιά η ετικέτα μιας γραμμής συνόλου, που πρέπει να βρίσκεται δίπλα στον αριθμό της.

ΠαράδειγμαΟ προϋπολογισμός ενός ερευνητικού έργου
Κώδικας LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[greek]{babel}\babelfont{rm}{Noto Serif}\usepackage{booktabs}\begin{document}\begin{tabular}{llr}\topruleΚονδύλι & Λεπτομέρειες & \multicolumn{1}{c}{Ποσό} \\\midruleΤαξίδια   & Δύο επισκέψεις στο αρχείο & 1\,200 \\Υλικά     & Χαρτί και εξωτερικοί δίσκοι &  300 \\Υπηρεσίες & Ψηφιοποίηση αρχειακών φακέλων & 850 \\\midrule\multicolumn{2}{r}{Σύνολο} & 2\,350 \\\bottomrule\end{tabular}\end{document}
Αποτέλεσμα
Αποτέλεσμα

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

Ομαδοποιημένες επικεφαλίδες

Όταν πολλές στήλες μοιράζονται μια κατηγορία, ο πίνακας κερδίζει με επικεφαλίδα δύο επιπέδων: επάνω, το όνομα της ομάδας, που εκτείνεται στις στήλες της· από κάτω, το όνομα κάθε στήλης. Ανάμεσα στα δύο επίπεδα, το booktabs προσφέρει τη μερική γραμμή \cmidrule{2-3}, που υπογραμμίζει μόνο τις στήλες 2 έως 3· με τις επιλογές (lr), \cmidrule(lr){2-3}, η γραμμή κονταίνει λίγο από αριστερά και από δεξιά, ώστε δύο γειτονικές γραμμές να μην αγγίζονται και το μάτι να βλέπει δύο ομάδες.

ΠαράδειγμαΑποτελέσματα μιας μελέτης ανά ομάδα
Κώδικας LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[greek]{babel}\babelfont{rm}{Noto Serif}\usepackage{booktabs}\begin{document}\begin{tabular}{lrrrr}\toprule& \multicolumn{2}{c}{Ομάδα ελέγχου}& \multicolumn{2}{c}{Πειραματική ομάδα} \\\cmidrule(lr){2-3} \cmidrule(lr){4-5}Μέτρηση & Μ.Ο. & Τ.Α. & Μ.Ο. & Τ.Α. \\\midruleΑρχική & 52,1 & 8,3 & 51,7 & 7,9 \\Τελική & 54,0 & 8,1 & 61,2 & 7,4 \\\bottomrule\end{tabular}\end{document}
Αποτέλεσμα
Αποτέλεσμα

Η πρώτη γραμμή έχει ένα κενό κελί (το αρχικό &) και δύο κελιά δύο στηλών: ένα συν δύο συν δύο, πέντε, όσες και το προοίμιο. Παρατηρήστε ότι η στήλη της τυπικής απόκλισης (Τ.Α.) της πειραματικής ομάδας είναι φαρδύτερη από εκείνη της ομάδας ελέγχου.

Πού πηγαίνει το πλεονάζον πλάτος

Η διαφορά πλάτους του προηγούμενου παραδείγματος δεν είναι τυχαία. Αν το κείμενο ενός \multicolumn είναι φαρδύτερο από το άθροισμα των στηλών που καλύπτει, ο πίνακας πρέπει να διευρυνθεί, και η μηχανή δίνει όλη την περίσσεια στην τελευταία από αυτές τις στήλες· οι υπόλοιπες κρατούν το φυσικό τους πλάτος. Η «Πειραματική ομάδα» είναι φαρδύτερη από τα «Μ.Ο.» και «Τ.Α.» μαζί, και τη διαφορά την παίρνει η δεύτερη. Με μια επικεφαλίδα πολύ μακρύτερη από τα δεδομένα της, το φαινόμενο παύει να είναι διακριτικό.

ΠαράδειγμαΜια υπερβολικά μακριά επικεφαλίδα
Κώδικας LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[greek]{babel}\babelfont{rm}{Noto Serif}\usepackage{booktabs}\begin{document}\begin{tabular}{lrr}\toprule& \multicolumn{2}{c}{Πειραματική ομάδα μετά την παρέμβαση} \\\cmidrule(lr){2-3}Μέτρηση & Μ.Ο. & Τ.Α. \\\midruleΑρχική & 51,7 & 7,9 \\Τελική & 61,2 & 7,4 \\\bottomrule\end{tabular}\end{document}
Αποτέλεσμα
Αποτέλεσμα

Ο αριθμός του μέσου όρου μένει μακριά από τον αριθμό της απόκλισής του, χωρισμένος από ένα κενό που δεν σημαίνει τίποτα. Η διόρθωση δεν είναι τυπογραφική, αλλά συντακτική: μια σύντομη επικεφαλίδα («Πειραματική») και η εξήγηση στη λεζάντα του πίνακα ή στο κείμενο.