[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Modifying KWord files / Interaction with KWord
From:       Thomas Siegmund <sgmd () genetik ! biologie ! fu-berlin ! de>
Date:       2001-04-26 11:57:07
[Download RAW message or body]

Am Donnerstag, 26. April 2001 06:34 schrieb Pascal A. Niklaus:
>
> Do you know of a good way to define the citation formats used by the
> individual journals? I find the format EndNote uses a real pain, and often
> was not able to get what I really wanted, especially for book sections when
> sometimes you have book series, sometimes there is an 'Edition' field
> etc...

Hi Pascal,

>Do you know of a good way to define the citation formats used by the 
>individual journals? I find the format EndNote uses a real pain, and often 
>was not able to get what I really wanted, especially for book sections when 
>sometimes you have book series, sometimes there is an 'Edition' field etc...

Yes, I guess this is because the authors of endnote were confronted with all 
kind of problems they did not expect in the beginning. Then they made a lot 
of rules and exceptions and exceptions from the exceptions to deal with them.

How about some kind of scripting language? The interpreter would have access 
to all information in the current record and in all records cited in the 
current document. A style would be a script in something like python. 

Let's look at an example. I do not know the structure of your database. Let 
us assume it we have these informations:

record number
title
last_name, first_names (repeated number_of_authors times)
year
journal
volume
issue 
pages

Formatting of the record for the reference list would look like this 
pseudocode:

// a simple style for any journal

set_style(plain)
// reset text formating to plain KWord default

if ( number_of_authors == 0)
      print("Anonymous, ")
endif              // end of author list

else (number_of_authors > 0)
      for (n=1, n <= number_of authors, n++)
        {
        print(<last_name>) 
        if (<first_name>)
          print(" ,")
          print(initials(<first_name>))
        // initials() is a function to extract the initials from 
        // <first_names> if neccessary
        endif

        if (current_author < number_of authors - 1)
          print(", ")  
        endif
        else if (current_author == number_of authors - 1)
          print(", and ")  
        endif
        else if (current_author == number_of authors)
           print(": ")
        endif 
      } 
endif               // end of author list

set_style(italic)   // start of title
print (<title>)       
set_style(plain)
print (", ")
print(abbreviated_journal(<journal>))
        // we need a function to translate "Journal of Improbable Results" to
        // "J. Imp. Res." or to "J Imp Res" or vice versa using a terms list
set_style(bold)
print(<volume>)
if(<issue>)
  print(":")
  print(<issue>)
endif
if(<pages>)
  print(", ")
endif
set_style(plain)
print(<pages>)
print("\n")        // end of record

The same mechanism could be used to create any kind of In-text-citation, 
including something like 'Ibidem'.


I do not know If you will like this proposal, since it looks a bit 
complicated. But the formatting of the references is the crucial part of a 
bibliographic programm. It has to be at least as powerful as the best 
commercial programms in this area, otherwise it will be mostly useless. 

The disadvantages of such a solution are pretty clear: No GUI for styles, and 
no chance to import them from existing solutions. But IMHO the worst 
scripting language is better than a confusing GUI like endnote.

For you on the other hand, this would have the great advantage that you can 
solve even most complicated formatting problems of all those weird journals 
at once. Leave the complicated details out of KCite and let the style authors 
deal with them ;-)

With best regards

Thomas

-- 
Freie Universität Berlin
Institut für Genetik
Arnimallee 7
14195 Berlin
Germany
Tel: +49 30 838 54868
_______________________________________________
Koffice-devel mailing list
Koffice-devel@master.kde.org
http://master.kde.org/mailman/listinfo/koffice-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic