/*Le Script Ultime (avec des majuscules), à ajouter comme postscript dans BetterBibTeX (plug-in de Zotero) pour obtenir des fichiers .bib conformes aux exigences de X2HAL.*/ /*Réalisé par le SCD de l'Université Paris Nanterre, avec l'aide précieuse, sympathique et efficace d'Emiliano Heyns (développeur du plug-in). Plus d'infos à venir sur http://openaccess.u-paris10.fr*/ Modifié légèrement par la bibliothèque de l'URCA pour correspondre au référencement pratiqué. /* Pour les articles de magazines exclusivement, ajouter un champ "x-popularlevel = yes" */ if (this.item.itemType == 'magazineArticle') { this.add({ name: 'x-popularlevel', value: 'yes'}); } /* Pour tous les autres types de documents, ajouter un champ "x-popularlevel = no" */ if ((this.item.itemType == 'journalArticle' || this.item.itemType == 'book' || this.item.itemType == 'conferencePaper' || this.item.itemType == 'bookSection' || this.item.itemType == 'presentation')) { this.add({ name: 'x-popularlevel', value: 'no'}); } /* Exporter le champ "Archive" et le renommer en "x-onbehalfof"*/ if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) { this.add({ Archive: this.item.archive }); } if (this.has.Archive) { this.has.Archive.name = 'x-onbehalfof'; } /* Exporter le champ "Loc. dans l'archive" et le renommer en "x-audience"*/ if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) { this.add({ archiveLocation: this.item.archiveLocation }); } if (this.has.archiveLocation) { this.has.archiveLocation.name = 'x-audience'; } /* Exporter le champ "Catalogue de bibliothèque" et le renommer en "x-peerreviewing"*/ if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) { this.add({ libraryCatalog: this.item.libraryCatalog }); } if (this.has.libraryCatalog) { this.has.libraryCatalog.name = 'x-peerreviewing'; } /* Pour les articles d'encyclopédie, renommer le champ "journal" en "booktitle"*/ if ((this.item.itemType == 'encyclopediaArticle') && this.has.journal) { this.has.journal.name = 'booktitle'; } /* Exporter le champ "Intitulé du colloque" et le renommer en "x-source" (inproceedings) */ if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) { this.add({ conferenceName: this.item.conferenceName }); } if (this.has.conferenceName) { this.has.conferenceName.name = 'x-source'; } /* Renommer le champ "language" en "x-language" [à encoder sur deux lettres au format ISO] */ if (this.has.language) { this.has.language.name = 'x-language'; } /* Pour les rapports exclusivement, renommer le champ "type" en "x-reporttype" [attention, choisir dans une liste prédéfinie] */ if (this.item.itemType == 'report' && this.has.type) { this.has.type.name = 'x-reporttype'; } /* Pour les présentations exclusivement, renommer le type de document "presentation" en "poster" */ if (Translator.BetterBibTeX && this.item.itemType == 'presentation') { this.referencetype = 'poster'; } /* Exporter le champ "Intitulé de la réunion" et le renommer en "booktitle" (posters) */ if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) { this.add({ meetingName: this.item.meetingName }); } if (this.has.meetingName) { this.has.meetingName.name = 'booktitle'; } /* Si la référence n'a pas de marqueurs, ajouter un mot-clé par défaut */ if (!this.item.keywords) { this.add({ name: 'keywords', value: '[No keyword]'}); } /* Si la référence n'a pas de résumé, ajouter un résumé par défaut */ if (!this.item.abstract) { this.add({ name: 'abstract', value: '[No abstract]'}); } /* Pour les posters exclusivement, ajouter un champ "x-proceedings = yes" */ if (this.item.itemType =='presentation') { this.add({ name: 'x-proceedings', value: 'yes' }); } /* Pour les présentations exclusivement (qui ne disposent pas des champs Archive, Loc. Archive, Cote et Catalogue de bibliothèque), ajouter des champs avec des valeurs par défaut */ if (this.item.itemType == 'presentation') { this.add({ name: 'x-audience', value: 'international' }); this.add({ name: 'x-invitedcommunication', value: 'no' }); this.add({ name: 'x-peerreviewing', value: 'yes' }); }