Le cookbook bibtexref_fbo permet d'insérer facilement des références bibliographiques dans une page PmWiki à partir d'un fichier BibTeX.
Configuration
Les variables suivantes peuvent être définies dans le fichier config.php :
$BibtexBibDir
répertoire où sont stockés les fichiers .bib (par défaut, c'est le répertoire des documents attachés)$BibtexPdfUrl
URL où se trouvent les fichiers PDF (par défaut, c'est le répertoire des documents attachés)$BibtexPdfLink
texte des liens vers les fichiers PDF (par défaut :'(PDF)'
)$BibtexUrlLink
texte des liens vers les fichiers URL des articles (par défaut :'(URL)'
)$BibtexBibLink
texte des liens vers les entrées BibTeX (par défaut :'(BIB)'
)$BibtexGenerateDefaultUrlField
à mettre àtrue
pour générer automatiquement une URL pour les entrées qui n'en ont pas.$BibtexLang['lang']
texte affiché pour les documents dont le champ BibTeXLANGUAGE
est égal àlang
. Cela peut être un petit drapeau correspondant à la langue.$BibtexSilentFields
est un tableau de champs BibTeX qui ne doivent pas être affichés. Vous pouvez par exemple y inclure les champs privés que vous utilisez pour classer vos documents.
Nouvelles actions
Cette recette ajoute une nouvelle action PmWiki : bibentry
, qui est utilisée pour afficher une entrée BibTeX. Cette action prend deux arguments : le nom du fichier bibtex et la référence de l'entrée à afficher.
PmWiki tags
Pour utiliser des références bibliographiques, vous devez charger des fichiers BibTeX, soit en utilisant la fonctionnalité d'upload de PmWiki (Attach:<filename>
), soit en les copiant directement dans le dossier upload/$Group
, $Group
étant le nom du groupe dans les pages duquel vous souhaitez utiliser les références. Les fichiers de bibliographie ne sont utilisables que dans le groupe pour lequel ils ont été chargés.
Il est aussi possible de coller le contenu d'un fichier BibTeX dans une page du Wiki et d'utiliser cette page comme un fichier BibTeX.
Les citations sont obtenues avec le markup {[...]}
de la forme :
{[bibfile.bib,reference]}
pour une entrée BibTeX. Par exemple {[ExempleBibTeX, HarBou2007Models]}
cite l'article HarBou2007Models
de la bibliographie située dans la page Wiki ExempleBibTeX
(accessible à partir du lien dans le menu sur le côté) comme ceci : (HarBou2007Models).
On peut obtenir un condensé de l'entrée avec bibtexsummary:[bibfile.bib,reference]
. Par exemple bibtexsummary:[ExempleBibTeX, HarBou2007Models]
donne (les exemples sont encadrés de pointillées verts) :
[1] HarBou2007ModelsModHel'X: A Component-Oriented Approach to Multi-Formalism Modeling , Models in Software Engineering: Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers, Nashville, TN, USA, 2008, (Holger Giese, Ed.), Springer-Verlag, pages 247-258(URL), (BibTeX)
L'entrée BibTeX complète est obtenue avec bibtexcomplete:[bibfile.bib,reference]
. Par exemple :
[2] HarBou2007ModelsModHel'X: A Component-Oriented Approach to Multi-Formalism Modeling , Models in Software Engineering: Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers, Nashville, TN, USA, 2008, (Holger Giese, Ed.), Springer-Verlag, pages 247-258(URL)
Requêtes BibTeX
Il est possible de formuler des requêtes pour obtenir les entrées BibTeX qui correspondent à certains critères :
<select rule>
, <sort rule>
and <limit rule>
sont des expressions PHP.
<formatting function>
est le nom d'un fonction PHP qui reçoit un objet BibtexEntry
en argument et rend une chaîne de caractères décrivant l'entrée.
Par exemple :
affiche les 5 entrées les plus récentes dont le champs 'YEAR' est 2004, triées par année décroissante.
C'est le caractère !
en début de <sort rule>
qui indique que l'ordre est inversé.
Pour accéder aux champs d'une entrée BibTeX, il suffit d'utiliser la syntaxe
$this->get("<FIELDNAME>")
. Le nom du champ doit être en capitales.
Ainsi, la requête bibtexquery:[ExempleBibTeX][$this->get('YEAR') == '2004'][!$this->get('PUBDATE')][4]
donne pour résultat :
[3] MboBouFerIRI2004Execution Model for Non-Hierarchical Heterogeneous Modeling , Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration (IEEE IRI 2004), Las Vegas, Nevada, USA, November, 2004, IEEE Computer Society, pages 139-144(URL), (BibTeX)
[4] FerBouMboIRI2004An Approach of Domain Polymorph Component Design , Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration (IEEE IRI 2004), Las Vegas, Nevada, USA, November, 2004, pages 145-150(URL), (BibTeX)
[5] BouMboFerIPSI2004Flat Heterogeneous Modeling , Proceedings of the 2004 International Conference on Advances in the Internet, Processing, Systems, and Interdisciplinary Research (IPSI 2004), Venice, Italy, November, 20047 pages, on CD-ROM, (URL), (BibTeX)
Par défaut, les entrées sont formatées par la fonction PHP myBibFormat
.
Les arguments non utilisés peuvent être laissés blancs :
affiche toutes les entrées de bibfile.bib
, dans l'ordre et le format par défaut.