* a new csl - citation style lisp ;)
@ 2015-12-11 19:57 John Kitchin
2015-12-12 9:31 ` Martin Yrjölä
0 siblings, 1 reply; 3+ messages in thread
From: John Kitchin @ 2015-12-11 19:57 UTC (permalink / raw
To: Org Mode
Hi everyone,
I got curious enough about citation processing to draft an elisp-based
citeproc for orgmode. You can see the code here:
https://github.com/jkitchin/org-ref/tree/master/citeproc
It is loosely based on the xml-CSL file, but in lisp. The principle is
the same, there is a csl file in lisp that contains formatting
information, and a processor that works on my org-ref links to replace
them with formatted citations and entries.
The readme doesn't do it justice, check out
https://github.com/jkitchin/org-ref/blob/master/citeproc/readme.html (in
a browser) to see the formatted citations in an unsorted, numeric
superscript style. There is also a working author-year style.
It certainly isn't complete, bug-free, or stable yet and might still not solve
note-based styles, but it is pretty powerful already.
--
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: a new csl - citation style lisp ;)
2015-12-11 19:57 a new csl - citation style lisp ;) John Kitchin
@ 2015-12-12 9:31 ` Martin Yrjölä
2015-12-12 13:23 ` John Kitchin
0 siblings, 1 reply; 3+ messages in thread
From: Martin Yrjölä @ 2015-12-12 9:31 UTC (permalink / raw
To: John Kitchin; +Cc: Org Mode
Hi John,
John Kitchin writes:
> Hi everyone,
>
> I got curious enough about citation processing to draft an elisp-based
> citeproc for orgmode. You can see the code here:
>
> https://github.com/jkitchin/org-ref/tree/master/citeproc
I gave it a spin and it was very easy to set up as an org-ref user.
Great work so far. I think an Elisp based implementation has many
strengths like you mentioned in the readme.
> It is loosely based on the xml-CSL file, but in lisp. The principle is
> the same, there is a csl file in lisp that contains formatting
> information, and a processor that works on my org-ref links to replace
> them with formatted citations and entries.
What would be the best way moving forward? How easy would it be to
implement a converter for xml-CSL files? Or would it be better to
support the xml-CSL format directly to avoid duplicate work?
> It certainly isn't complete, bug-free, or stable yet and might still not solve
> note-based styles, but it is pretty powerful already.
Do you already accept bug reports and pull requests on Github?
Best regards,
Martin Yrjölä
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: a new csl - citation style lisp ;)
2015-12-12 9:31 ` Martin Yrjölä
@ 2015-12-12 13:23 ` John Kitchin
0 siblings, 0 replies; 3+ messages in thread
From: John Kitchin @ 2015-12-12 13:23 UTC (permalink / raw
To: Martin Yrjölä; +Cc: Org Mode
>>
>> I got curious enough about citation processing to draft an elisp-based
>> citeproc for orgmode. You can see the code here:
>>
>> https://github.com/jkitchin/org-ref/tree/master/citeproc
>
> I gave it a spin and it was very easy to set up as an org-ref user.
> Great work so far. I think an Elisp based implementation has many
> strengths like you mentioned in the readme.
I am glad to hear that!
>
>> It is loosely based on the xml-CSL file, but in lisp. The principle is
>> the same, there is a csl file in lisp that contains formatting
>> information, and a processor that works on my org-ref links to replace
>> them with formatted citations and entries.
>
> What would be the best way moving forward? How easy would it be to
> implement a converter for xml-CSL files? Or would it be better to
> support the xml-CSL format directly to avoid duplicate work?
I don't know the answer here. We can read the xml-CSL directly into an
elisp data structure that looks similar to my lisp-csl. I thought about
trying to use the xml-csl directly, but they write some logic control
into them, and I didn't want to write code to turn them into functions
(which is what the other citeproc codes must do I guess.)
Also, by going straight to elisp-csl, we can directly write code into
them if we want, which makes them pretty flexible, probably more so than
xml-csl.
It only took a couple of days to get to this, so I am not too committed
to not using the xml-csl files. There are a lot of them already
available. They don't support my space-chomping and punctuation
transposition ideas, or different citation types (cite, citenum,
citeyear, citeauthor, ...) I think, so we would have to adapt them to do
that or provide some other mechanism to pass options to the processor.
>
>> It certainly isn't complete, bug-free, or stable yet and might still not solve
>> note-based styles, but it is pretty powerful already.
>
> Do you already accept bug reports and pull requests on Github?
Sure. I think this code has some value to org-ref whether it becomes the
citation processing solution in the future or not. It will make it easy
to add nicely formatted citations to emails, text documents, etc...
I am not sure it is particularly stable in structure yet. I still don't
know how easy it will be to modify backend outputs, e.g. to change how
in-text citations are hyperlinked to bibliography entries, or if it
would be easy to have a bibitems list prepared for LaTeX, or to export
as an org-file with footnotes, or otherwise linked references, etc...
We can only learn those things by trying them ;)
>
> Best regards,
> Martin Yrjölä
--
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-12-12 13:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-11 19:57 a new csl - citation style lisp ;) John Kitchin
2015-12-12 9:31 ` Martin Yrjölä
2015-12-12 13:23 ` John Kitchin
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.