Εισαγωγή στη LaTeX : Δημιουργία βιβλιογραφίας

Το σημερινό άρθρο με παίδεψε αρκετά. Μια αναζήτηση στα σχετικά forums (ελληνικά και ξένα) με είχαν μπερδέψει αρκετά στο κομμάτι της βιβλιογραφίας. Οι μεν παλιοί και φανατικοί χρήστες της LaTeX (και όχι της XeLaTeX όπως κάνουμε εμείς) διακηρύττουν την ανωτερότητα του BibTeX και πίνουν νερό στο όνομα του.

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

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

eisagogi-latex-dimiourgia-bibliografias

Μέθοδος 1η : Bibtex

Σε πρώτη φάση θα αποπειραθούμε να γράψουμε ένα μικρό κείμενο με τη LaTeX για να κάνουμε χρήση και της μεθόδου με το bibtex. Σημειωτέον ότι παλαιότερα η LaTeX ήταν άμεσα συνυφασμένη με τη χρήση της γραμμής εντολών (ή του τερματικού αν προτιμάτε) και ειδικά στη μέθοδο αυτή υπήρχε μια προεργασία που για τους αρχάριους και γενικά τον πολύ κόσμο ήταν κάτι παραπάνω από βαρετή. Προτού ξεκινήσουμε θα πρέπει να κάνουμε μερικές τροποποιήσεις στο texmaker για να μπορέσουμε να κάνουμε χρήση του bibtex. Στην επιλογή configure του texmaker επιλέγουμε τη 2η επιλογή όπως φαίνεται στην εικόνα.

eisagogi-latex-dimiourgia-bibliografias-texmaker

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

  • Το αρχείο LaTeX μεταγλωττίζεται και εφόσον δεν υπάρχουν λάθη…
  • …το αρχείο bib συνδυάζεται με το tex μέσω του bibtex
  • Στη συνέχεια μεταγλωττίζεται μια φορά αλλά ποτέ αυτό δεν αρκεί
  • Μεταγλωττίζεται άλλη μια για να μπούνε οι αναφορές σωστά
  • Τέλος εξάγεται το αρχείο σε μορφή pdfeisagogi-latex-dimiourgia-bibliografias-metaglotisi

Ωραία τα κάναμε αυτά και μετά τι;

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

eisagogi-latex-dimiourgia-bibliografias-code

Οι λέξεις με πράσινο είναι αυτές μέσω των οποίων θα κάνουμε τις αναφορές στο κείμενο μας με τη χρήση της εντολής \cite{πράσινη λέξη} όπως θα δούμε και στη συνέχεια. Προσοχή!!! Τα αρχεία σας πρέπει να είναι όλα στον ίδιο φάκελο και ξαναλέω ότι κάνουμε χρήση των πακέτων της LaTeX και ΟΧΙ της XeLaTeX.

Δημιουργία βιβλιογραφίας

Παραθέτουμε τον κώδικα του παρόντος άρθρου και αναφέρω ενδεικτικά ότι τα πακέτα που θα χρησιμοποιηθούν για την δημιουργία της βιβλιογραφίας είναι τα:

  • babelbib
  • csquotes

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

\documentclass[a4paper,12pt]{article}

%\usepackage{ucs}                 %πακέτο για utf8 encoding
\usepackage[utf8]{inputenc}       %πακέτο για utf8 κωδικοποίηση 
\usepackage[greek,english]{babel} %ελληνικά με τη χρήση του πακέτου babel
\newcommand{\en}{\selectlanguage{english}} %Δημιουργία εντολής για εύκολη αλλαγή στα Ελληνικά
\newcommand{\gr}{\selectlanguage{greek}}   %Δημιουργία εντολής για εύκολη αλλαγή στα Αγγλικά
\usepackage{babelbib}                      %Πακέτο για βιβλιογραφία
\usepackage{csquotes}                      %Πακέτο για βιβλιογραφία (προτείνεται από τους δημιουργούς του biblatex
\usepackage[nottoc]{tocbibind}             %Πακέτο για εμφάνιση βιβλιογραφίας στα περιεχόμενα
\addto{\captionsenglish}{\renewcommand*{\contentsname}{\gr Περιεχόμενα}} %Αλλαγή του ονόματος των περιεχομένων
\renewcommand{\figurename}{\gr Εικόνα} %Αλλαγή του ονόματος του figure 
\usepackage{graphicx}                  %Πακέτο για την εισαγωγή εικόνων
\begin{document} 
\tableofcontents % εμφάνιση περιεχομένων
\newpage

\section{\gr τι είναι το \en Arch linux}

\begin{figure}[hbp!]
\centering
\includegraphics[natwidth=300bp,natheight=225bp]{archlinux.png}
\caption{\gr λογότυπο του \en Arch Linux}
\end{figure}

\gr Το \en Arch Linux\cite{archlinux} \gr είναι μια ανεξάρτητα ανεπτυγμένη \en i686/x86\_64 \gr διανομή γενικής χρήσεως, βασισμένη στο μοντέλο αναβαθμίσεων \en rolling-release\cite{rolling} \gr και αρκετά ευέλικτη ώστε να ταιριάζει σε οποιονδήποτε ρόλο. Η ανάπτυξή του εστιάζει στην απλοϊκότητα, στο μινιμαλισμό και τον ορθό κώδικα. Το \en Arch \gr εγκαθίσταται ως ένα βασικό σύστημα και ρυθμίζεται από το χρήστη ώστε να χρησιμοποιεί το ιδανικό του γραφικό περιβάλλον και να εγκαθιστά μόνο ότι βρίσκει επιθυμητό για τους μοναδικούς του σκοπούς\footnote{\en {https://en.wikipedia.org/wiki/Arch\_Linux}}. 

\pagebreak

\subsection{\gr Πλεονεκτήματά}
Το \en Arch \gr έχει ένα ελαφρύ περιβάλλον μετά την εγκατάσταση, (περιβάλλον γραμμής εντολών), ήδη συνταγμένο και βελτιστοποιημένο για \en i686/x86\_64 \gr αρχιτεκτονικές. Είναι γρήγορο, ελαφρύ, ευέλικτο και απλό. Η φιλοσοφία και η εφαρμογή του σχεδιασμού του, το κάνουν εύκολο στο να επεκταθεί και να προσαρμοστεί σε οποιοδήποτε τύπο μηχανήματος και αν χτίζετε-από ένα μινιμαλιστικό μηχάνημα κονσόλας, στα πιο επιβλητικά και πλούσια περιβάλλοντα χρήστη, διαθέσιμα. 

\subsubsection{\gr Διαχείριση πακέτων}

Το \en Arch \gr υποστηρίζεται από ένα εύκολο στη χρήση σύστημα δυαδικών πακέτων, το pacman, που επιτρέπει στο χρήστη την αναβάθμιση ολόκληρου του συστήματός σας με μία εντολή. Ο \en Pacman \gr είναι γραμμένος σε \en C \gr και είναι ελαφρύς και γρήγορος. Το \en Arch \gr επίσης χρησιμοποιεί ένα σύστημα παρόμοιο με τα \en ports \gr για χτίσιμο πακέτων \en (Arch Build System) \gr για να κάνει εύκολη την κατασκευή πακέτων \en (compile),\gr η οποία μπορεί επίσης να συγχρονιστεί με μία εντολή. Ολόκληρο το σύστημά μπορεί να ξανακτιστεί με μία εντολή. Το μοντέλο \en rolling release \gr επιτρέπει στο σύστημα την συνεχή και αδιάκοπη αναβάθμιση, χωρίς ανάγκη για επανεγκατάσταση.
Το \en Arch Linux \gr προσπαθεί να προσφέρει την σταθερότερη καινούρια έκδοση για το λογισμικό του. Οι χρήστες υποστηρίζουμε ένα βελτιωμένο πυρήνα πακέτων που έχει οριστεί για το βασικό\en i686 \gr και \en x86-64 \gr σύστημα, χιλιάδες πρόσθετα, υψηλής ποιότητας δυαδικά πακέτα που βρίσκονται ανάμεσα στα αποθετήρια χρηστών \en (Arch User Repositories, AUR) \gr, συνοδευόμενα \en PKGBUILD scripts\gr, για την κατασκευή \en (building) \gr και τη συσκευασία \en (packaging) \gr από την πηγή \en (source) .\gr Το \en Arch \gr στοχέυει στη διανομή προγραμμάτων που δεν τροποποιήθηκαν \en (vanilla software) \gr, δηλαδή τα πακέτα προσφέρονται όπως τα διανέμει εξ αρχής ο προγραμματιστής τους. Διορθώσεις προκύπτουν μόνο σε σπάνιες περιπτώσεις, ώστε να αποφευχθεί αστάθεια που μπορεί να προκύψει σε αυτό το μοντέλο αναβαθμίσεων.

\bibliographystyle{babunsrt}
\bibliography{cerebrux_3} 
\end{document}

Και ο κώδικας του αρχείου της βιβλιογραφίας μας (cerebrux_3.bib). Όπως παρατηρούμε στο τέλος του .tex αρχείου συμπεριλαμβάνουμε το .bib χωρίς την κατάληξη του με τη χρήση της εντολής \bibliography{όνομα_αρχείου}

@Article{archlinux,
languange = {english},
author = {Arch Linux},
title = {Latest installation medium},
year = {2013}
}
@book{rolling,
hyphenation = {greek},
author = {\gr{Λίνους Τορβαλντς}},
publisher = {Linux Foundation},
title = {{\gr{Ο πυρήνας του}} {\en{Linux}}},
year = {1991}
}

Όπως παρατηρούμε, η LaTeX μας βγάζει το λάδι στην εναλλαγή ελληνικών και αγγλικών στο ίδιο κείμενο και για αυτόν το λόγο δημιουργήσαμε δυο νέες εντολές μέσω της χρήσης της εντολής \newcommand για πιο εύκολη χρήση μέσα στο κείμενο. Ένα ακόμη πρόβλημα που συνάντησα στην πορεία ήταν τα ελληνικά στο αρχείο της βιβλιογραφίας. Αυτό γιατί όπως βλέπουμε μπορούμε να ορίσουμε αρκετά πεδία σε κάθε ένα βιβλίο (υπάρχουν και templates στο διαδίκτυο με πολύ περισσότερα πεδία). Για να «ξεγελάσουμε» το bibtex ουσιαστικά ορίσαμε ελληνική υφένωση στα ελληνικά κείμενα αλλά κάναμε αλλαγή γλώσσας στα ελληνικά με την εντολής \gr που δημιουργήσαμε. Αν αυτό δεν είναι πατέντα τότε τι είναι;

Τα προβλήματα που ενδεχομένως να συναντήσετε

Το είπα και στην αρχή το λέω και τώρα. Δεν με βόλεψε ο τρόπος δημιουργίας βιβλιογραφίας με το bibtex και αυτό γιατί άπαξ και κάνετε κάποιο λάθος στη βιβλιογραφία πρέπει να σβήσετε τα προσωρινά αρχεία που δημιουργεί το texmaker και να ξανακάνετε quick build (F1). Για να είστε σίγουροι ότι τα προβλήματα είναι από το bib αρχείο καλό είναι να τρέξετε το αρχείο σας με την 1η επιλογή PdfLaTeX + View PDF (ακριβώς παω από αυτή που φαίνεται στην εικόνα με τις ρυθμίσεις του texmaker) για να σιγουρευτείτε ότι δεν υπάρχον λάθη στο κείμενο. Θα με ενδιέφερε να ακούσω επιχειρήματα υπέρ αυτής της μεθόδου από πιο έμπειρους χρήστες της LaTeX. Φυσικά αν το κείμενο και οι βιβλιογραφία είναι στην ίδια γλώσσα τα πράγματα απλουστεύουν κατά πολύ.

Μέθοδος 2η : Βιβλιογραφία μέσα στο .tex αρχείο

Όπως θα δείτε με αυτή τη μέθοδο γράφουμε πολύ πιο απλά το ίδιο ακριβώς κείμενο χωρίς να χρειαστεί να κάνουμε τόσες αλχημείες. Προτού προχωρήσουμε παρακάτω επανερχόμαστε στις ρυθμίσεις του texmaker για να ορίσουμε την επιλογή με την οποία γράφαμε αρχικά, ειδάλλως θα έχουμε μήνυμα λάθους από το texmaker. Στην επιλογή configure επιλέγουμε όπως φαίνεται στην εικόνα.

eisagogi-latex-prota-bimata-2και συνεχίζουμε στην παράθεση του κώδικα μας.

\documentclass[a4paper,titlepage,oneside,12pt]{article}
    \usepackage{fontspec}
    \usepackage{xunicode}
    \usepackage{xltxtra}
    \usepackage{xgreek}
    \usepackage{graphicx} %πακέτο για εισαγωγή γραφικών
    \usepackage{hyperref} %πακέτο για εισαγωγή υπερσυνδέσμων
    \renewcommand{\figurename}{Εικόνα} %μετονομασία του υποτίτλου της εικόνας
	\usepackage[nottoc]{tocbibind}     %Πακέτο για εμφάνιση βιβλιογραφίας στα περιεχόμενα
    \setmainfont{GFS Didot}
\begin{document}
\tableofcontents % εμφάνιση περιεχομένων
\newpage
\section{Τι είναι το Arch Linux}

\begin{figure}[hbp!]
\centering
\includegraphics[scale=1]{archlinux.png}
\caption{λογότυπο του Arch Linux}
\end{figure}

Το Arch Linux\cite{archlinux} είναι μια ανεξάρτητα ανεπτυγμένη i686/x86\_64 διανομή γενικής χρήσεως, βασισμένη στο μοντέλο αναβαθμίσεων rolling-release\cite{rolling} και αρκετά ευέλικτη ώστε να ταιριάζει σε οποιονδήποτε ρόλο. Η ανάπτυξή του εστιάζει στην απλοϊκότητα, στο μινιμαλισμό και τον ορθό κώδικα. Το Arch εγκαθίσταται ως ένα βασικό σύστημα και ρυθμίζεται από το χρήστη ώστε να χρησιμοποιεί το ιδανικό του γραφικό περιβάλλον και να εγκαθιστά μόνο ότι βρίσκει επιθυμητό για τους μοναδικούς του σκοπούς. 
\pagebreak

\subsection{Πλεονεκτήματα}
Το Arch έχει ένα ελαφρύ περιβάλλον μετά την εγκατάσταση, (περιβάλλον γραμμής εντολών), ήδη συνεταγμένο και βελτιστοποιημένο για i686/x86\_64 αρχιτεκτονικές. Είναι γρήγορο, ελαφρύ, ευέλικτο και απλό. Η φιλοσοφία και η εφαρμογή του σχεδιασμού του, το κάνουν εύκολο στο να επεκταθεί και να προσαρμοστεί σε οποιοδήποτε τύπο μηχανήματος και αν χτίζετε-από ένα μινιμαλιστικό μηχάνημα κονσόλας, στα πιο επιβλητικά και πλούσια περιβάλλοντα χρήστη, διαθέσιμα. 

\subsubsection{Διαχείριση πακέτων}
Το Arch υποστηρίζεται από ένα εύκολο στη χρήση σύστημα δυαδικών πακέτων, το pacman, που επιτρέπει στο χρήστη την αναβάθμιση ολόκληρου του συστήματός σας με μία εντολή. Ο Pacman είναι γραμμένος σε C και είναι ελαφρύς και γρήγορος. Το Arch επίσης χρησιμοποιεί ένα σύστημα παρόμοιο με τα ports για χτίσημο πακέτων (Arch Build System) για να κάνει εύκολη την κατασκευή πακέτων (compile), η οποία μπορεί επίσης να συγχρονιστεί με μία εντολή. Ολόκληρο το σύστημά μπορεί να ξανακτιστεί με μία εντολή. Το μοντέλο rolling release επιτρέπει στο σύστημα την συνεχή και αδιάκομη αναβάθμιση, χωρίς ανάγκη για επανεγκατάσταση.

Το Arch Linux προσπαθεί να προσφέρει την σταθερότερη καινούρια έκδοση για το λογισμικό του. Οι χρήστες υποστηρίζουμε ένα βελτιωμένο πυρήνα πακέτων που έχει οριστεί για το βασικό i686 και x86-64 σύστημα, χιλιάδες πρόσθετα, υψηλής ποιότητας δυαδικά πακέτα που βρίσκονται ανάμεσα στα αποθετήρια χρηστών (Arch User Repositories, AUR), συνοδευόμενα PKGBUILD scripts, για την κατασκευή (building) και τη συσκευασία (packaging) από την πηγή (source). Το Arch στοχέυει στη διανομή προγραμμάτων που δεν τροποποιήθηκαν (vanilla software), δηλαδή τα πακέτα προσφέρονται όπως τα διανέμει εξ αρχής ο προγραμματιστής τους. Διορθώσεις προκύπτουν μόνο σε σπάνιες περιπτώσεις, ώστε να αποφθευχθεί αστάθεια που μπορεί να προκύψει σε αυτό το μοντέλο αναβαθμίσεων. 

\begin{thebibliography}{2}

\bibitem{archlinux}Arch Linux: \emph{Latest Installation Medium}. 2013
\bibitem{rolling}Λίνους Τόρβαλντς: \emph{Ο Πυρήνας του Linux}, 1991
  
\end{thebibliography}

\end{document}

Παρατηρούμε ότι όχι μόνο δεν κάναμε αλχημείες αλλά ξεμπερδέψαμε και με τη βιβλιογραφία στο τέλος του αρχείου με την εισαγωγή της λίστας thebiblography και τον ορισμό κάθε βιβλίου με το πρόθεμα \bibitem{λέξη κλειδί για την παραπομπή} και συνεχίζουμε με τις λεπτομέρειες του βιβλίου με κόμμα (,) , τελεία ή ότι άλλο θέλουμε μέχρι το επόμενο \bibitem. Οι πιο προσεκτικοί θα δούνε δίπλα από το \begin{bibliography} και τον αριθμό {2} που στην ουσία ορίζει τον αριθμό των αναφορών/βιβλίων. Απλά, ξεκάθαρα, πανεύκολα.

Προσοχή!!! Για να βγούνε σωστά οι αναφορές μας πρέπει να κάνουμε 2 φορές quick build(F1), ενώ στην περίπτωση της Bibtex χρειάζεται μόνο 1 λόγω της συγκεκριμένης επιλογής.

Τι μάθαμε

Με το σημερινό άρθρο μπήκαμε για τα καλά στα βαθιά της LaTeX. Όχι μόνο μάθαμε πως κάνουμε βιβλιογραφία, αλλά το μάθαμε από την καλή και … την καλύτερη. Εξοικειωθήκαμε με την δημιουργία εντολών καθώς επίσης κάναμε πατέντες για να φέρουμε το κείμενο στα μέτρα μας. Αυτό άλλωστε είναι η LaTeX. Ένα πανίσχυρο εργαλείο που κυριολεκτικά σου δίνει τα πάντα αλλά απαιτεί προσοχή γιατί πολλές φορές το σωστό κείμενο από το μαντάρα απέχουν μόνο μερικές λάθος γραμμές κώδικα.

Φυσικά μπορείτε να βρείτε τον κώδικα και των 2 μεθόδων στο αποθετήριο λογισμικών του Cerebrux για να πειραματιστείτε ή ακόμη και να προτείνετε βελτιώσεις.:

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s