[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: citeproc-org and org-ref 3
From: |
Joseph Vidal-Rosset |
Subject: |
Re: citeproc-org and org-ref 3 |
Date: |
Thu, 02 Dec 2021 15:56:57 +0000 |
Dear all,
I just succeeded in solving my problem.
l-210-235 of myblogexporter.el, I changed the code for:
(defun org-export-head-export-headers (directory-name backend)
"Exports each heading to directory-name using backend"
(if (equal backend "html")
(org-export-head--run-on-each-heading
#'(lambda ()
(org-set-property
"EXPORT_FILE_NAME"
(concat directory-name (org-export-head--escaped-headline)))
(deactivate-mark)
(let ((org-export-before-parsing-hook
'(org-ref-csl-preprocess-buffer)))
(cl-letf (((symbol-function 'org-export-get-reference)
(symbol-function 'org-export-get-reference-custom)))
(if org-export-head-click-toc-h2
(cl-letf ((
;(symbol-function 'org-html-toc)
(symbol-function
'org-export-head--custom-toc)))
(org-html-export-to-html nil t)))))
(set-buffer-modified-p t)) "-noexport-noreexport"))
(if (equal backend "pdf")
(org-export-head--run-on-each-heading
#'(lambda ()
(org-set-property
"EXPORT_FILE_NAME"
(concat directory-name (org-export-head--escaped-headline)))
(deactivate-mark)
(org-latex-export-to-pdf nil t)
(set-buffer-modified-p t)) "-noexport-noreexport")))
and it works with org-ref 3.
Best wishes, I attach myblogexporter.el
Jo.
Le 02/12/2021 à 14:17, Joseph Vidal-Rosset a écrit :
> Dear John (cc. Ivan),
>
> First, thanks for your help and for your patience, that's very kind of you.
>
> The good news is that indeed, org-ref 3 exports nicely the html
> bibliography with my CSL file, it works well with your org file and your
> bibliography. My error was simple: I did not use the specific org-ref
> keys but the ordinary h-o keys.. A stupid mistake.
>
> The bad news is that this new function for exporting with org-ref 3 is
> not included in org-export-head, a nice org mode to blog exporter, made
> by Ivan Tadeu Ferreira Antunes Filho, which converts each header to a
> different file, I find this exporter very convenient. I had no problem
> with this org-ref 2 to use this blog-exporter, but it org-ref 3 is
> unfortunately not still adapted to its use. Nevertheless, I believe that
> it should be possible to find the lines to include this function
> (let ((org-export-before-parsing-hook '(org-ref-csl-preprocess-buffer)))
> (org-open-file (org-html-export-to-html)))
> in org-export-head. I tried, but without success, because I am simply
> not expert enough. I see the best, that is to export both with org-ref 3
> (i.e. "r h") and org-export-head, but I am unable to code it.
>
> No doubt that it should be for you and Ivan a piece of cake, but please
> do it only if you think that it is interesting and if you find the time
> to do it.
>
> Best wishes,
>
> Jo.
>
> PS in attachment, myblogexporter.el in my ~/.emacs.d/personal (usual
> path with Prelude Emacs).
>
> Le 01/12/2021 à 23:16, John Kitchin a écrit :
>>
>> Joseph Vidal-Rosset <joseph@vidal-rosset.net> writes:
>>
>>> Dear Andras,
>>>
>>> You are very probably right. I will have a look on this entry in my
>>> default bibliography file.
>>>
>>> The code
>>>
>>> (let ((org-export-before-parsing-hook '(org-ref-csl-preprocess-buffer)))
>>> (org-open-file (org-html-export-to-html)))
>>>
>>> put in .emacs.d/personal/preload/myorgexport.el
>>>
>> This code should not go in your init file. It is executed each time, and
>> not what you want. I usually put it a src block at the end in a section
>> tagged noexport and run it from there.
>>
>> Alternatively, if this is the only preprocessing you do, I think you can
>> do C-c C-e rh to export to html (this runs the org-ref html exporter.
>>
>> Finally, if you really want something in your init file it should be
>> like this:
>>
>> (defun my-html ()
>> (interactive)
>> (let ((org-export-before-parsing-hook '(org-ref-csl-preprocess-buffer)))
>> (org-open-file (org-html-export-to-html))))
>>
>> and then later you run it with M-x my-html
>>
>>
>>> provokes the request of opening a html file, when emacs --daemon is
>>> started; therefore I conclude that it should not be used as I did...
>>>
>>> Anyway, every tentative to export in a bibliography in html fails at
>>> the moment, even with a new bibliography file... :(
>>
>> See of the one at
>> https://github.com/jkitchin/org-ref/blob/master/examples/basic-csl.org
>> works. The bib file is in
>> https://github.com/jkitchin/org-ref/blob/master/org-ref.bib.
>>
>>
>>
>>>
>>> Best wishes,
>>>
>>> Le 01/12/2021 à 17:33, András Simonyi a écrit :
>>>> Dear Joseph,
>>>>
>>>> based on the error message there seems to be a problem with the
>>>> 'curley-nil-on-bennet-spinoz' bibliography entry, is it possible that
>>>> it contains a 'year = nil' row? If yes then I don't think that is
>>>> well-formed, at least citeproc-el cannot currently parse it. Anyhow,
>>>> apparently I need to improve/add citeproc-el error messages about
>>>> bib(la)tex parsing, because several parsing problems have surfaced
>>>> lately and the current error messages aren't helpful at all.
>>>>
>>>> best wishes,
>>>> András
>>>>
>>>> On Wed, 1 Dec 2021 at 16:50, Joseph Vidal-Rosset
>>>> <joseph@vidal-rosset.net> wrote:
>>>>>
>>>>> Dear John,
>>>>>
>>>>> I must say that to export references in html with org-ref 3, I meet a
>>>>> lot of problems (with LaTeX, it's fine).
>>>>>
>>>>> I am using prelude emacs and GNU Emacs 29.0.50 .
>>>>>
>>>>> Starting emacs --daemon, the code
>>>>>
>>>>> (let ((org-export-before-parsing-hook '(org-ref-csl-preprocess-buffer)))
>>>>> (org-open-file (org-html-export-to-html)))
>>>>>
>>>>> in my setup provokes this unwanting effect:
>>>>>
>>>>> [Prelude] Loading personal configuration files in
>>>>> /home/joseph/.emacs.d/personal/preload...
>>>>> Loading /home/joseph/.emacs.d/personal/preload/myorgexport.el (source)...
>>>>> Output file:
>>>>>
>>>>> and with Enter :
>>>>>
>>>>> [Prelude] Loading personal configuration files in
>>>>> /home/joseph/.emacs.d/personal/preload...
>>>>> Loading /home/joseph/.emacs.d/personal/preload/myorgexport.el (source)...
>>>>> Output file:
>>>>> Warning (initialization): An error occurred while loading
>>>>> ‘/home/joseph/.emacs.d/init.el’:
>>>>>
>>>>> Wrong type argument: stringp, nil
>>>>>
>>>>> To ensure normal operation, you should investigate and remove the
>>>>> cause of the error in your initialization file. Start Emacs with
>>>>> the ‘--debug-init’ option to view a complete error backtrace. Disable
>>>>> showing Disable logging
>>>>> Starting Emacs daemon.
>>>>>
>>>>> With --debug-init, I get:
>>>>>
>>>>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>>>> string-to-number(nil)
>>>>> citeproc-bt--to-csl-date("nil" nil)
>>>>> citeproc-blt-entry-to-csl((("Url" .
>>>>> "http://dx.doi.org/10.1163/9789004246638_005") ("Doi" .
>>>>> "10.1163/9789004246638_005") ("Date_added" . "Mon May 16 19:09:37 2016")
>>>>> ("Booktitle" . "Spinoza: Issues and Directions") ("Series" . "Spinoza:
>>>>> Issues and Directions") ("Year" . "nil") ("Publisher" . "Brill Academic
>>>>> Publishers") ("Pages" . "39-52") ("Author" . "Edwin Curley") ("Title" .
>>>>> "ON BENNETTS SPINOZA: THE ISSUE OF TELEOLOGY") ("=type=" . "InBook")
>>>>> ("=key=" . "curley-nil-on-bennet-spinoz")) nil nil)
>>>>> #f(compiled-function (key entry) #<bytecode
>>>>> -0x7fcb46b5c8e80b3>)("curley-nil-on-bennet-spinoz" (("Url" .
>>>>> "http://dx.doi.org/10.1163/9789004246638_005") ("Doi" .
>>>>> "10.1163/9789004246638_005") ("Date_added" . "Mon May 16 19:09:37 2016")
>>>>> ("Booktitle" . "Spinoza: Issues and Directions") ("Series" . "Spinoza:
>>>>> Issues and Directions") ("Year" . "nil") ("Publisher" . "Brill Academic
>>>>> Publishers") ("Pages" . "39-52") ("Author" . "Edwin Curley") ("Title" .
>>>>> "ON BENNETTS SPINOZA: THE ISSUE OF TELEOLOGY") ("=type=" . "InBook")
>>>>> ("=key=" . "curley-nil-on-bennet-spinoz")))
>>>>> maphash(#f(compiled-function (key entry) #<bytecode
>>>>> -0x7fcb46b5c8e80b3>) #<hash-table equal 665/730 0x156f8acb26b7>)
>>>>> citeproc-hash-itemgetter-from-any(("~/Dropbox/Orgzly/reforg.bib"))
>>>>> org-ref-process-buffer(html)
>>>>> org-ref-csl-preprocess-buffer(html)
>>>>> run-hook-with-args(org-ref-csl-preprocess-buffer html)
>>>>> org-export-as(html nil nil nil (:output-file "~/test.html"))
>>>>> org-export-to-file(html "~/test.html" nil nil nil nil nil)
>>>>> org-html-export-to-html()
>>>>> (org-open-file (org-html-export-to-html))
>>>>> (let ((org-export-before-parsing-hook
>>>>> '(org-ref-csl-preprocess-buffer))) (org-open-file
>>>>> (org-html-export-to-html)))
>>>>> eval-buffer(#<buffer *load*-634240> nil
>>>>> "/home/joseph/.emacs.d/personal/preload/myorgexport..." nil t) ;
>>>>> Reading at buffer position 3196
>>>>>
>>>>> load-with-code-conversion("/home/joseph/.emacs.d/personal/preload/myorgexport..."
>>>>> "/home/joseph/.emacs.d/personal/preload/myorgexport..." nil nil)
>>>>> load("/home/joseph/.emacs.d/personal/preload/myorgexport...")
>>>>> mapc(load ("/home/joseph/.emacs.d/personal/preload/myorgexport..."))
>>>>> (progn (message "[Prelude] Loading personal configuration files in
>>>>> ..." prelude-personal-preload-dir) (mapc 'load (directory-files
>>>>> prelude-personal-preload-dir 't "^[^#.].*el$")))
>>>>> (if (file-exists-p prelude-personal-preload-dir) (progn (message
>>>>> "[Prelude] Loading personal configuration files in ..."
>>>>> prelude-personal-preload-dir) (mapc 'load (directory-files
>>>>> prelude-personal-preload-dir 't "^[^#.].*el$"))))
>>>>> eval-buffer(#<buffer *load*> nil "/home/joseph/.emacs.d/init.el"
>>>>> nil
>>>>> t) ; Reading at buffer position 4489
>>>>> load-with-code-conversion("/home/joseph/.emacs.d/init.el"
>>>>> "/home/joseph/.emacs.d/init.el" t t)
>>>>> load("/home/joseph/.emacs.d/init" noerror nomessage)
>>>>> startup--load-user-init-file(#f(compiled-function () #<bytecode
>>>>> 0xec639179d6199fa>) #f(compiled-function () #<bytecode
>>>>> -0x1f3c686ddc0dc635>) t)
>>>>> command-line()
>>>>> normal-top-level()
>>>>>
>>>>> It's too complicated for me.
>>>>> org-ref version 2 with citeproc-org by Andras worked well, but now I am
>>>>> afraid that to downgrade to org-ref 2 is not necessarily the best
>>>>> solution. I am lost.
>>>>>
>>>>> Best wishes, and thanks for your help.
>>>>>
>>>>> Jo.
>>>>>
>>>>>
>>>>> Le 30/11/2021 à 18:31, John Kitchin a écrit :
>>>>>> See https://www.youtube.com/watch?v=rRR-5NSpKyE
>>>>>> <https://www.youtube.com/watch?v=rRR-5NSpKyE> for an overview of what to
>>>>>> do. basically you need a csl file that provides the style you want, and
>>>>>> you specify it like this in the org file or in default settings. You may
>>>>>> also need a locale file if you are not blogging in english.
>>>>>>
>>>>>> #+csl-style: apa-5th-edition.csl
>>>>>>
>>>>>> #+csl-locale: en-US
>>>>>>
>>>>>>
>>>>>> You can find a basic example org file for html export with CSL at
>>>>>> https://github.com/jkitchin/org-ref/blob/master/examples/basic-csl.org
>>>>>> <https://github.com/jkitchin/org-ref/blob/master/examples/basic-csl.org>
>>>>>>
>>>>>> Here is a minimal way to export your blog file I suppose.
>>>>>>
>>>>>> (let ((org-export-before-parsing-hook '(org-ref-csl-preprocess-buffer)))
>>>>>> (org-open-file (org-html-export-to-html)))
>>>>>>
>>>>>>
>>>>>> John
>>>>>>
>>>>>> -----------------------------------
>>>>>> Professor John Kitchin (he/him/his)
>>>>>> Doherty Hall A207F
>>>>>> Department of Chemical Engineering
>>>>>> Carnegie Mellon University
>>>>>> Pittsburgh, PA 15213
>>>>>> 412-268-7803
>>>>>> @johnkitchin
>>>>>> http://kitchingroup.cheme.cmu.edu <http://kitchingroup.cheme.cmu.edu>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Nov 30, 2021 at 12:16 PM András Simonyi
>>>>>> <andras.simonyi@gmail.com <mailto:andras.simonyi@gmail.com>> wrote:
>>>>>>
>>>>>> Dear Joseph,
>>>>>>
>>>>>> unfortunately, my note on the `citeproc-org` page has become kind
>>>>>> of
>>>>>> misleading and has to be updated because org-ref didn't switch to
>>>>>> the
>>>>>> new org-cite citation syntax after all, although this was the
>>>>>> plan for
>>>>>> a while. I think if you wish to use org-ref 3 then you should
>>>>>> simply
>>>>>> remove citeproc-org entirely -- if I understand correctly the
>>>>>> latest
>>>>>> version of org-ref supports the old syntax as well and is capable
>>>>>> of
>>>>>> CSL-based export (among others) on its own.
>>>>>>
>>>>>> best regards,
>>>>>> András
>>>>>>
>>>>>> On Tue, 30 Nov 2021 at 18:00, Joseph Vidal-Rosset
>>>>>> <joseph@vidal-rosset.net <mailto:joseph@vidal-rosset.net>> wrote:
>>>>>> >
>>>>>> >
>>>>>> > Dear John, and dear Andras,
>>>>>> >
>>>>>> > Having updated my org-ref to the last version, I see that the
>>>>>> html
>>>>>> > export of bibliography does not work any longer for my blog.
>>>>>> >
>>>>>> > Reading Andras's note here
>>>>>> > https://github.com/andras-simonyi/citeproc-org
>>>>>> <https://github.com/andras-simonyi/citeproc-org>
>>>>>> > I confess that I am lost.
>>>>>> >
>>>>>> > What have I to do to not waste too much time with this problem?
>>>>>> >
>>>>>> > Best wishes,
>>>>>> >
>>>>>> > Jo.
>>>>>> >
>>>>>>
>>>>>
>>
>>
>> --
>> Professor John Kitchin
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu
>> Pronouns: he/him/his
>>
myblogexporter.el
Description: Text Data
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/01
- Re: citeproc-org and org-ref 3, András Simonyi, 2021/12/01
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/01
- Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/01
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/02
- Re: citeproc-org and org-ref 3,
Joseph Vidal-Rosset <=
- Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/02
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/03
- Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/03
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/03
- Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/03
- Re: citeproc-org and org-ref 3, Max Nikulin, 2021/12/04
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/04
- Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/04
- Re: citeproc-org and org-ref 3, Joseph Vidal-Rosset, 2021/12/04
Re: citeproc-org and org-ref 3, John Kitchin, 2021/12/01