3.10. Formatting language to define output styles: FL

     

Formatting language to define output styles - FL

Library Master Procite EndNote Reference Manager Papyrus
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 < 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

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
     1. in front of/after
     2. regardless of field presence
     3. depending on field presence
     4. depending on field content

LM: 1 2 3 (4 partially in the Formats) Pr: 1 2 3 En: 1 2 3 4
4 as noted above: can handle singular vs plural: p^pp. ed.^eds if start-end pages or more authors are present
RM: 1 2 3 Papyrus: 1 2 3 4 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. because of position / sequence number
     3. can count them

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

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)

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

6 Produces permuted indexes (words in/out/and context)

LM: no Pr: no En: no RM: no Papyrus: no

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

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

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

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

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

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

12 Checks format syntax

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

13 Level of difficulty of the formatting language

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


Table of contents  | Index