==The database==
The bibTEX format is rather popular in the TEX community and even with its shortcomings it will stay around for a while. Many publication websites can export and many tools are available to work with this database format. It is rather simple and looks a bit like Lua tables. Unfortunately the content can be polluted with non-standardized TEX commands which complicates pre- or postprocessing outside TEX. In that sense a bibTEX database is often not coded neutrally. Some limitations, like the use of commands to encode accented characters root in the ascii world and can be bypassed by using utf instead (as handled somewhat in LATEX through extensions such as <tt>bibtex8</tt>).
<br/>
These three suffixes are understood by the loader. Here the dataset has the name <tt>standard</tt> and the three database files are merged, where later entries having the same tag overload previous ones. Definitions in the document source (coded in TEX speak) are also added, and they are saved for successive runs. This means that if you load and define entries, they will be known at a next run beforehand, so that references to them are independent of when loading and definitions take place.
<div style="float:left; border:thin solid greenblack;">
<span style="font-style:oblique;" > setup definition setupbtxdataset </span >
</div>
<div stilestyle="border:thin solid green;" > </div><div stile="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxdataset </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition usebtxdataset </span >
</div>
<br/>
but most publication-related commands accept optional arguments that denote the dataset and references to entries can be prefixed with a dataset identifier.. More about that later.
==Renderings==
<br/>
The rendering itself is somewhat complex to set up because we have not only many different standards but also many fields that can be set up. This means that there are several commands involved. Often there is a prescribed style to render bibliographic descriptions, for example <tt>apa</tt>. A rendering is setup and defined with:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxrendering </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxrendering </span >
</div>
<br/>
And a list of such descriptions is generated with:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition placebtxrendering </span >
</div>
<br/>
Each has its own rendering variant. To keep things simple we have their settings separated. However, these settings are shared for all rendering alternatives. In practice this is seldom a problem in a publication as only one rendering alternative will be active. If this be not sufficient, you can always group local settings in a setup and hook that into the specific rendering.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxlistvariant </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxlistvariant </span >
</div>
<br/>
The first argument is optional.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition cite </span >
</div>
<br/>
Because we are dealing with database input and because we generally need to manipulate entries, much of the work is delegated to Lua. This makes it easier to maintain and extend the code. Of course TEX still does the rendering. The typographic details are controlled by parameters but not all are used in all variants. As with most ConTEXt commands, it starts out with a general setup command:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxcitevariant </span >
</div>
<br/>
On top of that we can define instances that inherit either from a given parent or from the topmost setup.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxcitevariant </span >
</div>
<br/>
This command has two synonyms: <tt>\nocite</tt> and <tt>\nocitation</tt> so you can choose whatever fits you best.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition nocite </span >
</div>