At 10:27 AM 2/24/00 +0100, Frederic Gobry wrote:
>Basically, it would at least involve two parts : dealing with reference in
>the text (ie inserting things like [ItsARef]) and generating the
>bibliography in itself at the end of the document.

Yep.  This sounds pretty similar to the design problems we'll need to be 
tackling when it comes time to implement the following sorts of features:

  table of contents
  index
  etc. 

In each case, there will be fields sprinkled through the text, plus an 
automatically-generated segment of the document somewhere else.  

As you may have noticed from scanning the archives of this list, we're 
currently trying to figure out how to revise our fields implementation so it 
can handle the first problem.  AFAIK, nobody has put any serious thought 
into the latter problem yet.  

Given what still needs to happen between now and our 1.0 release, I doubt 
that I'm personally going to be able to make much headway on this issue 
anytime soon.  However, that shouldn't stop you or anyone else who's 
interested in getting this feature working sooner.  :-)  

We're always looking for more help, especially from people who know enough 
about a particular feature to really think through the problem.  So, here's 
a quick, off-the-cuff guess to get things started.  

It's our belief that fields should be thought of as a calculated span of 
text, represented as a special container for (formatted) characters.  The 
contents of that container exhibit the following UI behaviors:

  - the contents are *always* automatically generated to begin with
  - the contents can be updated automatically, or via a popup menu
  - the contents can be manually formatted
  - in some cases, portions of the contents can be manually deleted
  - otherwise, the contents are not directly editable
  - the container has extra properties which control all this behavior

Reasoning by analogy, I suspect that we could think of bibliographies, TOCs, 
indexes, etc. as a special type of calculated *section* (which contains one 
or more paragraphs).  I haven't messed with any of these features in a 
while, but here again, I suspect that the entire preceding bulleted list of 
desired behaviors applies.  YMMV.  

Presuming that this insight is correct, then once we have these two basic 
mechanisms in place (for calculated fields and calculated sections), it 
should be reasonably straightforward to figure out the APIs needed to 
communicate with your bibliographic software.  

Paul,
motto -- many hands make light work



Reply via email to