3.10. Formatting language to define output styles: FL

     

Formatting language to define output styles - FL

Bookends Sonny Software Library Master Balboa Software ProCite EndNote Reference Papyrus
RefWorks (web based) Biblioscape Bookends Library Master Procite EndNote Reference Manager Papyrus †

RW: made up of coded field names, text strings (alone or in front and/or after fields), punctuation, separators, style (italics etc.), tab, carriage return, page break;

many options for names;
"Accucite" feature warns which fields will be considered by the current citation style when publishing

(FL recognizes field names specifically belonging to each individual RT)

Bscp: made up of: coded field names, text strings (in front and/or after), punctuation, style (italics etc.), return, Red-id/record number ... BK: made up of: coded field names -can actually use more fields than are available for input-, text strings, punctuation, style (italics etc.), special codes (tab, return, record number ...) LM: there exist two "languages" : one for the Format -which determines the overall page layout- and one for the style --the actual citation format.

As a matter of fact, the complexity and goal of the Format go far beyond setting the page layout, for it can contain conditional commands, loops, tokens, counters, headings for subject bibliographies; to a given extent it can even print a report replacing a style file via its own style specifications, whereas you cannot print a report just with a style without a Format.

A style is mostly made up of:
1 field names
2 one formal instruction: field/string separator + text replacement for empty field (if the field is missing, display "this")
3 text strings, punctuation, spacing, style (B I U etc.): as written
4 many options for names, dates, pages numbers, call numbers
5 < the minus sign  (ASCII 60) marks reserved chars as < | >

(FL recognizes field names belonging to each individual RT)

Pr: mostly made up of:
1 field names
2 two formal instructions: field/string separator, group command «...» (i.e. if more elements -fields- are included in a group, one is enough for the relevant surrounding punctuation to be output)
3 text strings, punctuation (automatic control on double punct.), spacing, style (B I U etc.): as written
4 many options for names, titles, dates, pages keywords
5 back slash \ (ASCII 92) marks any string as mere text, e.g.: " \« "

FL recognizes RT specific, not generic, workform fields names and not numbers (therefore be careful when copying definitions from one workform to another) 

En: mostly made up of:
1 field names
2 field/string separator (|), link adjacent text (nonbreaking space)
3 text strings, punctuation, spacing, tab, style B I U etc.
4 many options for names, titles, pages
5 ` (ASCII 96) marks strings as mere text e.g. overlapping field names `Journal` 6 handles singular vs plural, e.g. p^pp. ed.^eds.

special provisions for anonymous works; recognizes generic field names

RM: mostly made up of:
1 field names;
2 two formal instructions: field/string separator, group command «...» (i.e. if more elements -fields- are included in a group, one is enough for the relevant surrounding punctuation to be output);
3 text strings, punctuation (automatic control on double punct.), spacing, style (B I U etc.): as written;
4 many options for names, titles, dates, pages keywords;
5 back slash \ (ASCII 92) marks any string as mere text, e.g.: " \« "

same as ProCite, but FL recognizes fields generic names and numbers

Papyrus: 
1 fields names
2 main commands: [  ]  [[  ]]  <   > out of these commands' control, strings are always appended
3 text strings, punctuation, | paragraph, {  } to capitalize;
4 many options for: names, year, pages et al.

1 Selection
    1. fields
    2. subfields

RW: 1, subfields just for personal names Bscp:  1 (2 only first name and intials in personal names and the four digits year in the date field for output purposes) BK: 1  (2: only first name and qualifications in personal names; the four digits year in the date field for output purposes) LM: 1; 2: only "surname, name, qualification", internal date format Pr: 1; 2: only "surname, name, qualification", internal date format En: 1; 2: only "surname, name" RM: 1; 2: only "surname, name", internal date format Papyrus: 2: only  "surname, name"

2 Add text : in front of/after fields content

RW: yes Bscp: yes (can also differentiate labels: singular/plural: Ed.^Eds. or p^pp.) BK: yes LM: yes Pr: yes En: yes (can handle singular vs plural: p^pp. ed.^eds if start-end pages or more authors are present) RM: yes Papyrus: yes (can handle singular vs plural, (p^pp.) if start-end pages are present)

3 Distinguishes among occurrences of a repeatable field
   1. by punctuation -separators; 
   2. by position / sequence number; 
   3. can count them

RW: 1-2-3 only as far as names are concerned Bscp: can count them as far as names are concerned for output, punctuation, purposes BK: 2 3 as far as names are concerned for output, punctuation, purposes LM: 1 2 3 (for any repeatable field -i.e. names and subjects- : first, last, all the others) Pr: 1; 2 only partially names i.e. as far as output and sort are concerned En: 1 names; 2 partially names, as far as output is concerned; 3: can count number of names to sort references with same first author RM: 1; 2 only partially: names, as far as output is concerned Papyrus:   1; 2 only partially: names, as far as output is concerned

4 Produces tagged format output --apart from built-in export routines

RW: yes

(e.g. \nKW: to output a repeatable field occurrences on different lines)

Bscp: but cannot output either authors or keywords each tagged on different lines

KW: water; fire
and not: 
KW water
KW fire
BK: yes (but cannot output keywords each tagged on a different line)

KW: water; fire
and not: 
KW water
KW fire
LM: yes Pr: yes (e.g. ^pKW: as keywords separator, where ^p are two characters) En: to a limited extent

can handle a repeatable field like authors field, but not keywords labelled on consecutive lines, does not handle <CR> as format specification within the same field

RM: yes (e.g. ¶KW: as keywords separator where ¶ is [ASCII 20]) Papyrus: yes

5 Displays RT (reference type via field token not as static text)

RW: yes Bscp: yes BK: yes LM: via a format, not in the style; yes in the Record list Pr: not in the styles; yes in the Record list En: not in the styles; yes in the Record list RM: yes Papyrus: no

7 Offers conditional commands (IF ... THEN ...)

RW: no (implied in many built-in options to be selected for: authors' names, anonymous works ...) Bscp:  no (implied in many built-in options to be selected for: authors' names, anonymous works, ambiguous citations, repeated citations ...) BK:  no (implied in built-in options to be selected) LM: yes, in the Formats, not in the styles :
(a) if a field is present -or absent
(b) if the field content is the same as -or different from- the previous
(c) if the record type is one of the specified
(d) implied by various style options (e.g. names)
Pr: not explicitly, but implied by various options (e.g. names) En: not explicitly, but implied by various options (e.g. names) RM: not explicitly, but implied by various options (e.g. names) Papyrus: not explicitly, but implied by various options (e.g. names)

8 Upper/lowercase conversion

RW: yes for names and titles Bscp: yes for Titles can use Headline or Sentence case style BK: can force sentence case, title case, all CAPS LM: yes (on any field; customizable list : all upper, all lower, beginning of word, field, sentence) Pr: yes (names, titles, sort headings) En: yes : names -small caps also- titles + list of words that should not be altered RM: yes (names, titles) Papyrus: yes --headline style for any field

9 Look-up tables to expand acronyms, abbreviations, replace text

RW: no
(short Journal Title is actually a specific field content in each record, linked to a look-up/index list) 
Bscp: Journal name list (can use one out of three forms while outputting data) BK:  Journal Glossaries can replace abbreviation while entering data, short/full form when outputting LM: yes: puts in relation field content and a table's terms : a table's record is made up of an entry and three correspondent strings, most often abbreviations; this way you can handle periodical titles and abbreviations Pr: yes: a) text between "«...»" ; b) field 10: "Journal title" and relevant list(s) En: Journal field ("Secondary title") and relevant list

puts in relation Journal's field content and the Journal list's table: a table's record is made up by an entry and three correspondent strings, most often abbreviations; this way you can handle periodical titles and their abbreviations

RM: Periodical synonyms list Papyrus: Journal titles and relevant list(s)  

10 Contextual Record Preview

RW: yes Bscp: yes BK: yes LM: not while designing a style, or a Format Pr: yes En: not while designing a style RM: yes Papyrus: yes, both in input and format design

11 Text added in styles can be language dependent for each record
     1. text lists can be modified
     2. new lists can be added (new language)
     3. text can be present in various fields

RW: no Bscp: no BK: no LM: no (but can use months' names from selected Windows language table) Pr: no En: no RM: no Papyrus: no

12 Checks format syntax

RW: no Bscp: no BK: no LM: yes (but messages are not expressive enough) Pr: no En: no RM: yes Papyrus: yes

13 Level of difficulty of the formatting language

RW: easy Bscp:  easy
(apart from the Report Module which has got its own rules and command language, either option-menu driven or SQL driven: easy at basic level, vaste and complex if fully exploited)
BK:  not complicated, no programming skills required, quite rich with features LM: rather easy, as far as styles are concerned. Format here language is definitely more coded and more complex, thus, to be fully exploited, it requires a really skillfull user Pr: rather easy, does not require programming skills En: rather easy, does not require programming skills RM: rather easy, does not require programming skills (offers a Wizard function, plus the abovementioned syntax control) Papyrus: rather easy, does not require programming skills
Bookends Sonny Software Library Master Balboa Software ProCite EndNote Reference Papyrus


Table of contents  | Index