Imported Upstream version 2.10+ds
[debian/jabref.git] / src / help / CustomExports.html
index c8d8694d18302193bc7a6e9278ad8da1cfdbf0fc..978968e6a7f8146b292db56f3268e731c73ebf65 100644 (file)
@@ -1,7 +1,9 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
 
-<body text="#275856">
-    <basefont size="4" color="#2F4958" face="arial" />
+<body>
 
     <h1>Custom export filters</h1>
 
@@ -36,9 +38,8 @@
 
     <h3>Layout files</h3>
 
-    <p>Let us assume that we are creating an HTML export filter.</p>
-
-    <p>While the export filter only needs to consist of a single
+    <p>Let us assume that we are creating an HTML export filter. 
+     While the export filter only needs to consist of a single
     <b>.layout</b> file, which in this case could be called
     <i>html.layout</i>, you may also want to add two files called
     <i>html.begin.layout</i> and <i>html.end.layout</i>. The former
 
     <p>Note that these files must reside in the same directory as
     <i>html.layout</i>, and must be named by inserting
-    <b>.begin</b> and <b>.end</b>, respectively.</p>
-
-    <p>In our example export filter, these could look like the
+    <b>.begin</b> and <b>.end</b>, respectively.
+    In our example export filter, these could look like the
     following:</p>
 
     <p><i>html.begin.layout</i>:<br />
-    <code>&lt;HTML&gt;<br />
-     &lt;BODY&gt; text="#275856"&gt;<br />
-    &lt;basefont size="4" color="#2F4958"
-    face="arial"&gt;</code></p>
+    <code>&lt;!DOCTYPE html&gt;<br/>&lt;html&gt;<br /> &lt;body style="color:#275856; font-family: Arial, sans-serif;"&gt;</code>
+    </p>
 
     <p><i>html.end.layout</i>:<br />
-    <code>&lt;/BODY&gt;<br />
-     &lt;/HTML&gt;</code></p>
+    <code>&lt;/body&gt;<br />&lt;/html&gt;</code></p>
 
     <p>The file <i>html.layout</i> provides the <i>default</i>
     template for exporting one single entry. If you want to use
     referred in the curly braces is defined for the entry being
     exported.</p>
 
-    <p>A conditional block can also be dependent on more than one field. In this case
-    the contents of the block are printed only if all the fields are defined. To make
-    such a block, simply give the list of fields separated by semicolons. For instance,
-    to output text only if both <code>year</code> and <code>month</code> are set, use
-    a block like the following:</p>
-
-    <p><code>\begin{year;month}Month: \format[HTMLChars]{\month}\end{year;month}</code></p>
-
-    <p>which will print "Month: " plus the contents of the <code>month</code> field, but
-    only if also the <code>year</code> field is defined.</p>
+    <p>A conditional block can also be dependent on more than one field, and the content is only printed when simple boolean conditions are satisfied. Two boolean operator are provided:</p>
+    <ul>
+       <li>AND operator : <code>&amp;</code>, <code>&amp;&amp;</code></li>
+       <li>OR operator : <code>|</code>, <code>||</code></li>
+    </ul>
+    <p>To output text only if both <code>year</code> and <code>month</code> are set, use a block like the following:<br/><br/> <code>\begin{year&amp;&amp;month}Month: \format[HTMLChars]{\month}\end{year&amp;&amp;month}</code><br/><br/>which will print "Month: " plus the contents of the <code>month</code> field, but only if also the <code>year</code> field is defined.</p>
 
     <p><b>Note:</b> Use of the <code>\begin</code> and
     <code>\end</code> commands is a key to creating layout files
     distribute a collection of submitted layout files, or to add to
     the selection of standard export filters and formatters.</p>
 
-    <p>Starting with JabRef 2.4b1 you can also package your
+    <p>Starting with JabRef 2.4 you can also package your 
        ExportFormat or LayoutFormatter as a plug-in. If you do so,
        you can provide a single zip-file to other user to make use
        of your ExportFormat. For an example download the JabRef
 
     <h2>Built-in export formatters</h2>
 
-    <p>JabRef provides the following set of formatters, some of
-    which depend on the others:</p>
+    <p>JabRef provides the following set of formatters:</p>
 
     <ul>
+        <li><code>Authors</code> : this formatter provides formatting options for the author and editor fields; for detailed information, see below. It deprecates a range of dedicated formatters provided in versions of JabRef prior to 2.7.</li>
 
-        <li><code>AuthorAbbreviator</code> or <code>AuthorLastFirstAbbreviator</code>
-            : abbreviates first and middle names of all authors. This formatter
-        returns names with the last name first. Follow this formatter with
-        AuthorFirstFirst to get abbreviated names with the initials first.</li>
-
-        <li><code>AuthorAndsCommaReplacer</code> : replaces "and"
-        between names with ",", and "&amp;" between the last
-        two.</li>
-
-        <li><code>AuthorAndsReplacer</code> : replaces "and"
-        between names with ";", and "&amp;" between the last
-        two.</li>
-
-        <li><code>AuthorFirstFirst</code> : formats author/editor
-        fields with the first names first.</li>
-
-        <li><code>AuthorFirstFirstCommas</code> or <code>AuthorFirstLastCommas</code>
-        : formats author/editor fields with the first names first, delimited by
-        commas, with "and" between the last two names.</li>
-
-        <li><code>AuthorFirstLastOxfordCommas</code> : similar
-        to <code>AuthorFirstLastCommas</code>, except that the "and"
-        between the last two names is preceded by a comma.</li>
-
-        <li><code>AuthorFirstAbbrLastCommas</code> : formats
-        author/editor fields with abbreviated first names first, delimited by
-        commas, with "and" between the last two names.</li>
-
-        <li><code>AuthorFirstAbbrLastOxfordCommas</code> : similar
-        to <code>AuthorFirstAbbrLastCommas</code>, except that the "and"
-        between the last two names is preceded by a comma.</li>
-
-        <li><code>AuthorLastFirst</code> : formats author/editor
-        fields with the last names first.</li>
-
-        <li><code>AuthorLastFirstAbbrCommas</code> : formats
-        author/editor fields with last names first and abbreviated first names
-        last, delimited by commas, with "and" between the last two names.</li>
-
-        <li><code>AuthorLastFirstAbbrOxfordCommas</code> : similar
-        to <code>AuthorLastFirstAbbrCommas</code>, except that the "and"
-        between the last two names is preceded by a comma.</li>
-
-        <li><code>AuthorLastFirstCommas</code> : formats
-        author/editor fields with the last names first, delimited by
-        commas, with "and" between the last two names.</li>
-
-        <li><code>AuthorLastFirstOxfordCommas</code> : similar
-        to <code>AuthorLastFirstCommas</code>, except that the "and"
-        between the last two names is preceded by a comma.</li>
-
-        <li><code>AuthorLF_FF</code> : formats
-        author/editor fields with last name first for the first author,
-        and the first name first for the remaining authors. Returns
-        names delimited with "and".</li>
-
-        <li><code>AuthorLF_FFAbbr</code> : same as <code>AuthorLF_FF</code>,
-        but abbreviates first names.</li>
-                
-        <li><code>AuthorNatBib</code> : formats author names in
-        NatBib style, with last names only, separating names by
-        "and" if there are two authors, and giving the first author
-        followed by "et al." if there are more than two
-        authors.</li>
-
-        <li><code>AuthorOrgSci</code> : first author is in "last,
-        first" all others in "first last". First names are
-        abbreviated.</li>
+               <li><code>CreateBibORDFAuthors</code> : formats authors for according to the requirements of the Bibliographic Ontology (bibo).</li>
 
         <li><code>CreateDocBookAuthors</code> : formats the author
         field in DocBook style.</li>
 
-        <li><code>CreateDocBookEditors</code> : to be
-        documented.</li>
+        <li><code>CreateDocBookEditors</code> : formats the editor field in DocBook style. </li>
 
         <li><code>CurrentDate</code> : outputs the current date.
         With no argument, this formatter outputs the current date
         If the string to format is non-empty, it is output without changes. If it is empty,
         the default value is output. For instance, <code>\format[Default(unknown)]{\year}</code>
         will output the entry's year if set, and "unknown" if no year is set.</li>
+       
+        <li><code>DOIStrip</code> : strips any prefixes from the DOI string.</li>
+        <li><code>DOICheck</code> : provides the full url for a DOI link.</li>
 
         <li><code>FileLink(filetype)</code> : if no argument is given, this formatter outputs
         the first external file link encoded in the field. To work, the formatter must
         <li><code>FirstPage</code> : returns the first page from the "pages" field, if set.
             For instance, if the pages field is set to "345-360" or "345--360",
             this formatter will return "345".</li>
+            
+        <li><code>FormatChars</code> : This formatter converts LaTeX character sequences 
+        their equicalent unicode characters and removes other LaTeX commands without
+        handling them.</li>
 
-        <li><code>FormatPagesForHTML</code> : replaces "--" with
-        "-".</li>
+        <li><code>FormatPagesForHTML</code> : replaces "--" with "-".</li>
 
-        <li><code>FormatPagesForXML</code> : replaces "--" with an
-        XML en-dash.</li>
+        <li><code>FormatPagesForXML</code> : replaces "--" with an XML en-dash.</li>
 
         <li><code>GetOpenOfficeType</code> : returns the number used by the OpenOffice.org
         bibliography system (versions 1.x and 2.x) to denote the type of this entry.</li>
         consecutive newlines (e.g. \n \n) as the beginning of a new
         paragraph and creates paragraph-html-tags accordingly.</li>
 
+        <li><code>IfPlural</code> : outputs its first argument if the input field looks
+        like an author list with two or more names, or its second argument otherwise.
+        E.g. <code>\format[IfPlural(Eds.,Ed.)]{\editor}</code> will output "Eds." if there
+        is more than one editor, and "Ed." if there is only one.</li>
+        
+        <li><code>JournalAbbreviator</code> : The given input text is abbreviated according to the journal abbreviation lists.
+               If no abbreviation for input is found (e.g. not in list or already abbreviated), the input will be returned unmodified.
+               For instance, when using <code>\format[JournalAbbreviator]{\journal}</code>, 
+               "Physical Review Letters" gets "Phys. Rev. Lett." </li>
+
         <li><code>LastPage</code> : returns the last page from the "pages" field, if set.
             For instance, if the pages field is set to "345-360" or "345--360",
             this formatter will return "360".</li>
-
-        <li><code>NoSpaceBetweenAbbreviations</code> : spaces
-        between multiple abbreviated first names are removed.</li>
-
+            
+        <li><code>NoSpaceBetweenAbbreviations</code> :  LayoutFormatter that removes
+        the space between abbreviated First names. Example: J. R. R. Tolkien becomes J.R.R. Tolkien.</li>
+        
+        <li><code>NotFoundFormatter</code> : Formatter used to signal that a formatter hasn't been found.
+        This can be used for graceful degradation if a layout uses an undefined format.</li>
         <li><code>Number</code> : outputs the 1-based sequence number of the current entry in the
         current export. This formatter can be used to make a numbered list of entries. The
         sequence number depends on the current entry's place in the current sort order, not on
 
         <li><code>RemoveBrackets</code> : removes all curly brackets "{" or "}".</li>
 
-        <li><code>RemoveBracketsAddComma</code> : to be
-        documented.</li>
+        <li><code>RemoveBracketsAddComma</code> : removes all curly brackets "{" or "}". The closing curly bracket
+        is replaced by a comma.</li>
 
         <li><code>RemoveLatexCommands</code> : removes LaTeX
         commands like <code>\em</code>, <code>\textbf</code>, etc.
 
         <li><code>RemoveTilde</code> : replaces the tilde character
         used in LaTeX as a non-breakable space by a regular space.
-        Useful in combination with the NameFormatter discussed in
+        Useful in combination with the <a href="#NameFormatter">NameFormatter</a> discussed in
         the next section.</li>
 
         <li><code>RemoveWhitespace</code> : removes all whitespace characters.</li>
         <li><code>Replace(regexp,replacewith)</code> : does a regular expression replacement.
         To use this formatter, a two-part argument must be given. The parts are
         separated by a comma. To indicate the comma character, use an escape
-        sequence: \,<br>&nbsp;<br>
-        The first part is the regular expression to search for. The regular expression
-        is written normally, without extra escape sequences for backslashes. A description
-        of Java regular expressions can be found at:<br>
+        sequence: \,<br/>&nbsp;<br/>
+        The first part is the regular expression to search for. Remember that any commma
+        character must be preceded by a backslash, and consequently a literal backslash must
+        be written as a pair of backslashes. A description of Java regular expressions can be
+        found at:<br/>
         &nbsp;http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
-         <br>&nbsp;<br>
+         <br/>&nbsp;<br/>
         The second part is the text to replace all matches with.</li>
 
+               <li><code>RisAuthors</code> : to be documented.</li>
+               <li><code>RisKeywords</code> : to be documented.</li>
+               <li><code>RisMonth</code> : to be documented.</li>
+
         <li><code>RTFChars</code> : replaces TeX-specific special
         characters (e.g. {\^a} or {\"{o}}) with their RTF
         representations, and translates LaTeX commands \emph, \textit,
         characters (e.g. {\^a} or {\"{o}}) with their XML
         representations.</li>
 
-
-
     </ul>
 
-    <h3>The <code>WrapFileLinks</code> formatter</h3>
-
-    This formatter iterates over all file links, or all file links of a specified
-    type, outputting a format string given as the first argument. The format string
-    can contain a number of escape sequences indicating file link information to
-    be inserted into the string.
-    <p/>
-    This formatter can take an optional second argument specifying the name of a file
-    type. If specified, the iteration will only include those files with a file type
-    matching the given name (case-insensitively). If specified as an empty argument,
-    all file links will be included.
-    <p/>
-    After the second argument, pairs of additional arguments can be added in order to
-    specify regular expression replacements to be done upon the inserted link information
-    before insertion into the output string. A non-paired argument will be ignored.
-    In order to specify replacements without filtering on file types, use an empty second
-    argument.
-    <p/>
-    The escape sequences for embedding information are as follows:
-    <p/>
-    \i   : This inserts the iteration index (starting from 1), and can be useful if
-    the output list of files should be enumerated.<br>
-    \p   : This inserts the file path of the file link.<br>
-    \f   : This inserts the name of the file link's type.<br>
-    \x   : This inserts the file's extension, if any.<br>
-    \d   : This inserts the file link's description, if any.<br>
-    <p/>
-    For instance, an entry could contain a file link to the file "/home/john/report.pdf"
-    of the "PDF" type with description "John's final report".
-    <p/>
-    Using the WrapFileLinks formatter with the following argument:
-    <p/>
-    \format[WrapFileLinks(\i. \d (\p))]{\file}
-    <p/>
-    would give the following output:<br>
-    <pre>1. John's final report (/home/john/report.pdf)</pre>
-    <p/>
-    If the entry contained a second file link to the file "/home/john/draft.txt" of the
-    "Text file" type with description 'An early "draft"', the output would be as follows:<br>
-    <pre>1. John's final report (/home/john/report.pdf)</pre>
-    <pre>2. An early "draft" (/home/john/draft.txt)</pre>
-    <p/>
-    If the formatter was called with a second argument, the list would be filtered.
-    For instance:<br>
-    <pre>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</pre>
-    <p/>
-    would show only the text file:<br>
-    <pre>1. An early "draft" (/home/john/draft.txt)</pre>
-    <p/>
-    If we wanted this output to be part of an XML styled output, the quotes in the
-    file description could cause problems. Adding two additional arguments to translate
-    the quotes into XML characters solves this:<br>
-    \format[WrapFileLinks(\i. \d (\p),,text file,",&quot;)]{\file}
-    <p/>
-    would give the following output:<br>
-    <pre>1. An early &quot;draft&quot; (/home/john/draft.txt)</pre>
-    <p/>Additional pairs of replacements could be added.
+<h3>The <code>Authors</code> formatter</h3>
+
+<p>To accommodate for the numerous citation styles, the <code>Authors</code> formatter allows flexible control over the layout of the author list. The formatter takes a comma-separated list of options, by which the default values can be overridden. The following option/value pairs are currently available, where the default values are given in curly brackets.</p>
+<dl>
+<dt><code>AuthorSort = [ {FirstFirst} | LastFirst | LastFirstFirstFirst ]</code></dt>
+<dd>specifies the order in which the author names are formatted.
+       <ul>
+               <li><code>FirstFirst</code> : first names are followed by the surname.</li>
+               <li><code>LastFirst</code> : the authors' surnames are followed by their first names, separated by a comma.</li>                
+               <li><code>LastFirstFirstFirst</code> : the first author is formatted as LastFirst, the subsequent authors as FirstFirst.</li>
+       </ul>
+</dd>
+
+<dt><code>AuthorAbbr = [ FullName | LastName | {Initials} | InitialsNoSpace | FirstInitial | MiddleInitial ]</code></dt>
+<dd>specifies how the author names are abbreviated.
+       <ul>
+               <li><code>FullName</code> : shows full author names; first names are not abbreviated.</li>
+               <li><code>LastName</code> : show only surnames, first names are removed.</li> 
+               <li><code>Initials</code> : all first names are abbreviated.</li> 
+               <li><code>InitialsNospace</code> : as Initials, with any spaces between initials removed.</li>
+               <li><code>FirstInitial</code> : only first initial is shown.</li> 
+               <li><code>MiddleInitial</code> : first name is shown, but all middle names are abbreviated.</li>
+       </ul>   
+</dd>
+
+<dt><code>AuthorPunc = [ {FullPunc} | NoPunc | NoComma | NoPeriod ]</code></dt>
+<dd>specifies the punctuation used in the author list when <code>AuthorAbbr</code> is used
+       <ul>
+               <li><code>FullPunc</code> : no changes are made to punctuation.</li>
+               <li><code>NoPunc</code> : all full stops and commas are removed from the author name.</li>
+               <li><code>NoComma</code> : all commas are removed from the author name.</li>
+               <li><code>NoPeriod</code> : all full stops are removed from the author name.</li>
+       </ul>   
+</dd>
+
+<dt><code>AuthorSep = [ {Comma} | And | Colon | Semicolon | Sep=&lt;string&gt; ]</code></dt>
+<dd>specifies the separator to be used between authors. Any separator can be specified, with the <code>Sep=&lt;string&gt;</code> option. Note that appropriate spaces need to be added around <code>string</code>.</dd> 
+
+<dt><code>AuthorLastSep = [ Comma | {And} | Colon | Semicolon | Amp | Oxford | LastSep=&lt;string&gt; ]</code></dt>
+<dd>specifies the last separator in the author list. Any separator can be specified, with the <code>LastSep=&lt;string&gt;</code> option. Note that appropriate spaces need to be added around <code>string</code>.</dd>
+
+<dt><code>AuthorNumber = [ {inf} | &lt;integer&gt; ]</code></dt>
+<dd>specifies the number of authors that are printed. If the number of authors exceeds the maximum specified, the authorlist is replaced by the first author (or any number specified by <code>AuthorNumberEtAl</code>), followed by <code>EtAlString</code>.</dd>
+
+<dt><code>AuthorNumberEtAl = [ {1} | &lt;integer&gt; ]</code></dt>
+<dd>specifies the number of authors that are printed if the total number of authors exceeds <code>AuthorNumber</code>.
+This argument can only be given after <code>AuthorNumber</code> has already been given.</dd>
+
+<dt><code>EtAlString = [ { et al.} | EtAl=&lt;string&gt; ]</code></dt>
+<dd>specifies the string used to replace multiple authors. Any string can be given, using <code>EtAl=&lt;string&gt;</code></dd>
+
+</dl>
+
+<p>If an option is unspecified, the default value (shown in curly brackets above) is used. Therefore, only layout options that differ from the defaults need to be specified. The order in which the options are defined is (mostly) irrelevant. So, for example,</p>
+<p><code>\format[Authors(Initials,Oxford)]{\author}</code></p>
+<p>is equivalent to</p>
+<p><code>\format[Authors(Oxford,Initials)]{\author}</code></p>
+<p>As mentioned, the order in which the options are specified is irrelevant. There is one possibility for ambiguity, and that is if both <code>AuthorSep</code> and <code>AuthorLastSep</code> are given. In that case, the first applicable value encountered would be for <code>AuthorSep</code>, and the second for <code>AuthorLastSep</code>. It is good practise to specify both when changing the default, to avoid ambiguity.</p>
+
+<h4>Examples</h4>
+<p>Given the following authors, <i>"Joe James Doe and Mary Jane and Bruce Bar and Arthur Kay"</i> ,the <code>Authors</code> formatter will give the following results:</p>
+<dl>
+<dt><code>Authors()</code>, or equivalently, <code>Authors(FirstFirst,Initials,FullPunc,Comma,And,inf,EtAl= et al.)</code></dt>
+<dd><pre>J. J. Doe, M. Jane, B. Bar and A. Kay</pre></dd>
+
+<dt><code>Authors(LastFirstFirstFirst,MiddleInitial,Semicolon)</code></dt>
+<dd><pre>Doe, Joe J.; Mary Jane; Bruce Bar and Arthur Kay</pre></dd>
+
+<dt><code>Authors(LastFirst,InitialsNoSpace,NoPunc,Oxford)</code></dt>
+<dd><pre>Doe JJ, Jane M, Bar B, and Kay A</pre></dd>
+
+<dt><code>Authors(2,EtAl= and others)</code></dt>
+<dd><pre>J. J. Doe and others</pre></dd>
+</dl>
+<p>Most commonly available citation formats should be possible with this formatter. For even more advanced options, consider using the Custom Formatters detailed below.</p>
+
+<h3>The <code>WrapFileLinks</code> formatter</h3>
+
+<p>This formatter iterates over all file links, or all file links of a specified type, outputting a format string given as the first argument. The format string can contain a number of escape sequences indicating file link information to be inserted into the string.</p>
+<p>This formatter can take an optional second argument specifying the name of a file type. If specified, the iteration will only include those files with a file type matching the given name (case-insensitively). If specified as an empty argument, all file links will be included.</p>
+<p> After the second argument, pairs of additional arguments can be added in order to specify regular expression replacements to be done upon the inserted link information before insertion into the output string. A non-paired argument will be ignored. In order to specify replacements without filtering on file types, use an empty second argument.</p>
+<p>The escape sequences for embedding information are as follows:</p>
+<ul>
+       <li><code>\i</code> : This inserts the iteration index (starting from 1), and can be useful if the output list of files should be enumerated.</li>
+       <li><code>\p</code> : This inserts the file path of the file link.</li>
+       <li><code>\f</code> : This inserts the name of the file link's type.</li>
+       <li><code>\x</code> : This inserts the file's extension, if any.</li>
+       <li><code>\d</code> : This inserts the file link's description, if any.</li>
+</ul>
+<p>For instance, an entry could contain a file link to the file "/home/john/report.pdf" of the "PDF" type with description "John's final report". Using the WrapFileLinks formatter with the following argument:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p))]{\file}</code></p>
+<p>would give the following output:</p>
+<pre>
+    1. John's final report (/home/john/report.pdf)
+
+</pre>
+<p>If the entry contained a second file link to the file "/home/john/draft.txt" of the "Text file" type with description 'An early "draft"', the output would be as follows:</p>
+<pre>
+    1. John's final report (/home/john/report.pdf)
+    2. An early "draft" (/home/john/draft.txt)
+
+</pre>
+<p>If the formatter was called with a second argument, the list would be filtered. For instance:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</code></p>
+<p> would show only the text file:</p>
+<pre>
+    1. An early "draft" (/home/john/draft.txt)
+
+</pre>
+<p>If we wanted this output to be part of an XML styled output, the quotes in the file description could cause problems. Adding two additional arguments to translate the quotes into XML characters solves this:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p),,text file,",&amp;quot;)]{\file}</code></p>
+<p>would give the following output:</p>
+<pre>
+    1. An early &quot;draft&quot; (/home/john/draft.txt)
+
+</pre>
+<p>Additional pairs of replacements could be added.</p>
 
 
     <h3>Custom formatters</h3>
-
     <p>If none of the available formatters can do what you want to
     achieve, you can add your own by implementing the
     <code>net.sf.jabref.export.layout.LayoutFormatter</code>
     the formatter must be in your classpath when running
     JabRef.</p>
 
-    <h2><a name="NameFormatter"
-       id="NameFormatter">Using Custom Name Formatters</a></h2>
+    <h2 id="NameFormatter">Using Custom Name Formatters</h2>
 
     <p>From JabRef 2.2, it is possible to define custom name
     formatters using the bibtex-sty-file syntax. This allows