public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
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


  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).