From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thibault Marin Subject: Multiple bibliography files with ox-bibtex and html export Date: Tue, 23 Aug 2016 23:14:09 -0500 Message-ID: <87k2f6x0q6.fsf@dell-desktop.WORKGROUP> Reply-To: thibault.marin@gmx.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51331) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcPZx-0005Si-VN for emacs-orgmode@gnu.org; Wed, 24 Aug 2016 00:14:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcPZt-0003Cm-N5 for emacs-orgmode@gnu.org; Wed, 24 Aug 2016 00:14:16 -0400 Received: from mout.gmx.net ([212.227.17.22]:64948) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcPZt-0003Ca-CT for emacs-orgmode@gnu.org; Wed, 24 Aug 2016 00:14:13 -0400 Received: from dell-desktop ([99.47.196.62]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0LkSOt-1b1Pnk25AR-00cOEU for ; Wed, 24 Aug 2016 06:14:11 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode --=-=-= Content-Type: text/plain Hi list, I would like to use ox-bibtex to export a bibliography to html with multiple bibliography files, as follows: #+BIBLIOGRAPHY: bibtex_1.bib,bibtex_2.bib plain option:-d option:-noabstract limit:t This works with latex export but not with html (I get a "Executing bibtex2html failed"). It appears that bibtex2html can only process a single file. I am attaching a patch which allows me to use multiple files with html export. It creates a combined bibliography file and call bibtex2html on it. I am not sure this is the best way to address this, so any suggestion would be welcome. Does this look like something that could be merged? Thanks, thibault --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-contrib-lisp-ox-bibtex.el-org-bibtex-process-bib-fil.patch >From c8a97a2d79d349a5d7c55ce052daa0794bde49ad Mon Sep 17 00:00:00 2001 From: thibault Date: Tue, 23 Aug 2016 22:57:19 -0500 Subject: [PATCH] * contrib/lisp/ox-bibtex.el (org-bibtex-process-bib-files): Add support for multiple bibliography files with html export. Combine comma-separated bibliography files into a single one and process it using bibtex2html. This matches the behavior already present for latex export. --- contrib/lisp/ox-bibtex.el | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/contrib/lisp/ox-bibtex.el b/contrib/lisp/ox-bibtex.el index 56dec38..7e266ab 100644 --- a/contrib/lisp/ox-bibtex.el +++ b/contrib/lisp/ox-bibtex.el @@ -191,13 +191,34 @@ Return new parse tree." (file (org-bibtex-get-file keyword)) temp-file out-file) + (let ((files (org-split-string file ","))) + (when (< 1 (length files)) + (let ((combined-bib-file + (concat + (file-name-sans-extension + (file-name-nondirectory + (buffer-file-name))) "-combined.bib"))) + (with-temp-file combined-bib-file + (dolist (bib files) + (insert-file-contents + (if (equal (file-name-extension bib) "bib") + bib + (concat bib ".bib") + ) + ) + ) + ) + (setq file combined-bib-file) + ) + ) + ) ;; Test if filename is given with .bib-extension and strip ;; it off. Filenames with another extensions will be ;; untouched and will finally rise an error in bibtex2html. (setq file (if (equal (file-name-extension file) "bib") (file-name-sans-extension file) file)) - ;; Outpufiles of bibtex2html will be put into current working directory - ;; so define a variable for this. + ;; Output files of bibtex2html will be put into current + ;; working directory so define a variable for this. (setq out-file (file-name-sans-extension (file-name-nondirectory file))) ;; limit is set: collect citations throughout the document -- 2.8.1 --=-=-=--