Biblatex

Από mechpedia

Μετάβαση σε: πλοήγηση, αναζήτηση

Το biblatex είναι ένα πακέτο για τη δημιουργία βιβλιογραφίας. Υποστηρίζει πολυγλωσσικές βιβλιογραφίες και χαρακτήρες Unicode.

Πίνακας περιεχομένων

Γενικά

Μέχρι πρότινος η βασική επιλογή για τη δημιουργία βιβλιογραφίας ήταν το πακέτο BibTeX. Ο βασικός περιορισμός του ήταν ότι δεν υποστήριζει Unicode χαρακτήρες. To πακέτο BibLaTeX είναι ο αντικαστάτης του BibTex και εκτός από την υποστήριξη του Unicode, προσφέρει πολύ περισσοτερες δυνατότητες από αυτο.

Μέσω του BibLaTeX είναι εύκολο να δημιουργηθούν πολυγλωσσικές βιβλιογραφίες με σωστό hyphenation. Το default πακέτο με το οποίο συνεργάζεται είναι το polyglossia, αλλά είναι δυνατό να δουλέψει και με το xgreek. To sorting των βιβλιογραφικών πηγών γίνεται εύκολα με το πρόγραμμα biber. Για μη αγγλόφωνες βιβλιογραφίες, προτείνεται από τους δημιουργούς του biblatex και το csquotes.

ΝΟΤΕ 1: Αν η βιβλιογραφία είναι για διεθνή περιοδικά, ίσως είναι καλύτερα, να τη δημιουργήσετε με το bibtex καθώς μπορεί το biblatex να μην είναι συμβατό με το document style που θα χρησιμοποιηθεί.

ΝΟΤΕ 2: Αν και το biblatex συνεργάζεται με το (pdf)latex και το πακέτο babel χωρίς προβλήματα, ειδικά για τα ελληνικά δεν είναι δυνατόν να δουλέψει. Περισσότερες πληροφορίες στην παράγραφο 3.9.3 του manual.

Χρήση

Δημιουργήστε ένα αρχείο *.bib στον ίδιο φάκελο με το βασικό σας αρχείο *.tex.

To αρχείο bib που θα χρησιμοποιηθεί εκλέγεται με την εντολή

\addbibresource{bibliography_file.bib}

Η βιβλιογραφία στοιχειοθετείται με την εντολή

\begin{document}
...
\printbibliography
...
\end{document}

Οι εντολες για την παραγωγή του αρχείου είναι οι ακόλουθες:

xelatex main.tex
biber main
xelatex main.tex
xelatex main.tex

Αρχείο *.bib

Τα entries του αρχείου *.bib είναι συμβατά με αυτά του bibtex.

Αν χρησιμοποιείται το Polyglossia, τότε σε κάθε entry πρέπει να μπεί το πρόσθετο field hyphenation για να γίνονται σωστά οι υφενώσεις στη βιβλιογραφία.

Αν θέλουμε να έχουμε ξεχωριστές βιβλιογραφίες (πχ Ελληνική και Ξενόγλωσση) τότε βάζουμε και το field keywords.

To Αρχείο πρέπει να έχει οπωσδήποτε κατάληξη bib. Π.χ. bibliography.bib

@book{doe,
  hyphenation = {english},
  keywords = {englishBibliography},
  author = {Doe, John},
  title = {My theory about life, universe and everything else. The answer is unbelievable},
  publisher = {University of East-Western Thornshire},
  location = {TerraIncognita},
  date = {2999},
}

@book{papadopoulos,
  hyphenation = {greek},
  keywords = {greekBibliography},
  author = {Παπαδόπουλος, Κώστας Μ.},
  isbn = {1111111111111},
  pages = {999},
  publisher = {Τα πάντα όλα},
  title = {Η θεωρία μου για τη ζωή, το σύμπαν και τη σκουληκομερμυγκότρυπα!},
  year = {3001}
}

Polyglossia

Με το polyglossia, το οποίο είναι ο αντικαταστάτης του babel για το xelatex, πρέπει να δώσουμε το οption babel στο biblatex. Στη συνέχεια θα χρησιμοποιηθεί το entry hyphenation του biblatex.

Αρχείο main.tex

\documentclass[draft]{article}

% Language declaration
\usepackage{polyglossia}
\setmainlanguage[variant=monotonic]{greek}
\setotherlanguage{english}

% Fonts
\newfontfamily\greekfont[Mapping=tex-text]{Linux Libertine O} % to suppress a warning message about changed references.
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}

% highly advised by biblatex's authors.
\usepackage{csquotes}

\usepackage[
  backend=biber,
  style=authoryear,
  babel=other,
]{biblatex}

% Add the *.bib file
\addbibresource{bibliography.bib}

\begin{document}

\parencite{papadopoulos}

\parencite{doe}

% Print the bibliography
\printbibliography

\end{document}

Xgreek

O ευκολότερος τρόπος για σωστές υφενώσεις σε πολυγλωσσική βιβλιογραφία είναι η χρήση του πακέτου ucharclasses (βλ. Hyphenation - Υφενώσεις). To πρόβλημα στην περίπτωση αυτή είναι ότι δε μπορεί να γίνει διάκριση μεταξύ των γλωσσών που χρησιμοποιούν γλύφες του ίδιου Unicode Block (πχ Ιταλικά και Ισπανικά). Για δίγλωσσα κείμενα όμως, όπως είναι ένα κείμενο με ελληνικά και αγγλικά, η λύση αυτή δουλεύει πολύ καλά.

Minimum Working Example
\documentclass[a4paper,draft]{article}

\usepackage[Greek,Latin]{ucharclasses}

% Language declaration
\usepackage{xltxtra,xgreek}

\setTransitionsForGreek{\setlanguage{greek}}{\setlanguage{american}}

% Fonts
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}

% highly advised by biblatex's authors.
\usepackage{csquotes}

\usepackage[
  language=greek,
  backend=biber,
  style=authoryear,
]{biblatex}
 
% Add the *.bib file
\addbibresource{bibliography.bib}

\begin{document}


\section{Βιβλιογραφικές αναφορές}
H πρώτη βιβλιογραφική αναφορά είναι: \parencite{doe}, ενώ η δεύτερη είναι \parencite{papadopoulos}.

\printbibliography

\end{document}

Εναλλακτικά μπορούμε να ορίσουμε 2 μακροεντολες για την εύκολη αλλαγή της γλώσσας (βλ. Hyphenation - Υφενώσεις)

% New commands to declare language
\newcommand{\en}[1]{\setlanguage{american}#1\setlanguage{monogreek}}
\newcommand{\gr}[1]{\setlanguage{monogreek}#1\setlanguage{american}}

Αν υπάρχει μία κυρίαρχη γλώσσα στη βιβλιογραφία (πχ αγγλική) τότε η πιο εύκολη λύση είναι να μπεί η εντολή \printbibliography μέσα σε περιβάλλον αγγλικού κειμένου. Δηλαδή:

\en{\printbibliography}

ενώ για να γίνει σωστά το hyphenation των ελληνικών αναφορών σε αυτή την περίπτωση, πρέπει σε κάθε πεδίο της ελληνικής αναφοράς στο αρχείο bib να δηλωθεί ότι το κείμενο είναι ελληνικό. Δηλαδή:

@book{papadopoulos,
    hyphenation = {greek},
    author = {\gr{Παπαδόπουλος, Κώστας Μ.}},
    isbn = {1111111111111},
    pages = {999},
    publisher = {\gr{Τα πάντα όλα}},
    title = {\gr{Η θεωρία μου για τη ζωή, το σύμπαν και τη σκουληκομερμυγκότρυπα!}},
    year = {3001}
}

Σε περίπτωση που η πλειοψηφία των βιβλιογραφικών αναφορών είναι ελληνικές τότε ακολουθείται η αντίστροφη διαδικασία.

Στην περίπτωση πάλι που οι αναφορές είναι περίπου εξίσου μοιρασμένες, ίσως η καλύτερη λύση είναι να γίνουν 2 ξεχωριστές βιβλιογραφίες (μία για την ελληνική και μία για την ξενόγλωσση), οπότε δε χρειάζεται να μαρκάρονται τα fields ως αγγλικά ή ελληνικά.

Δημιούργία 2 ή περισσοτέρων βιβλιογραφιών

Το biblatex μπορεί να διαλέξει ποια entries θα εισάγει σε μία βιβλιογραφία μέσω των keywords που αυτά έχουν. Στο παράδειγμα που ακολουθεί δημιουργούνται 2 βιβλιογραφίες (ελληνική και ξενόγλωσση). Δεν υπάρχουν περιορισμοί στον αριθμό των keywords του κάθε entry, ή στον αριθμό των βιβλιογραφιών που θα δημιουργηθούν.

\documentclass[a4paper,draft]{article}
 
\usepackage[Greek,Latin]{ucharclasses}
 
% Language declaration
\usepackage{xltxtra,xgreek}
  
\setTransitionsForGreek{\setlanguage{greek}}{\setlanguage{american}}

% Fonts
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}

% highly advised by biblatex's authors.
\usepackage{csquotes}

\usepackage[
  backend=biber,
  style=authoryear,]
  {biblatex}
 
% Add the *.bib file
\addbibresource{bibliography.bib}

\begin{document}

\section{Βιβλιογραφικές αναφορές}
H πρώτη βιβλιογραφική αναφορά είναι: \parencite{doe}, ενώ η δεύτερη είναι \parencite{papadopoulos}.

\printbibliography[keyword=EnglishΒibliography,title={Ξενόγλωσση Βιβλιογραφία}]
\printbibliography[keyword=GreekBibliography,title={Ελληνική Βιβλιογραφία}]

\end{document}

Δείτε επίσης

Ανακτήθηκε από το "http://mechpedia.gr/wiki/Biblatex".
Εμφανίσεις
Προσωπικά εργαλεία
Google AdSense