From: John MacFarlane <fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: pandoc/citeproc issues: multiple bibliographies, nocite, citeonly
Date: Wed, 1 Dec 2010 08:00:38 -0800 [thread overview]
Message-ID: <20101201160037.GC3038@protagoras.phil.berkeley.edu> (raw)
In-Reply-To: <20101201130317.GI10338-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
+++ Andrea Rossato [Dec 01 10 14:03 ]:
> On Tue, Nov 30, 2010 at 07:25:56PM -0800, John MacFarlane wrote:
> > I guess I'm tempted to:
> > - allow multiple bibliographies
>
> That would be easy, indeed.
>
> > - specify the source file in the markdown text, as above
>
> keep in mind that multiple bibliographic databases should be allowed
> (for instance to mix bibtex and json data).
>
> > I'm not positive this will work, though. As I mentioned, there are technical
> > hurdles to having the bibliography file specified in the text. The markdown
> > reader itself can't do IO, so it can't read the file. So we can't read the
> > bibliography (or even verify that it can be found) until we've parsed the
> > markdown source. That means that we can't check potential citations as we
> > parse, to see if they're in the bibliography; instead, we have to parse
> > everything that might be a citation as a citation. But what if we have a
> > citation with id "foo" (from "@foo" in the text), but the bibliography
> > contains no corresponding item? Then we need to reinsert the literal text.
> > It's easy enough to generate "@foo" from a Cite inline, but what if the Cite
> > was generated by parsing latex + bibtex? This gets complicated.
> >
> > I did think of one solution, which I'd like to get Andrea's feedback on (as
> > it might require citeproc changes). Currently when we parse a citation, we
> > just leave the [Inline] part empty; this gets filled in by citeproc when it
> > processes the citations with the bibliography.
> >
> > My suggestion: instead of leaving it empty, fill in the [Inline] part of the
> > Cite with the literal text that should be included in the document if the
> > citation isn't found in the database. This way, if citeproc doesn't find the
> > item, it can simply leave the Cite alone (rather than raising an error). That
> > seems simple; it just adds a bit of complexity to the parsers, which have to
> > generate the "replacement text" when they parse a Cite.
> >
> > Thoughts?
>
> That would be fine with me. But I just wanted to let you know, though,
> that I modified citeproc so that, when a citation is not found in the
> bibliographic data, an error is emitted:
>
> "[CSL BIBLIOGRAPHIC DATA ERROR: reference " ++ show (citationId c) ++ " not found.]"
This is fine the way the code currently works, since pandoc *shouldn't*
be passing citations that aren't in the bibliography to citeproc.
But it would have to be changed if we did things the way I sketched
above. With this approach, citeproc would simply leave Citations alone
if the entry was not found. (There might be difficulties I'm not
anticipating; I don't know the code.)
> I don't know if this is going to solve your problem.
>
> More generally I'd prefer the metadata approach you were talking
> about. If this requires more time to get mature I think we could now
> stick with the present approach: a single bibliography automatically
> added at the end of the Pandoc document, and multiple bibliographic
> databases via the command line --bibliography option.
>
> That would leave us free to take every possible path for implementing
> multiple bibliographies and for setting the source biblio data in the
> source document.
The only drawback I see to proceeding this way is that these future
changes would require changes in existing documents, unless we kept
the --bibliography option in addition to whatever mechanism we come
up with for multiply bibliographies and in-text specification of
the source files.
But maybe we could just do that: keep --bibliography for legacy
files. That would allow us to do a release sooner, without settling
all of these issues.
John
next prev parent reply other threads:[~2010-12-01 16:00 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-21 19:32 John MacFarlane
[not found] ` <20101121193229.GB25657-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-21 21:46 ` Bruce
[not found] ` <0ebd5c02-7660-4f20-8da0-ee93a034850a-bhUrjG+0PUy4o898BNfOI1YGCWtFR9XvQQ4Iyu8u01E@public.gmane.org>
2010-11-22 16:02 ` Nathan Gass
[not found] ` <4CEA93FE.8070502-8UOIJiGH10pyDzI6CaY1VQ@public.gmane.org>
2010-11-22 16:36 ` John MacFarlane
2010-11-21 23:26 ` Tillmann Rendel
[not found] ` <4CE9AABB.1070705-jNDFPZUTrfTbB13WlS47k8u21/r88PR+s0AfqQuZ5sE@public.gmane.org>
2010-11-24 1:29 ` Nathan Gass
[not found] ` <4CEC6A61.1000309-8UOIJiGH10pyDzI6CaY1VQ@public.gmane.org>
2010-11-24 3:33 ` John MacFarlane
[not found] ` <20101124033315.GC25133-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-24 5:06 ` John MacFarlane
[not found] ` <20101124050631.GA28014-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-24 20:51 ` Andrea Rossato
[not found] ` <20101124205114.GB23284-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
2010-11-25 7:42 ` John MacFarlane
[not found] ` <20101125074240.GC12387-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-25 8:09 ` Andrea Rossato
[not found] ` <20101125080907.GD23284-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
2010-11-27 15:23 ` John MacFarlane
[not found] ` <20101127152352.GB535-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-27 19:01 ` Andrea Rossato
[not found] ` <20101127190139.GE32527-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
2010-11-27 19:34 ` John MacFarlane
2010-11-29 23:45 ` Nathan Gass
[not found] ` <4CF43B30.9050400-8UOIJiGH10pyDzI6CaY1VQ@public.gmane.org>
2010-12-01 3:25 ` John MacFarlane
[not found] ` <20101201032556.GA28952-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-12-01 13:03 ` Andrea Rossato
[not found] ` <20101201130317.GI10338-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
2010-12-01 16:00 ` John MacFarlane [this message]
[not found] ` <20101201160037.GC3038-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2017-07-27 8:18 ` siram.berlin-Re5JQEeQqe8AvxtiuMwx3w
[not found] ` <9802cbc1-fa98-43f9-b42b-b7781066f375-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-07-30 20:57 ` John MacFarlane
2020-11-19 13:14 ` Pranesh Prakash
[not found] ` <19e3868a-6e4e-42a3-8636-75a95e925946n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-11-20 8:50 ` AW: " denis.maier-FfwAq0itz3ofv37vnLkPlQ
2010-11-22 23:21 ` Andrea Rossato
[not found] ` <20101122232135.GG13438-j4W6CDmL7uNdAaE8spi6tJZpQXiuRcL9@public.gmane.org>
2010-11-23 6:30 ` John MacFarlane
[not found] ` <20101123063011.GD8500-nFAEphtLEs+AA6luYCgp0U1S2cYJDpTV9nwVQlTi/Pw@public.gmane.org>
2010-11-23 10:04 ` Nathan Gass
[not found] ` <4CEB91AA.5050801-8UOIJiGH10pyDzI6CaY1VQ@public.gmane.org>
2010-11-23 15:58 ` John MacFarlane
2010-11-23 18:39 ` Bruce
[not found] ` <68cb6920-d51b-4139-913b-4ca4e96e160c-LFpOzkg5VSKSsatCSt0dimB/v6IoIuQBVpNB7YpNyf8@public.gmane.org>
2010-11-23 19:02 ` John MacFarlane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101201160037.GC3038@protagoras.phil.berkeley.edu \
--to=fiddlosopher-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).