Academic Writing

BibTeX έναντι BibLaTeX Επεξήγηση

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

5 min
Table comparing BibTeX vs BibLaTeX by formatting logic, backend processor and Unicode support

Ο διδακτορικός φοιτητής ανοίγει το παλιό πρότυπο διατριβής LaTeX του επιβλέποντά του για να αρχίσει να γράφει τη δική του διατριβή, αλλά βρίσκει ένα αρχείο References.bib τοποθετημένο δίπλα σε μια εντολή bibliographystyle που δείχνει στο apalike. Δεν έχει ιδέα ποιο είναι το σύστημα παραπομπών του καθενός. Ο φάκελος δεν περιέχει τίποτε που να το υποδηλώνει αυτό άμεσα, και επιπλέον, ο αρχικός δημιουργός του προτύπου βρίσκεται τώρα τρεις μεταδιδακτορικούς ερευνητές και μία ήπειρο μακριά.

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

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

BibTeX vs BibLaTeX: Πού Συμβαίνει Πραγματικά ο Διαχωρισμός

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

BibLaTeX διαχωρίζει αυτές τις δύο εργασίες. Η μορφοποίηση γίνεται μέσα στο ίδιο το LaTeX, ελεγχόμενη από συνηθισμένες μακροεντολές LaTeX στο δικό του προοίμιο του εγγράφου και όχι από ξεχωριστό αρχείο στυλ. Η επεξεργασία των δεδομένων, η ανάγνωση, η ταξινόμηση και η προετοιμασία των εγγραφών του αρχείου .bib για έξοδο, αναλαμβάνεται από ένα ειδικό πρόγραμμα υποστήριξης που ονομάζεται Biber, το οποίο το BibLaTeX καλεί αυτόματα κατά τη μεταγλώττιση. Το BibTeX επεξεργάζεται και μορφοποιεί σε ένα βήμα, το BibLaTeX διαχωρίζει τις δύο εργασίες μεταξύ μακροεντολών LaTeX και Biber. Αυτός ο αρχιτεκτονικός διαχωρισμός είναι η πραγματική απάντηση στο τι τα διαφοροποιεί.

BibTeXBibLaTeX
Λογική μορφοποίησηςΈνα ξεχωριστό αρχείο στυλ .bstΜακροεντολές LaTeX μέσα στο έγγραφο
Επεξεργαστής υποστήριξηςΤο ίδιο το BibTeX, σε ένα βήμαBiber, που εκτελείται αυτόματα κατά τον χρόνο μεταγλώττισης
Υποστήριξη UnicodeΚαμία εγγενήςΠλήρης
Πολύγλωσσες βιβλιογραφίεςΧρειάζεται πρόσθετο πακέτοΕνσωματωμένο, ακολουθεί τη ρύθμιση γλώσσας του εγγράφου
Τυπική κλήση στο προοίμιοbibliographystyle plus bibliographyusepackage biblatex plus addbibresource

Γιατί το BibLaTeX Διαχειρίζεται Καλύτερα Μη Αγγλικές και Ασυνήθεις Πηγές

Το κενό στο Unicode εξηγεί από μόνο του το μεγαλύτερο μέρος του προβλήματος με τις μη αγγλικές γλώσσες. Το BibTeX δεν έχει εγγενή υποστήριξη Unicode, επομένως το όνομα ενός συγγραφέα ή ένας τίτλος που περιέχει χαρακτήρα εκτός του βασικού λατινικού συνόλου χρειάζεται πρώτα μια παράκαμψη. Το backend Biber του BibLaTeX υποστηρίζει πλήρες Unicode, έτσι οι τονισμένοι χαρακτήρες, τα μη λατινικά συστήματα γραφής και οτιδήποτε άλλο στην αρχική γλώσσα μιας πηγής μπαίνουν απευθείας στο αρχείο .bib και εξέρχονται σωστά μορφοποιημένα.

Η διαχείριση της γλώσσας υπερβαίνει τους μεμονωμένους χαρακτήρες. Το BibLaTeX προσαρμόζει αυτόματα συνδετικούς όρους, όπως edition ή editor, ώστε να ταιριάζουν με τη γλώσσα στην οποία έχει οριστεί το έγγραφο μέσω babel ή polyglossia, και ενσωμάτωσε λειτουργικότητα που παλαιότερα υπήρχε σε αρκετά ξεχωριστά πρόσθετα πακέτα για πολύγλωσσες ή πολυμερείς βιβλιογραφίες. Τα κλασικά στυλ BibTeX γράφονται συνήθως για μία γλώσσα, σχεδόν πάντα τα αγγλικά, οπότε ένα έγγραφο που παραπέμπει σε γαλλικές ή γερμανικές πηγές χρειαζόταν συμβατικά ένα επιπλέον πακέτο μόνο γι' αυτό.

Το δεύτερο μισό του ισχυρισμού προκύπτει από την ίδια αρχιτεκτονική διάκριση. Διατηρώντας τους κανόνες μορφοποίησης σε μακροεντολές LaTeX αντί σε μια μικρή, ειδικά σχεδιασμένη γλώσσα στυλ, το BibLaTeX μπορεί να υποστηρίξει από προεπιλογή ένα ευρύτερο σύνολο τύπων εγγραφών. Αυτοί καλύπτουν πηγές όπως διαδικτυακούς πόρους, σύνολα δεδομένων και έργα πολλών τόμων, τα οποία ο αρχικός σχεδιασμός του BibTeX δεν είχε προβλέψει. Ένας ερευνητής που παραπέμπει σε ένα σύνολο δεδομένων, ένα preprint ή μια αναφορά μόνο στο διαδίκτυο θα βρει συνήθως έναν τύπο εγγραφής BibLaTeX ήδη έτοιμο γι' αυτό, ενώ μια ροή εργασίας BibTeX σημαίνει ότι πρέπει να προσαρμοστεί ένας υπάρχων τύπος, συνήθως ο γενικός miscellaneous, ώστε να ταιριάξει.

Ανθρωποποιήστε τη δική σας εργασία

Μετασχηματίστε το κείμενό σας με τη βοήθεια AI και κάντε το να ακούγεται ανθρώπινο, χωρίς να αγγίξετε σημαντικές λέξεις ή παραπομπές.

Ξεκινήστε δωρεάν

Πώς να διαπιστώσετε ποιο από τα δύο χρησιμοποιεί ήδη το έγγραφό σας

Το προοίμιο το ξεκαθαρίζει σε δευτερόλεπτα. Ένα έγγραφο που φορτώνει biblatex, με μια γραμμή addbibresource που δείχνει σε ένα αρχείο .bib, χρησιμοποιεί BibLaTeX. Ένα έγγραφο που αντίθετα καλεί bibliographystyle και στη συνέχεια bibliography πιο κοντά στο τέλος του αρχείου, χωρίς καμία αναφορά στο biblatex οπουδήποτε στο προοίμιο, χρησιμοποιεί το κλασικό BibTeX.

  • Αναζητήστε στο προοίμιο τη λέξη biblatex. Αν εμφανίζεται σε γραμμή πακέτου, το έγγραφο χρησιμοποιεί BibLaTeX.
  • Ελέγξτε για addbibresource. Υπάρχει μόνο στο BibLaTeX, ενώ το κλασικό BibTeX χρησιμοποιεί bibliography αντί γι' αυτό.
  • Ελέγξτε ποιο πρόγραμμα καλεί η διαδικασία κατασκευής. Ένα έγγραφο BibLaTeX χρειάζεται να εκτελεστεί το Biber στη σειρά μεταγλώττισης, όχι το BibTeX.
  • Ελέγξτε τις εντολές παραπομπής στο κείμενο. Οι parencite και textcite υπάρχουν μόνο στο BibLaTeX, ενώ το cite μόνο του λειτουργεί και στα δύο, γι' αυτό ο έλεγχος του προοιμίου έρχεται πρώτος.

Τι πραγματικά κοστίζει η μετάβαση από το BibTeX στο BibLaTeX

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

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

Το πραγματικό κόστος βρίσκεται στο προοίμιο και στην αλυσίδα κατασκευής, όχι στα δεδομένα. Τα bibliographystyle και bibliography χρειάζονται αντικατάσταση με biblatex και addbibresource, κάθε εντολή παραπομπής που έχει δανειστεί από το natbib χρειάζεται έλεγχο ως προς τα αντίστοιχα του BibLaTeX, και ο μεταγλωττιστής ή ο επεξεργαστής πρέπει να ρυθμιστεί ώστε να εκτελεί Biber αντί για BibTeX κατά την κατασκευή. Αυτό το τελευταίο βήμα είναι εκείνο που παγιδεύει τους ανθρώπους, ένας επεξεργαστής που εξακολουθεί να είναι ρυθμισμένος για την παλιά ακολουθία κατασκευής παράγει ένα έγγραφο χωρίς βιβλιογραφία καθόλου, και χωρίς σφάλμα που να δείχνει την πραγματική αιτία.

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

Πρέπει να κάνετε τη μετάβαση ή να αφήσετε ένα λειτουργικό πρότυπο ως έχει;

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

Ένα έγγραφο που παραθέτει πηγές σε περισσότερες από μία γλώσσες, αντλεί από σύνολα δεδομένων, ιστότοπους ή άλλους μη τυπικούς τύπους πηγών, ή έχει κληρονομηθεί ειδικά επειδή ο αρχικός του συγγραφέας το είχε ήδη δομήσει γύρω από το BibLaTeX, αποτελεί διαφορετική περίπτωση. Εκεί το ερώτημα δεν είναι αν πρέπει να γίνει η μετάβαση, αλλά αν το έγγραφο λειτουργούσε ποτέ με το κλασικό BibTeX, και ακριβώς γι' αυτό υπάρχει ο παραπάνω έλεγχος του προοιμίου.

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

Ωστόσο, δεν είναι κάθε πρόβλημα παραπομπών πρόβλημα LaTeX. Ένας γεννήτρια παραπομπών που αντλεί μια αναφορά απευθείας από εγγραφή εκδότη επιλύει το ίδιο υποκείμενο έργο για όποιον εργάζεται σε Word αντί για LaTeX, χωρίς να φαίνεται πουθενά αρχείο .bst ή εκτέλεση του Biber.

XLinkedInFacebook

Συχνές ερωτήσεις

Η διαφορά μεταξύ BibTeX και BibLaTeX έγκειται στο πού γίνεται η εργασία μορφοποίησης. Το BibTeX διαβάζει και μορφοποιεί τα δεδομένα παραπομπών μόνο του, με καθοδήγηση από ένα ξεχωριστό αρχείο στυλ .bst. Το BibLaTeX χωρίζει αυτή την εργασία, ένα πρόγραμμα backend που ονομάζεται Biber χειρίζεται τα δεδομένα, ενώ η μορφοποίηση ελέγχεται από συνηθισμένες μακροεντολές LaTeX στο έγγραφο. Αυτή η διάκριση είναι ο λόγος που το BibLaTeX χειρίζεται πιο εύκολα Unicode, πολλές γλώσσες και ασυνήθιστους τύπους πηγών.

Sara

Content planner and copywriter at TextPulse. Sara runs the blog day to day, from planning and drafting through to publishing. She writes the practical guides: clear explanations of academic writing problems, aimed at the person who actually has to hand something in.