Imported Upstream version 2.10+ds
[debian/jabref.git] / src / help / CustomExports.html
index 7a881329273b775eb800e7d7dfa6f6c2164d4e9d..978968e6a7f8146b292db56f3268e731c73ebf65 100644 (file)
@@ -38,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
     <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>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
         <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>
 
         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> :  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>
          <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,
 <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, followed by <code>EtAlString</code>.</dd>
+<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>
     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